tags

package
v4.21.0 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TagBinding added in v4.21.0

type TagBinding struct {
	pulumi.CustomResourceState

	// The generated id for the TagBinding. This is a string of the form: 'tagBindings/{full-resource-name}/{tag-value-name}'
	Name pulumi.StringOutput `pulumi:"name"`
	// The full resource name of the resource the TagValue is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123
	Parent pulumi.StringOutput `pulumi:"parent"`
	// The TagValue of the TagBinding. Must be of the form tagValues/456.
	TagValue pulumi.StringOutput `pulumi:"tagValue"`
}

A TagBinding represents a connection between a TagValue and a cloud resource (currently project, folder, or organization). Once a TagBinding is created, the TagValue is applied to all the descendants of the cloud resource.

To get more information about TagBinding, see:

* [API documentation](https://cloud.google.com/resource-manager/reference/rest/v3/tagBindings) * How-to Guides

## Example Usage ### Tag Binding Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
			OrgId:     pulumi.String("123456789"),
			ProjectId: pulumi.String("project_id"),
		})
		if err != nil {
			return err
		}
		key, err := tags.NewTagKey(ctx, "key", &tags.TagKeyArgs{
			Description: pulumi.String("For keyname resources."),
			Parent:      pulumi.String("organizations/123456789"),
			ShortName:   pulumi.String("keyname"),
		})
		if err != nil {
			return err
		}
		value, err := tags.NewTagValue(ctx, "value", &tags.TagValueArgs{
			Description: pulumi.String("For valuename resources."),
			Parent: key.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "tagKeys/", name), nil
			}).(pulumi.StringOutput),
			ShortName: pulumi.String("valuename"),
		})
		if err != nil {
			return err
		}
		_, err = tags.NewTagBinding(ctx, "binding", &tags.TagBindingArgs{
			Parent: project.Number.ApplyT(func(number string) (string, error) {
				return fmt.Sprintf("%v%v", "//cloudresourcemanager.googleapis.com/projects/", number), nil
			}).(pulumi.StringOutput),
			TagValue: value.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "tagValues/", name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

TagBinding can be imported using any of these accepted formats

```sh

$ pulumi import gcp:tags/tagBinding:TagBinding default tagBindings/{{name}}

```

```sh

$ pulumi import gcp:tags/tagBinding:TagBinding default {{name}}

```

func GetTagBinding added in v4.21.0

func GetTagBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagBindingState, opts ...pulumi.ResourceOption) (*TagBinding, error)

GetTagBinding gets an existing TagBinding 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 NewTagBinding added in v4.21.0

func NewTagBinding(ctx *pulumi.Context,
	name string, args *TagBindingArgs, opts ...pulumi.ResourceOption) (*TagBinding, error)

NewTagBinding registers a new resource with the given unique name, arguments, and options.

func (*TagBinding) ElementType added in v4.21.0

func (*TagBinding) ElementType() reflect.Type

func (*TagBinding) ToTagBindingOutput added in v4.21.0

func (i *TagBinding) ToTagBindingOutput() TagBindingOutput

func (*TagBinding) ToTagBindingOutputWithContext added in v4.21.0

func (i *TagBinding) ToTagBindingOutputWithContext(ctx context.Context) TagBindingOutput

func (*TagBinding) ToTagBindingPtrOutput added in v4.21.0

func (i *TagBinding) ToTagBindingPtrOutput() TagBindingPtrOutput

func (*TagBinding) ToTagBindingPtrOutputWithContext added in v4.21.0

func (i *TagBinding) ToTagBindingPtrOutputWithContext(ctx context.Context) TagBindingPtrOutput

type TagBindingArgs added in v4.21.0

type TagBindingArgs struct {
	// The full resource name of the resource the TagValue is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123
	Parent pulumi.StringInput
	// The TagValue of the TagBinding. Must be of the form tagValues/456.
	TagValue pulumi.StringInput
}

The set of arguments for constructing a TagBinding resource.

func (TagBindingArgs) ElementType added in v4.21.0

func (TagBindingArgs) ElementType() reflect.Type

type TagBindingArray added in v4.21.0

type TagBindingArray []TagBindingInput

func (TagBindingArray) ElementType added in v4.21.0

func (TagBindingArray) ElementType() reflect.Type

func (TagBindingArray) ToTagBindingArrayOutput added in v4.21.0

func (i TagBindingArray) ToTagBindingArrayOutput() TagBindingArrayOutput

func (TagBindingArray) ToTagBindingArrayOutputWithContext added in v4.21.0

func (i TagBindingArray) ToTagBindingArrayOutputWithContext(ctx context.Context) TagBindingArrayOutput

type TagBindingArrayInput added in v4.21.0

type TagBindingArrayInput interface {
	pulumi.Input

	ToTagBindingArrayOutput() TagBindingArrayOutput
	ToTagBindingArrayOutputWithContext(context.Context) TagBindingArrayOutput
}

TagBindingArrayInput is an input type that accepts TagBindingArray and TagBindingArrayOutput values. You can construct a concrete instance of `TagBindingArrayInput` via:

TagBindingArray{ TagBindingArgs{...} }

type TagBindingArrayOutput added in v4.21.0

type TagBindingArrayOutput struct{ *pulumi.OutputState }

func (TagBindingArrayOutput) ElementType added in v4.21.0

func (TagBindingArrayOutput) ElementType() reflect.Type

func (TagBindingArrayOutput) Index added in v4.21.0

func (TagBindingArrayOutput) ToTagBindingArrayOutput added in v4.21.0

func (o TagBindingArrayOutput) ToTagBindingArrayOutput() TagBindingArrayOutput

func (TagBindingArrayOutput) ToTagBindingArrayOutputWithContext added in v4.21.0

func (o TagBindingArrayOutput) ToTagBindingArrayOutputWithContext(ctx context.Context) TagBindingArrayOutput

type TagBindingInput added in v4.21.0

type TagBindingInput interface {
	pulumi.Input

	ToTagBindingOutput() TagBindingOutput
	ToTagBindingOutputWithContext(ctx context.Context) TagBindingOutput
}

type TagBindingMap added in v4.21.0

type TagBindingMap map[string]TagBindingInput

func (TagBindingMap) ElementType added in v4.21.0

func (TagBindingMap) ElementType() reflect.Type

func (TagBindingMap) ToTagBindingMapOutput added in v4.21.0

func (i TagBindingMap) ToTagBindingMapOutput() TagBindingMapOutput

func (TagBindingMap) ToTagBindingMapOutputWithContext added in v4.21.0

func (i TagBindingMap) ToTagBindingMapOutputWithContext(ctx context.Context) TagBindingMapOutput

type TagBindingMapInput added in v4.21.0

type TagBindingMapInput interface {
	pulumi.Input

	ToTagBindingMapOutput() TagBindingMapOutput
	ToTagBindingMapOutputWithContext(context.Context) TagBindingMapOutput
}

TagBindingMapInput is an input type that accepts TagBindingMap and TagBindingMapOutput values. You can construct a concrete instance of `TagBindingMapInput` via:

TagBindingMap{ "key": TagBindingArgs{...} }

type TagBindingMapOutput added in v4.21.0

type TagBindingMapOutput struct{ *pulumi.OutputState }

func (TagBindingMapOutput) ElementType added in v4.21.0

func (TagBindingMapOutput) ElementType() reflect.Type

func (TagBindingMapOutput) MapIndex added in v4.21.0

func (TagBindingMapOutput) ToTagBindingMapOutput added in v4.21.0

func (o TagBindingMapOutput) ToTagBindingMapOutput() TagBindingMapOutput

func (TagBindingMapOutput) ToTagBindingMapOutputWithContext added in v4.21.0

func (o TagBindingMapOutput) ToTagBindingMapOutputWithContext(ctx context.Context) TagBindingMapOutput

type TagBindingOutput added in v4.21.0

type TagBindingOutput struct {
	*pulumi.OutputState
}

func (TagBindingOutput) ElementType added in v4.21.0

func (TagBindingOutput) ElementType() reflect.Type

func (TagBindingOutput) ToTagBindingOutput added in v4.21.0

func (o TagBindingOutput) ToTagBindingOutput() TagBindingOutput

func (TagBindingOutput) ToTagBindingOutputWithContext added in v4.21.0

func (o TagBindingOutput) ToTagBindingOutputWithContext(ctx context.Context) TagBindingOutput

func (TagBindingOutput) ToTagBindingPtrOutput added in v4.21.0

func (o TagBindingOutput) ToTagBindingPtrOutput() TagBindingPtrOutput

func (TagBindingOutput) ToTagBindingPtrOutputWithContext added in v4.21.0

func (o TagBindingOutput) ToTagBindingPtrOutputWithContext(ctx context.Context) TagBindingPtrOutput

type TagBindingPtrInput added in v4.21.0

type TagBindingPtrInput interface {
	pulumi.Input

	ToTagBindingPtrOutput() TagBindingPtrOutput
	ToTagBindingPtrOutputWithContext(ctx context.Context) TagBindingPtrOutput
}

type TagBindingPtrOutput added in v4.21.0

type TagBindingPtrOutput struct {
	*pulumi.OutputState
}

func (TagBindingPtrOutput) ElementType added in v4.21.0

func (TagBindingPtrOutput) ElementType() reflect.Type

func (TagBindingPtrOutput) ToTagBindingPtrOutput added in v4.21.0

func (o TagBindingPtrOutput) ToTagBindingPtrOutput() TagBindingPtrOutput

func (TagBindingPtrOutput) ToTagBindingPtrOutputWithContext added in v4.21.0

func (o TagBindingPtrOutput) ToTagBindingPtrOutputWithContext(ctx context.Context) TagBindingPtrOutput

type TagBindingState added in v4.21.0

type TagBindingState struct {
	// The generated id for the TagBinding. This is a string of the form: 'tagBindings/{full-resource-name}/{tag-value-name}'
	Name pulumi.StringPtrInput
	// The full resource name of the resource the TagValue is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123
	Parent pulumi.StringPtrInput
	// The TagValue of the TagBinding. Must be of the form tagValues/456.
	TagValue pulumi.StringPtrInput
}

func (TagBindingState) ElementType added in v4.21.0

func (TagBindingState) ElementType() reflect.Type

type TagKey

type TagKey struct {
	pulumi.CustomResourceState

	// Output only. Creation time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
	// fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// User-assigned description of the TagKey. Must not exceed 256 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The generated numeric id for the TagKey.
	Name pulumi.StringOutput `pulumi:"name"`
	// Output only. Namespaced name of the TagKey.
	NamespacedName pulumi.StringOutput `pulumi:"namespacedName"`
	// Input only. The resource name of the new TagKey's parent. Must be of the form organizations/{org_id}.
	Parent pulumi.StringOutput `pulumi:"parent"`
	// Input only. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace.
	// The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
	ShortName pulumi.StringOutput `pulumi:"shortName"`
	// Output only. Update time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
	// digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

A TagKey, used to group a set of TagValues.

To get more information about TagKey, see:

* [API documentation](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys) * How-to Guides

## Example Usage ### Tag Key Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKey(ctx, "key", &tags.TagKeyArgs{
			Description: pulumi.String("For keyname resources."),
			Parent:      pulumi.String("organizations/123456789"),
			ShortName:   pulumi.String("keyname"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

TagKey can be imported using any of these accepted formats

```sh

$ pulumi import gcp:tags/tagKey:TagKey default tagKeys/{{name}}

```

```sh

$ pulumi import gcp:tags/tagKey:TagKey default {{name}}

```

func GetTagKey

func GetTagKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagKeyState, opts ...pulumi.ResourceOption) (*TagKey, error)

GetTagKey gets an existing TagKey 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 NewTagKey

func NewTagKey(ctx *pulumi.Context,
	name string, args *TagKeyArgs, opts ...pulumi.ResourceOption) (*TagKey, error)

NewTagKey registers a new resource with the given unique name, arguments, and options.

func (*TagKey) ElementType

func (*TagKey) ElementType() reflect.Type

func (*TagKey) ToTagKeyOutput

func (i *TagKey) ToTagKeyOutput() TagKeyOutput

func (*TagKey) ToTagKeyOutputWithContext

func (i *TagKey) ToTagKeyOutputWithContext(ctx context.Context) TagKeyOutput

func (*TagKey) ToTagKeyPtrOutput

func (i *TagKey) ToTagKeyPtrOutput() TagKeyPtrOutput

func (*TagKey) ToTagKeyPtrOutputWithContext

func (i *TagKey) ToTagKeyPtrOutputWithContext(ctx context.Context) TagKeyPtrOutput

type TagKeyArgs

type TagKeyArgs struct {
	// User-assigned description of the TagKey. Must not exceed 256 characters.
	Description pulumi.StringPtrInput
	// Input only. The resource name of the new TagKey's parent. Must be of the form organizations/{org_id}.
	Parent pulumi.StringInput
	// Input only. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace.
	// The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
	ShortName pulumi.StringInput
}

The set of arguments for constructing a TagKey resource.

func (TagKeyArgs) ElementType

func (TagKeyArgs) ElementType() reflect.Type

type TagKeyArray

type TagKeyArray []TagKeyInput

func (TagKeyArray) ElementType

func (TagKeyArray) ElementType() reflect.Type

func (TagKeyArray) ToTagKeyArrayOutput

func (i TagKeyArray) ToTagKeyArrayOutput() TagKeyArrayOutput

func (TagKeyArray) ToTagKeyArrayOutputWithContext

func (i TagKeyArray) ToTagKeyArrayOutputWithContext(ctx context.Context) TagKeyArrayOutput

type TagKeyArrayInput

type TagKeyArrayInput interface {
	pulumi.Input

	ToTagKeyArrayOutput() TagKeyArrayOutput
	ToTagKeyArrayOutputWithContext(context.Context) TagKeyArrayOutput
}

TagKeyArrayInput is an input type that accepts TagKeyArray and TagKeyArrayOutput values. You can construct a concrete instance of `TagKeyArrayInput` via:

TagKeyArray{ TagKeyArgs{...} }

type TagKeyArrayOutput

type TagKeyArrayOutput struct{ *pulumi.OutputState }

func (TagKeyArrayOutput) ElementType

func (TagKeyArrayOutput) ElementType() reflect.Type

func (TagKeyArrayOutput) Index

func (TagKeyArrayOutput) ToTagKeyArrayOutput

func (o TagKeyArrayOutput) ToTagKeyArrayOutput() TagKeyArrayOutput

func (TagKeyArrayOutput) ToTagKeyArrayOutputWithContext

func (o TagKeyArrayOutput) ToTagKeyArrayOutputWithContext(ctx context.Context) TagKeyArrayOutput

type TagKeyIamBinding added in v4.21.0

type TagKeyIamBinding struct {
	pulumi.CustomResourceState

	Condition TagKeyIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `tags.TagKeyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringOutput `pulumi:"tagKey"`
}

Three different resources help you manage your IAM policy for Tags TagKey. Each of these resources serves a different use case:

* `tags.TagKeyIamPolicy`: Authoritative. Sets the IAM policy for the tagkey and replaces any existing policy already attached. * `tags.TagKeyIamBinding`: 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 tagkey are preserved. * `tags.TagKeyIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagkey are preserved.

> **Note:** `tags.TagKeyIamPolicy` **cannot** be used in conjunction with `tags.TagKeyIamBinding` and `tags.TagKeyIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagKeyIamBinding` resources **can be** used in conjunction with `tags.TagKeyIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_key\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagKeyIamPolicy(ctx, "policy", &tags.TagKeyIamPolicyArgs{
			TagKey:     pulumi.Any(google_tags_tag_key.Key.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_key\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKeyIamBinding(ctx, "binding", &tags.TagKeyIamBindingArgs{
			TagKey: pulumi.Any(google_tags_tag_key.Key.Name),
			Role:   pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_key\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKeyIamMember(ctx, "member", &tags.TagKeyIamMemberArgs{
			TagKey: pulumi.Any(google_tags_tag_key.Key.Name),
			Role:   pulumi.String("roles/viewer"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagKeys/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagkey IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamBinding:TagKeyIamBinding editor "tagKeys/{{tag_key}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamBinding:TagKeyIamBinding editor "tagKeys/{{tag_key}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamBinding:TagKeyIamBinding editor tagKeys/{{tag_key}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagKeyIamBinding added in v4.21.0

func GetTagKeyIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagKeyIamBindingState, opts ...pulumi.ResourceOption) (*TagKeyIamBinding, error)

GetTagKeyIamBinding gets an existing TagKeyIamBinding 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 NewTagKeyIamBinding added in v4.21.0

func NewTagKeyIamBinding(ctx *pulumi.Context,
	name string, args *TagKeyIamBindingArgs, opts ...pulumi.ResourceOption) (*TagKeyIamBinding, error)

NewTagKeyIamBinding registers a new resource with the given unique name, arguments, and options.

func (*TagKeyIamBinding) ElementType added in v4.21.0

func (*TagKeyIamBinding) ElementType() reflect.Type

func (*TagKeyIamBinding) ToTagKeyIamBindingOutput added in v4.21.0

func (i *TagKeyIamBinding) ToTagKeyIamBindingOutput() TagKeyIamBindingOutput

func (*TagKeyIamBinding) ToTagKeyIamBindingOutputWithContext added in v4.21.0

func (i *TagKeyIamBinding) ToTagKeyIamBindingOutputWithContext(ctx context.Context) TagKeyIamBindingOutput

func (*TagKeyIamBinding) ToTagKeyIamBindingPtrOutput added in v4.21.0

func (i *TagKeyIamBinding) ToTagKeyIamBindingPtrOutput() TagKeyIamBindingPtrOutput

func (*TagKeyIamBinding) ToTagKeyIamBindingPtrOutputWithContext added in v4.21.0

func (i *TagKeyIamBinding) ToTagKeyIamBindingPtrOutputWithContext(ctx context.Context) TagKeyIamBindingPtrOutput

type TagKeyIamBindingArgs added in v4.21.0

type TagKeyIamBindingArgs struct {
	Condition TagKeyIamBindingConditionPtrInput
	Members   pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `tags.TagKeyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringInput
}

The set of arguments for constructing a TagKeyIamBinding resource.

func (TagKeyIamBindingArgs) ElementType added in v4.21.0

func (TagKeyIamBindingArgs) ElementType() reflect.Type

type TagKeyIamBindingArray added in v4.21.0

type TagKeyIamBindingArray []TagKeyIamBindingInput

func (TagKeyIamBindingArray) ElementType added in v4.21.0

func (TagKeyIamBindingArray) ElementType() reflect.Type

func (TagKeyIamBindingArray) ToTagKeyIamBindingArrayOutput added in v4.21.0

func (i TagKeyIamBindingArray) ToTagKeyIamBindingArrayOutput() TagKeyIamBindingArrayOutput

func (TagKeyIamBindingArray) ToTagKeyIamBindingArrayOutputWithContext added in v4.21.0

func (i TagKeyIamBindingArray) ToTagKeyIamBindingArrayOutputWithContext(ctx context.Context) TagKeyIamBindingArrayOutput

type TagKeyIamBindingArrayInput added in v4.21.0

type TagKeyIamBindingArrayInput interface {
	pulumi.Input

	ToTagKeyIamBindingArrayOutput() TagKeyIamBindingArrayOutput
	ToTagKeyIamBindingArrayOutputWithContext(context.Context) TagKeyIamBindingArrayOutput
}

TagKeyIamBindingArrayInput is an input type that accepts TagKeyIamBindingArray and TagKeyIamBindingArrayOutput values. You can construct a concrete instance of `TagKeyIamBindingArrayInput` via:

TagKeyIamBindingArray{ TagKeyIamBindingArgs{...} }

type TagKeyIamBindingArrayOutput added in v4.21.0

type TagKeyIamBindingArrayOutput struct{ *pulumi.OutputState }

func (TagKeyIamBindingArrayOutput) ElementType added in v4.21.0

func (TagKeyIamBindingArrayOutput) Index added in v4.21.0

func (TagKeyIamBindingArrayOutput) ToTagKeyIamBindingArrayOutput added in v4.21.0

func (o TagKeyIamBindingArrayOutput) ToTagKeyIamBindingArrayOutput() TagKeyIamBindingArrayOutput

func (TagKeyIamBindingArrayOutput) ToTagKeyIamBindingArrayOutputWithContext added in v4.21.0

func (o TagKeyIamBindingArrayOutput) ToTagKeyIamBindingArrayOutputWithContext(ctx context.Context) TagKeyIamBindingArrayOutput

type TagKeyIamBindingCondition added in v4.21.0

type TagKeyIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type TagKeyIamBindingConditionArgs added in v4.21.0

type TagKeyIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (TagKeyIamBindingConditionArgs) ElementType added in v4.21.0

func (TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionOutput added in v4.21.0

func (i TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionOutput() TagKeyIamBindingConditionOutput

func (TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionOutputWithContext added in v4.21.0

func (i TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionOutputWithContext(ctx context.Context) TagKeyIamBindingConditionOutput

func (TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionPtrOutput added in v4.21.0

func (i TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionPtrOutput() TagKeyIamBindingConditionPtrOutput

func (TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionPtrOutputWithContext added in v4.21.0

func (i TagKeyIamBindingConditionArgs) ToTagKeyIamBindingConditionPtrOutputWithContext(ctx context.Context) TagKeyIamBindingConditionPtrOutput

type TagKeyIamBindingConditionInput added in v4.21.0

type TagKeyIamBindingConditionInput interface {
	pulumi.Input

	ToTagKeyIamBindingConditionOutput() TagKeyIamBindingConditionOutput
	ToTagKeyIamBindingConditionOutputWithContext(context.Context) TagKeyIamBindingConditionOutput
}

TagKeyIamBindingConditionInput is an input type that accepts TagKeyIamBindingConditionArgs and TagKeyIamBindingConditionOutput values. You can construct a concrete instance of `TagKeyIamBindingConditionInput` via:

TagKeyIamBindingConditionArgs{...}

type TagKeyIamBindingConditionOutput added in v4.21.0

type TagKeyIamBindingConditionOutput struct{ *pulumi.OutputState }

func (TagKeyIamBindingConditionOutput) Description added in v4.21.0

func (TagKeyIamBindingConditionOutput) ElementType added in v4.21.0

func (TagKeyIamBindingConditionOutput) Expression added in v4.21.0

func (TagKeyIamBindingConditionOutput) Title added in v4.21.0

func (TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionOutput added in v4.21.0

func (o TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionOutput() TagKeyIamBindingConditionOutput

func (TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionOutputWithContext added in v4.21.0

func (o TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionOutputWithContext(ctx context.Context) TagKeyIamBindingConditionOutput

func (TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionPtrOutput added in v4.21.0

func (o TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionPtrOutput() TagKeyIamBindingConditionPtrOutput

func (TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionPtrOutputWithContext added in v4.21.0

func (o TagKeyIamBindingConditionOutput) ToTagKeyIamBindingConditionPtrOutputWithContext(ctx context.Context) TagKeyIamBindingConditionPtrOutput

type TagKeyIamBindingConditionPtrInput added in v4.21.0

type TagKeyIamBindingConditionPtrInput interface {
	pulumi.Input

	ToTagKeyIamBindingConditionPtrOutput() TagKeyIamBindingConditionPtrOutput
	ToTagKeyIamBindingConditionPtrOutputWithContext(context.Context) TagKeyIamBindingConditionPtrOutput
}

TagKeyIamBindingConditionPtrInput is an input type that accepts TagKeyIamBindingConditionArgs, TagKeyIamBindingConditionPtr and TagKeyIamBindingConditionPtrOutput values. You can construct a concrete instance of `TagKeyIamBindingConditionPtrInput` via:

        TagKeyIamBindingConditionArgs{...}

or:

        nil

func TagKeyIamBindingConditionPtr added in v4.21.0

type TagKeyIamBindingConditionPtrOutput added in v4.21.0

type TagKeyIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (TagKeyIamBindingConditionPtrOutput) Description added in v4.21.0

func (TagKeyIamBindingConditionPtrOutput) Elem added in v4.21.0

func (TagKeyIamBindingConditionPtrOutput) ElementType added in v4.21.0

func (TagKeyIamBindingConditionPtrOutput) Expression added in v4.21.0

func (TagKeyIamBindingConditionPtrOutput) Title added in v4.21.0

func (TagKeyIamBindingConditionPtrOutput) ToTagKeyIamBindingConditionPtrOutput added in v4.21.0

func (o TagKeyIamBindingConditionPtrOutput) ToTagKeyIamBindingConditionPtrOutput() TagKeyIamBindingConditionPtrOutput

func (TagKeyIamBindingConditionPtrOutput) ToTagKeyIamBindingConditionPtrOutputWithContext added in v4.21.0

func (o TagKeyIamBindingConditionPtrOutput) ToTagKeyIamBindingConditionPtrOutputWithContext(ctx context.Context) TagKeyIamBindingConditionPtrOutput

type TagKeyIamBindingInput added in v4.21.0

type TagKeyIamBindingInput interface {
	pulumi.Input

	ToTagKeyIamBindingOutput() TagKeyIamBindingOutput
	ToTagKeyIamBindingOutputWithContext(ctx context.Context) TagKeyIamBindingOutput
}

type TagKeyIamBindingMap added in v4.21.0

type TagKeyIamBindingMap map[string]TagKeyIamBindingInput

func (TagKeyIamBindingMap) ElementType added in v4.21.0

func (TagKeyIamBindingMap) ElementType() reflect.Type

func (TagKeyIamBindingMap) ToTagKeyIamBindingMapOutput added in v4.21.0

func (i TagKeyIamBindingMap) ToTagKeyIamBindingMapOutput() TagKeyIamBindingMapOutput

func (TagKeyIamBindingMap) ToTagKeyIamBindingMapOutputWithContext added in v4.21.0

func (i TagKeyIamBindingMap) ToTagKeyIamBindingMapOutputWithContext(ctx context.Context) TagKeyIamBindingMapOutput

type TagKeyIamBindingMapInput added in v4.21.0

type TagKeyIamBindingMapInput interface {
	pulumi.Input

	ToTagKeyIamBindingMapOutput() TagKeyIamBindingMapOutput
	ToTagKeyIamBindingMapOutputWithContext(context.Context) TagKeyIamBindingMapOutput
}

TagKeyIamBindingMapInput is an input type that accepts TagKeyIamBindingMap and TagKeyIamBindingMapOutput values. You can construct a concrete instance of `TagKeyIamBindingMapInput` via:

TagKeyIamBindingMap{ "key": TagKeyIamBindingArgs{...} }

type TagKeyIamBindingMapOutput added in v4.21.0

type TagKeyIamBindingMapOutput struct{ *pulumi.OutputState }

func (TagKeyIamBindingMapOutput) ElementType added in v4.21.0

func (TagKeyIamBindingMapOutput) ElementType() reflect.Type

func (TagKeyIamBindingMapOutput) MapIndex added in v4.21.0

func (TagKeyIamBindingMapOutput) ToTagKeyIamBindingMapOutput added in v4.21.0

func (o TagKeyIamBindingMapOutput) ToTagKeyIamBindingMapOutput() TagKeyIamBindingMapOutput

func (TagKeyIamBindingMapOutput) ToTagKeyIamBindingMapOutputWithContext added in v4.21.0

func (o TagKeyIamBindingMapOutput) ToTagKeyIamBindingMapOutputWithContext(ctx context.Context) TagKeyIamBindingMapOutput

type TagKeyIamBindingOutput added in v4.21.0

type TagKeyIamBindingOutput struct {
	*pulumi.OutputState
}

func (TagKeyIamBindingOutput) ElementType added in v4.21.0

func (TagKeyIamBindingOutput) ElementType() reflect.Type

func (TagKeyIamBindingOutput) ToTagKeyIamBindingOutput added in v4.21.0

func (o TagKeyIamBindingOutput) ToTagKeyIamBindingOutput() TagKeyIamBindingOutput

func (TagKeyIamBindingOutput) ToTagKeyIamBindingOutputWithContext added in v4.21.0

func (o TagKeyIamBindingOutput) ToTagKeyIamBindingOutputWithContext(ctx context.Context) TagKeyIamBindingOutput

func (TagKeyIamBindingOutput) ToTagKeyIamBindingPtrOutput added in v4.21.0

func (o TagKeyIamBindingOutput) ToTagKeyIamBindingPtrOutput() TagKeyIamBindingPtrOutput

func (TagKeyIamBindingOutput) ToTagKeyIamBindingPtrOutputWithContext added in v4.21.0

func (o TagKeyIamBindingOutput) ToTagKeyIamBindingPtrOutputWithContext(ctx context.Context) TagKeyIamBindingPtrOutput

type TagKeyIamBindingPtrInput added in v4.21.0

type TagKeyIamBindingPtrInput interface {
	pulumi.Input

	ToTagKeyIamBindingPtrOutput() TagKeyIamBindingPtrOutput
	ToTagKeyIamBindingPtrOutputWithContext(ctx context.Context) TagKeyIamBindingPtrOutput
}

type TagKeyIamBindingPtrOutput added in v4.21.0

type TagKeyIamBindingPtrOutput struct {
	*pulumi.OutputState
}

func (TagKeyIamBindingPtrOutput) ElementType added in v4.21.0

func (TagKeyIamBindingPtrOutput) ElementType() reflect.Type

func (TagKeyIamBindingPtrOutput) ToTagKeyIamBindingPtrOutput added in v4.21.0

func (o TagKeyIamBindingPtrOutput) ToTagKeyIamBindingPtrOutput() TagKeyIamBindingPtrOutput

func (TagKeyIamBindingPtrOutput) ToTagKeyIamBindingPtrOutputWithContext added in v4.21.0

func (o TagKeyIamBindingPtrOutput) ToTagKeyIamBindingPtrOutputWithContext(ctx context.Context) TagKeyIamBindingPtrOutput

type TagKeyIamBindingState added in v4.21.0

type TagKeyIamBindingState struct {
	Condition TagKeyIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `tags.TagKeyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringPtrInput
}

func (TagKeyIamBindingState) ElementType added in v4.21.0

func (TagKeyIamBindingState) ElementType() reflect.Type

type TagKeyIamMember added in v4.21.0

type TagKeyIamMember struct {
	pulumi.CustomResourceState

	Condition TagKeyIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `tags.TagKeyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringOutput `pulumi:"tagKey"`
}

Three different resources help you manage your IAM policy for Tags TagKey. Each of these resources serves a different use case:

* `tags.TagKeyIamPolicy`: Authoritative. Sets the IAM policy for the tagkey and replaces any existing policy already attached. * `tags.TagKeyIamBinding`: 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 tagkey are preserved. * `tags.TagKeyIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagkey are preserved.

> **Note:** `tags.TagKeyIamPolicy` **cannot** be used in conjunction with `tags.TagKeyIamBinding` and `tags.TagKeyIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagKeyIamBinding` resources **can be** used in conjunction with `tags.TagKeyIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_key\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagKeyIamPolicy(ctx, "policy", &tags.TagKeyIamPolicyArgs{
			TagKey:     pulumi.Any(google_tags_tag_key.Key.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_key\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKeyIamBinding(ctx, "binding", &tags.TagKeyIamBindingArgs{
			TagKey: pulumi.Any(google_tags_tag_key.Key.Name),
			Role:   pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_key\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKeyIamMember(ctx, "member", &tags.TagKeyIamMemberArgs{
			TagKey: pulumi.Any(google_tags_tag_key.Key.Name),
			Role:   pulumi.String("roles/viewer"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagKeys/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagkey IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamMember:TagKeyIamMember editor "tagKeys/{{tag_key}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamMember:TagKeyIamMember editor "tagKeys/{{tag_key}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamMember:TagKeyIamMember editor tagKeys/{{tag_key}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagKeyIamMember added in v4.21.0

func GetTagKeyIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagKeyIamMemberState, opts ...pulumi.ResourceOption) (*TagKeyIamMember, error)

GetTagKeyIamMember gets an existing TagKeyIamMember 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 NewTagKeyIamMember added in v4.21.0

func NewTagKeyIamMember(ctx *pulumi.Context,
	name string, args *TagKeyIamMemberArgs, opts ...pulumi.ResourceOption) (*TagKeyIamMember, error)

NewTagKeyIamMember registers a new resource with the given unique name, arguments, and options.

func (*TagKeyIamMember) ElementType added in v4.21.0

func (*TagKeyIamMember) ElementType() reflect.Type

func (*TagKeyIamMember) ToTagKeyIamMemberOutput added in v4.21.0

func (i *TagKeyIamMember) ToTagKeyIamMemberOutput() TagKeyIamMemberOutput

func (*TagKeyIamMember) ToTagKeyIamMemberOutputWithContext added in v4.21.0

func (i *TagKeyIamMember) ToTagKeyIamMemberOutputWithContext(ctx context.Context) TagKeyIamMemberOutput

func (*TagKeyIamMember) ToTagKeyIamMemberPtrOutput added in v4.21.0

func (i *TagKeyIamMember) ToTagKeyIamMemberPtrOutput() TagKeyIamMemberPtrOutput

func (*TagKeyIamMember) ToTagKeyIamMemberPtrOutputWithContext added in v4.21.0

func (i *TagKeyIamMember) ToTagKeyIamMemberPtrOutputWithContext(ctx context.Context) TagKeyIamMemberPtrOutput

type TagKeyIamMemberArgs added in v4.21.0

type TagKeyIamMemberArgs struct {
	Condition TagKeyIamMemberConditionPtrInput
	Member    pulumi.StringInput
	// The role that should be applied. Only one
	// `tags.TagKeyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringInput
}

The set of arguments for constructing a TagKeyIamMember resource.

func (TagKeyIamMemberArgs) ElementType added in v4.21.0

func (TagKeyIamMemberArgs) ElementType() reflect.Type

type TagKeyIamMemberArray added in v4.21.0

type TagKeyIamMemberArray []TagKeyIamMemberInput

func (TagKeyIamMemberArray) ElementType added in v4.21.0

func (TagKeyIamMemberArray) ElementType() reflect.Type

func (TagKeyIamMemberArray) ToTagKeyIamMemberArrayOutput added in v4.21.0

func (i TagKeyIamMemberArray) ToTagKeyIamMemberArrayOutput() TagKeyIamMemberArrayOutput

func (TagKeyIamMemberArray) ToTagKeyIamMemberArrayOutputWithContext added in v4.21.0

func (i TagKeyIamMemberArray) ToTagKeyIamMemberArrayOutputWithContext(ctx context.Context) TagKeyIamMemberArrayOutput

type TagKeyIamMemberArrayInput added in v4.21.0

type TagKeyIamMemberArrayInput interface {
	pulumi.Input

	ToTagKeyIamMemberArrayOutput() TagKeyIamMemberArrayOutput
	ToTagKeyIamMemberArrayOutputWithContext(context.Context) TagKeyIamMemberArrayOutput
}

TagKeyIamMemberArrayInput is an input type that accepts TagKeyIamMemberArray and TagKeyIamMemberArrayOutput values. You can construct a concrete instance of `TagKeyIamMemberArrayInput` via:

TagKeyIamMemberArray{ TagKeyIamMemberArgs{...} }

type TagKeyIamMemberArrayOutput added in v4.21.0

type TagKeyIamMemberArrayOutput struct{ *pulumi.OutputState }

func (TagKeyIamMemberArrayOutput) ElementType added in v4.21.0

func (TagKeyIamMemberArrayOutput) ElementType() reflect.Type

func (TagKeyIamMemberArrayOutput) Index added in v4.21.0

func (TagKeyIamMemberArrayOutput) ToTagKeyIamMemberArrayOutput added in v4.21.0

func (o TagKeyIamMemberArrayOutput) ToTagKeyIamMemberArrayOutput() TagKeyIamMemberArrayOutput

func (TagKeyIamMemberArrayOutput) ToTagKeyIamMemberArrayOutputWithContext added in v4.21.0

func (o TagKeyIamMemberArrayOutput) ToTagKeyIamMemberArrayOutputWithContext(ctx context.Context) TagKeyIamMemberArrayOutput

type TagKeyIamMemberCondition added in v4.21.0

type TagKeyIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type TagKeyIamMemberConditionArgs added in v4.21.0

type TagKeyIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (TagKeyIamMemberConditionArgs) ElementType added in v4.21.0

func (TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionOutput added in v4.21.0

func (i TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionOutput() TagKeyIamMemberConditionOutput

func (TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionOutputWithContext added in v4.21.0

func (i TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionOutputWithContext(ctx context.Context) TagKeyIamMemberConditionOutput

func (TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionPtrOutput added in v4.21.0

func (i TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionPtrOutput() TagKeyIamMemberConditionPtrOutput

func (TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionPtrOutputWithContext added in v4.21.0

func (i TagKeyIamMemberConditionArgs) ToTagKeyIamMemberConditionPtrOutputWithContext(ctx context.Context) TagKeyIamMemberConditionPtrOutput

type TagKeyIamMemberConditionInput added in v4.21.0

type TagKeyIamMemberConditionInput interface {
	pulumi.Input

	ToTagKeyIamMemberConditionOutput() TagKeyIamMemberConditionOutput
	ToTagKeyIamMemberConditionOutputWithContext(context.Context) TagKeyIamMemberConditionOutput
}

TagKeyIamMemberConditionInput is an input type that accepts TagKeyIamMemberConditionArgs and TagKeyIamMemberConditionOutput values. You can construct a concrete instance of `TagKeyIamMemberConditionInput` via:

TagKeyIamMemberConditionArgs{...}

type TagKeyIamMemberConditionOutput added in v4.21.0

type TagKeyIamMemberConditionOutput struct{ *pulumi.OutputState }

func (TagKeyIamMemberConditionOutput) Description added in v4.21.0

func (TagKeyIamMemberConditionOutput) ElementType added in v4.21.0

func (TagKeyIamMemberConditionOutput) Expression added in v4.21.0

func (TagKeyIamMemberConditionOutput) Title added in v4.21.0

func (TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionOutput added in v4.21.0

func (o TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionOutput() TagKeyIamMemberConditionOutput

func (TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionOutputWithContext added in v4.21.0

func (o TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionOutputWithContext(ctx context.Context) TagKeyIamMemberConditionOutput

func (TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionPtrOutput added in v4.21.0

func (o TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionPtrOutput() TagKeyIamMemberConditionPtrOutput

func (TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionPtrOutputWithContext added in v4.21.0

func (o TagKeyIamMemberConditionOutput) ToTagKeyIamMemberConditionPtrOutputWithContext(ctx context.Context) TagKeyIamMemberConditionPtrOutput

type TagKeyIamMemberConditionPtrInput added in v4.21.0

type TagKeyIamMemberConditionPtrInput interface {
	pulumi.Input

	ToTagKeyIamMemberConditionPtrOutput() TagKeyIamMemberConditionPtrOutput
	ToTagKeyIamMemberConditionPtrOutputWithContext(context.Context) TagKeyIamMemberConditionPtrOutput
}

TagKeyIamMemberConditionPtrInput is an input type that accepts TagKeyIamMemberConditionArgs, TagKeyIamMemberConditionPtr and TagKeyIamMemberConditionPtrOutput values. You can construct a concrete instance of `TagKeyIamMemberConditionPtrInput` via:

        TagKeyIamMemberConditionArgs{...}

or:

        nil

func TagKeyIamMemberConditionPtr added in v4.21.0

func TagKeyIamMemberConditionPtr(v *TagKeyIamMemberConditionArgs) TagKeyIamMemberConditionPtrInput

type TagKeyIamMemberConditionPtrOutput added in v4.21.0

type TagKeyIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (TagKeyIamMemberConditionPtrOutput) Description added in v4.21.0

func (TagKeyIamMemberConditionPtrOutput) Elem added in v4.21.0

func (TagKeyIamMemberConditionPtrOutput) ElementType added in v4.21.0

func (TagKeyIamMemberConditionPtrOutput) Expression added in v4.21.0

func (TagKeyIamMemberConditionPtrOutput) Title added in v4.21.0

func (TagKeyIamMemberConditionPtrOutput) ToTagKeyIamMemberConditionPtrOutput added in v4.21.0

func (o TagKeyIamMemberConditionPtrOutput) ToTagKeyIamMemberConditionPtrOutput() TagKeyIamMemberConditionPtrOutput

func (TagKeyIamMemberConditionPtrOutput) ToTagKeyIamMemberConditionPtrOutputWithContext added in v4.21.0

func (o TagKeyIamMemberConditionPtrOutput) ToTagKeyIamMemberConditionPtrOutputWithContext(ctx context.Context) TagKeyIamMemberConditionPtrOutput

type TagKeyIamMemberInput added in v4.21.0

type TagKeyIamMemberInput interface {
	pulumi.Input

	ToTagKeyIamMemberOutput() TagKeyIamMemberOutput
	ToTagKeyIamMemberOutputWithContext(ctx context.Context) TagKeyIamMemberOutput
}

type TagKeyIamMemberMap added in v4.21.0

type TagKeyIamMemberMap map[string]TagKeyIamMemberInput

func (TagKeyIamMemberMap) ElementType added in v4.21.0

func (TagKeyIamMemberMap) ElementType() reflect.Type

func (TagKeyIamMemberMap) ToTagKeyIamMemberMapOutput added in v4.21.0

func (i TagKeyIamMemberMap) ToTagKeyIamMemberMapOutput() TagKeyIamMemberMapOutput

func (TagKeyIamMemberMap) ToTagKeyIamMemberMapOutputWithContext added in v4.21.0

func (i TagKeyIamMemberMap) ToTagKeyIamMemberMapOutputWithContext(ctx context.Context) TagKeyIamMemberMapOutput

type TagKeyIamMemberMapInput added in v4.21.0

type TagKeyIamMemberMapInput interface {
	pulumi.Input

	ToTagKeyIamMemberMapOutput() TagKeyIamMemberMapOutput
	ToTagKeyIamMemberMapOutputWithContext(context.Context) TagKeyIamMemberMapOutput
}

TagKeyIamMemberMapInput is an input type that accepts TagKeyIamMemberMap and TagKeyIamMemberMapOutput values. You can construct a concrete instance of `TagKeyIamMemberMapInput` via:

TagKeyIamMemberMap{ "key": TagKeyIamMemberArgs{...} }

type TagKeyIamMemberMapOutput added in v4.21.0

type TagKeyIamMemberMapOutput struct{ *pulumi.OutputState }

func (TagKeyIamMemberMapOutput) ElementType added in v4.21.0

func (TagKeyIamMemberMapOutput) ElementType() reflect.Type

func (TagKeyIamMemberMapOutput) MapIndex added in v4.21.0

func (TagKeyIamMemberMapOutput) ToTagKeyIamMemberMapOutput added in v4.21.0

func (o TagKeyIamMemberMapOutput) ToTagKeyIamMemberMapOutput() TagKeyIamMemberMapOutput

func (TagKeyIamMemberMapOutput) ToTagKeyIamMemberMapOutputWithContext added in v4.21.0

func (o TagKeyIamMemberMapOutput) ToTagKeyIamMemberMapOutputWithContext(ctx context.Context) TagKeyIamMemberMapOutput

type TagKeyIamMemberOutput added in v4.21.0

type TagKeyIamMemberOutput struct {
	*pulumi.OutputState
}

func (TagKeyIamMemberOutput) ElementType added in v4.21.0

func (TagKeyIamMemberOutput) ElementType() reflect.Type

func (TagKeyIamMemberOutput) ToTagKeyIamMemberOutput added in v4.21.0

func (o TagKeyIamMemberOutput) ToTagKeyIamMemberOutput() TagKeyIamMemberOutput

func (TagKeyIamMemberOutput) ToTagKeyIamMemberOutputWithContext added in v4.21.0

func (o TagKeyIamMemberOutput) ToTagKeyIamMemberOutputWithContext(ctx context.Context) TagKeyIamMemberOutput

func (TagKeyIamMemberOutput) ToTagKeyIamMemberPtrOutput added in v4.21.0

func (o TagKeyIamMemberOutput) ToTagKeyIamMemberPtrOutput() TagKeyIamMemberPtrOutput

func (TagKeyIamMemberOutput) ToTagKeyIamMemberPtrOutputWithContext added in v4.21.0

func (o TagKeyIamMemberOutput) ToTagKeyIamMemberPtrOutputWithContext(ctx context.Context) TagKeyIamMemberPtrOutput

type TagKeyIamMemberPtrInput added in v4.21.0

type TagKeyIamMemberPtrInput interface {
	pulumi.Input

	ToTagKeyIamMemberPtrOutput() TagKeyIamMemberPtrOutput
	ToTagKeyIamMemberPtrOutputWithContext(ctx context.Context) TagKeyIamMemberPtrOutput
}

type TagKeyIamMemberPtrOutput added in v4.21.0

type TagKeyIamMemberPtrOutput struct {
	*pulumi.OutputState
}

func (TagKeyIamMemberPtrOutput) ElementType added in v4.21.0

func (TagKeyIamMemberPtrOutput) ElementType() reflect.Type

func (TagKeyIamMemberPtrOutput) ToTagKeyIamMemberPtrOutput added in v4.21.0

func (o TagKeyIamMemberPtrOutput) ToTagKeyIamMemberPtrOutput() TagKeyIamMemberPtrOutput

func (TagKeyIamMemberPtrOutput) ToTagKeyIamMemberPtrOutputWithContext added in v4.21.0

func (o TagKeyIamMemberPtrOutput) ToTagKeyIamMemberPtrOutputWithContext(ctx context.Context) TagKeyIamMemberPtrOutput

type TagKeyIamMemberState added in v4.21.0

type TagKeyIamMemberState struct {
	Condition TagKeyIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `tags.TagKeyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringPtrInput
}

func (TagKeyIamMemberState) ElementType added in v4.21.0

func (TagKeyIamMemberState) ElementType() reflect.Type

type TagKeyIamPolicy added in v4.21.0

type TagKeyIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringOutput `pulumi:"tagKey"`
}

Three different resources help you manage your IAM policy for Tags TagKey. Each of these resources serves a different use case:

* `tags.TagKeyIamPolicy`: Authoritative. Sets the IAM policy for the tagkey and replaces any existing policy already attached. * `tags.TagKeyIamBinding`: 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 tagkey are preserved. * `tags.TagKeyIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagkey are preserved.

> **Note:** `tags.TagKeyIamPolicy` **cannot** be used in conjunction with `tags.TagKeyIamBinding` and `tags.TagKeyIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagKeyIamBinding` resources **can be** used in conjunction with `tags.TagKeyIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_key\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagKeyIamPolicy(ctx, "policy", &tags.TagKeyIamPolicyArgs{
			TagKey:     pulumi.Any(google_tags_tag_key.Key.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_key\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKeyIamBinding(ctx, "binding", &tags.TagKeyIamBindingArgs{
			TagKey: pulumi.Any(google_tags_tag_key.Key.Name),
			Role:   pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_key\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagKeyIamMember(ctx, "member", &tags.TagKeyIamMemberArgs{
			TagKey: pulumi.Any(google_tags_tag_key.Key.Name),
			Role:   pulumi.String("roles/viewer"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagKeys/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagkey IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamPolicy:TagKeyIamPolicy editor "tagKeys/{{tag_key}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamPolicy:TagKeyIamPolicy editor "tagKeys/{{tag_key}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagKeyIamPolicy:TagKeyIamPolicy editor tagKeys/{{tag_key}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagKeyIamPolicy added in v4.21.0

func GetTagKeyIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagKeyIamPolicyState, opts ...pulumi.ResourceOption) (*TagKeyIamPolicy, error)

GetTagKeyIamPolicy gets an existing TagKeyIamPolicy 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 NewTagKeyIamPolicy added in v4.21.0

func NewTagKeyIamPolicy(ctx *pulumi.Context,
	name string, args *TagKeyIamPolicyArgs, opts ...pulumi.ResourceOption) (*TagKeyIamPolicy, error)

NewTagKeyIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*TagKeyIamPolicy) ElementType added in v4.21.0

func (*TagKeyIamPolicy) ElementType() reflect.Type

func (*TagKeyIamPolicy) ToTagKeyIamPolicyOutput added in v4.21.0

func (i *TagKeyIamPolicy) ToTagKeyIamPolicyOutput() TagKeyIamPolicyOutput

func (*TagKeyIamPolicy) ToTagKeyIamPolicyOutputWithContext added in v4.21.0

func (i *TagKeyIamPolicy) ToTagKeyIamPolicyOutputWithContext(ctx context.Context) TagKeyIamPolicyOutput

func (*TagKeyIamPolicy) ToTagKeyIamPolicyPtrOutput added in v4.21.0

func (i *TagKeyIamPolicy) ToTagKeyIamPolicyPtrOutput() TagKeyIamPolicyPtrOutput

func (*TagKeyIamPolicy) ToTagKeyIamPolicyPtrOutputWithContext added in v4.21.0

func (i *TagKeyIamPolicy) ToTagKeyIamPolicyPtrOutputWithContext(ctx context.Context) TagKeyIamPolicyPtrOutput

type TagKeyIamPolicyArgs added in v4.21.0

type TagKeyIamPolicyArgs struct {
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringInput
}

The set of arguments for constructing a TagKeyIamPolicy resource.

func (TagKeyIamPolicyArgs) ElementType added in v4.21.0

func (TagKeyIamPolicyArgs) ElementType() reflect.Type

type TagKeyIamPolicyArray added in v4.21.0

type TagKeyIamPolicyArray []TagKeyIamPolicyInput

func (TagKeyIamPolicyArray) ElementType added in v4.21.0

func (TagKeyIamPolicyArray) ElementType() reflect.Type

func (TagKeyIamPolicyArray) ToTagKeyIamPolicyArrayOutput added in v4.21.0

func (i TagKeyIamPolicyArray) ToTagKeyIamPolicyArrayOutput() TagKeyIamPolicyArrayOutput

func (TagKeyIamPolicyArray) ToTagKeyIamPolicyArrayOutputWithContext added in v4.21.0

func (i TagKeyIamPolicyArray) ToTagKeyIamPolicyArrayOutputWithContext(ctx context.Context) TagKeyIamPolicyArrayOutput

type TagKeyIamPolicyArrayInput added in v4.21.0

type TagKeyIamPolicyArrayInput interface {
	pulumi.Input

	ToTagKeyIamPolicyArrayOutput() TagKeyIamPolicyArrayOutput
	ToTagKeyIamPolicyArrayOutputWithContext(context.Context) TagKeyIamPolicyArrayOutput
}

TagKeyIamPolicyArrayInput is an input type that accepts TagKeyIamPolicyArray and TagKeyIamPolicyArrayOutput values. You can construct a concrete instance of `TagKeyIamPolicyArrayInput` via:

TagKeyIamPolicyArray{ TagKeyIamPolicyArgs{...} }

type TagKeyIamPolicyArrayOutput added in v4.21.0

type TagKeyIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (TagKeyIamPolicyArrayOutput) ElementType added in v4.21.0

func (TagKeyIamPolicyArrayOutput) ElementType() reflect.Type

func (TagKeyIamPolicyArrayOutput) Index added in v4.21.0

func (TagKeyIamPolicyArrayOutput) ToTagKeyIamPolicyArrayOutput added in v4.21.0

func (o TagKeyIamPolicyArrayOutput) ToTagKeyIamPolicyArrayOutput() TagKeyIamPolicyArrayOutput

func (TagKeyIamPolicyArrayOutput) ToTagKeyIamPolicyArrayOutputWithContext added in v4.21.0

func (o TagKeyIamPolicyArrayOutput) ToTagKeyIamPolicyArrayOutputWithContext(ctx context.Context) TagKeyIamPolicyArrayOutput

type TagKeyIamPolicyInput added in v4.21.0

type TagKeyIamPolicyInput interface {
	pulumi.Input

	ToTagKeyIamPolicyOutput() TagKeyIamPolicyOutput
	ToTagKeyIamPolicyOutputWithContext(ctx context.Context) TagKeyIamPolicyOutput
}

type TagKeyIamPolicyMap added in v4.21.0

type TagKeyIamPolicyMap map[string]TagKeyIamPolicyInput

func (TagKeyIamPolicyMap) ElementType added in v4.21.0

func (TagKeyIamPolicyMap) ElementType() reflect.Type

func (TagKeyIamPolicyMap) ToTagKeyIamPolicyMapOutput added in v4.21.0

func (i TagKeyIamPolicyMap) ToTagKeyIamPolicyMapOutput() TagKeyIamPolicyMapOutput

func (TagKeyIamPolicyMap) ToTagKeyIamPolicyMapOutputWithContext added in v4.21.0

func (i TagKeyIamPolicyMap) ToTagKeyIamPolicyMapOutputWithContext(ctx context.Context) TagKeyIamPolicyMapOutput

type TagKeyIamPolicyMapInput added in v4.21.0

type TagKeyIamPolicyMapInput interface {
	pulumi.Input

	ToTagKeyIamPolicyMapOutput() TagKeyIamPolicyMapOutput
	ToTagKeyIamPolicyMapOutputWithContext(context.Context) TagKeyIamPolicyMapOutput
}

TagKeyIamPolicyMapInput is an input type that accepts TagKeyIamPolicyMap and TagKeyIamPolicyMapOutput values. You can construct a concrete instance of `TagKeyIamPolicyMapInput` via:

TagKeyIamPolicyMap{ "key": TagKeyIamPolicyArgs{...} }

type TagKeyIamPolicyMapOutput added in v4.21.0

type TagKeyIamPolicyMapOutput struct{ *pulumi.OutputState }

func (TagKeyIamPolicyMapOutput) ElementType added in v4.21.0

func (TagKeyIamPolicyMapOutput) ElementType() reflect.Type

func (TagKeyIamPolicyMapOutput) MapIndex added in v4.21.0

func (TagKeyIamPolicyMapOutput) ToTagKeyIamPolicyMapOutput added in v4.21.0

func (o TagKeyIamPolicyMapOutput) ToTagKeyIamPolicyMapOutput() TagKeyIamPolicyMapOutput

func (TagKeyIamPolicyMapOutput) ToTagKeyIamPolicyMapOutputWithContext added in v4.21.0

func (o TagKeyIamPolicyMapOutput) ToTagKeyIamPolicyMapOutputWithContext(ctx context.Context) TagKeyIamPolicyMapOutput

type TagKeyIamPolicyOutput added in v4.21.0

type TagKeyIamPolicyOutput struct {
	*pulumi.OutputState
}

func (TagKeyIamPolicyOutput) ElementType added in v4.21.0

func (TagKeyIamPolicyOutput) ElementType() reflect.Type

func (TagKeyIamPolicyOutput) ToTagKeyIamPolicyOutput added in v4.21.0

func (o TagKeyIamPolicyOutput) ToTagKeyIamPolicyOutput() TagKeyIamPolicyOutput

func (TagKeyIamPolicyOutput) ToTagKeyIamPolicyOutputWithContext added in v4.21.0

func (o TagKeyIamPolicyOutput) ToTagKeyIamPolicyOutputWithContext(ctx context.Context) TagKeyIamPolicyOutput

func (TagKeyIamPolicyOutput) ToTagKeyIamPolicyPtrOutput added in v4.21.0

func (o TagKeyIamPolicyOutput) ToTagKeyIamPolicyPtrOutput() TagKeyIamPolicyPtrOutput

func (TagKeyIamPolicyOutput) ToTagKeyIamPolicyPtrOutputWithContext added in v4.21.0

func (o TagKeyIamPolicyOutput) ToTagKeyIamPolicyPtrOutputWithContext(ctx context.Context) TagKeyIamPolicyPtrOutput

type TagKeyIamPolicyPtrInput added in v4.21.0

type TagKeyIamPolicyPtrInput interface {
	pulumi.Input

	ToTagKeyIamPolicyPtrOutput() TagKeyIamPolicyPtrOutput
	ToTagKeyIamPolicyPtrOutputWithContext(ctx context.Context) TagKeyIamPolicyPtrOutput
}

type TagKeyIamPolicyPtrOutput added in v4.21.0

type TagKeyIamPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (TagKeyIamPolicyPtrOutput) ElementType added in v4.21.0

func (TagKeyIamPolicyPtrOutput) ElementType() reflect.Type

func (TagKeyIamPolicyPtrOutput) ToTagKeyIamPolicyPtrOutput added in v4.21.0

func (o TagKeyIamPolicyPtrOutput) ToTagKeyIamPolicyPtrOutput() TagKeyIamPolicyPtrOutput

func (TagKeyIamPolicyPtrOutput) ToTagKeyIamPolicyPtrOutputWithContext added in v4.21.0

func (o TagKeyIamPolicyPtrOutput) ToTagKeyIamPolicyPtrOutputWithContext(ctx context.Context) TagKeyIamPolicyPtrOutput

type TagKeyIamPolicyState added in v4.21.0

type TagKeyIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagKey pulumi.StringPtrInput
}

func (TagKeyIamPolicyState) ElementType added in v4.21.0

func (TagKeyIamPolicyState) ElementType() reflect.Type

type TagKeyInput

type TagKeyInput interface {
	pulumi.Input

	ToTagKeyOutput() TagKeyOutput
	ToTagKeyOutputWithContext(ctx context.Context) TagKeyOutput
}

type TagKeyMap

type TagKeyMap map[string]TagKeyInput

func (TagKeyMap) ElementType

func (TagKeyMap) ElementType() reflect.Type

func (TagKeyMap) ToTagKeyMapOutput

func (i TagKeyMap) ToTagKeyMapOutput() TagKeyMapOutput

func (TagKeyMap) ToTagKeyMapOutputWithContext

func (i TagKeyMap) ToTagKeyMapOutputWithContext(ctx context.Context) TagKeyMapOutput

type TagKeyMapInput

type TagKeyMapInput interface {
	pulumi.Input

	ToTagKeyMapOutput() TagKeyMapOutput
	ToTagKeyMapOutputWithContext(context.Context) TagKeyMapOutput
}

TagKeyMapInput is an input type that accepts TagKeyMap and TagKeyMapOutput values. You can construct a concrete instance of `TagKeyMapInput` via:

TagKeyMap{ "key": TagKeyArgs{...} }

type TagKeyMapOutput

type TagKeyMapOutput struct{ *pulumi.OutputState }

func (TagKeyMapOutput) ElementType

func (TagKeyMapOutput) ElementType() reflect.Type

func (TagKeyMapOutput) MapIndex

func (TagKeyMapOutput) ToTagKeyMapOutput

func (o TagKeyMapOutput) ToTagKeyMapOutput() TagKeyMapOutput

func (TagKeyMapOutput) ToTagKeyMapOutputWithContext

func (o TagKeyMapOutput) ToTagKeyMapOutputWithContext(ctx context.Context) TagKeyMapOutput

type TagKeyOutput

type TagKeyOutput struct {
	*pulumi.OutputState
}

func (TagKeyOutput) ElementType

func (TagKeyOutput) ElementType() reflect.Type

func (TagKeyOutput) ToTagKeyOutput

func (o TagKeyOutput) ToTagKeyOutput() TagKeyOutput

func (TagKeyOutput) ToTagKeyOutputWithContext

func (o TagKeyOutput) ToTagKeyOutputWithContext(ctx context.Context) TagKeyOutput

func (TagKeyOutput) ToTagKeyPtrOutput

func (o TagKeyOutput) ToTagKeyPtrOutput() TagKeyPtrOutput

func (TagKeyOutput) ToTagKeyPtrOutputWithContext

func (o TagKeyOutput) ToTagKeyPtrOutputWithContext(ctx context.Context) TagKeyPtrOutput

type TagKeyPtrInput

type TagKeyPtrInput interface {
	pulumi.Input

	ToTagKeyPtrOutput() TagKeyPtrOutput
	ToTagKeyPtrOutputWithContext(ctx context.Context) TagKeyPtrOutput
}

type TagKeyPtrOutput

type TagKeyPtrOutput struct {
	*pulumi.OutputState
}

func (TagKeyPtrOutput) ElementType

func (TagKeyPtrOutput) ElementType() reflect.Type

func (TagKeyPtrOutput) ToTagKeyPtrOutput

func (o TagKeyPtrOutput) ToTagKeyPtrOutput() TagKeyPtrOutput

func (TagKeyPtrOutput) ToTagKeyPtrOutputWithContext

func (o TagKeyPtrOutput) ToTagKeyPtrOutputWithContext(ctx context.Context) TagKeyPtrOutput

type TagKeyState

type TagKeyState struct {
	// Output only. Creation time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
	// fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	CreateTime pulumi.StringPtrInput
	// User-assigned description of the TagKey. Must not exceed 256 characters.
	Description pulumi.StringPtrInput
	// The generated numeric id for the TagKey.
	Name pulumi.StringPtrInput
	// Output only. Namespaced name of the TagKey.
	NamespacedName pulumi.StringPtrInput
	// Input only. The resource name of the new TagKey's parent. Must be of the form organizations/{org_id}.
	Parent pulumi.StringPtrInput
	// Input only. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace.
	// The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
	ShortName pulumi.StringPtrInput
	// Output only. Update time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
	// digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	UpdateTime pulumi.StringPtrInput
}

func (TagKeyState) ElementType

func (TagKeyState) ElementType() reflect.Type

type TagValue added in v4.19.0

type TagValue struct {
	pulumi.CustomResourceState

	// Output only. Creation time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
	// fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// User-assigned description of the TagValue. Must not exceed 256 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The generated numeric id for the TagValue.
	Name pulumi.StringOutput `pulumi:"name"`
	// Output only. Namespaced name of the TagValue. Will be in the format {organizationId}/{tag_key_short_name}/{shortName}.
	NamespacedName pulumi.StringOutput `pulumi:"namespacedName"`
	// Input only. The resource name of the new TagValue's parent. Must be of the form tagKeys/{tag_key_id}.
	Parent pulumi.StringOutput `pulumi:"parent"`
	// Input only. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey.
	// The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
	ShortName pulumi.StringOutput `pulumi:"shortName"`
	// Output only. Update time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
	// digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

A TagValue is a child of a particular TagKey. TagValues are used to group cloud resources for the purpose of controlling them using policies.

To get more information about TagValue, see:

* [API documentation](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues) * How-to Guides

## Example Usage ### Tag Value Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		key, err := tags.NewTagKey(ctx, "key", &tags.TagKeyArgs{
			Description: pulumi.String("For keyname resources."),
			Parent:      pulumi.String("organizations/123456789"),
			ShortName:   pulumi.String("keyname"),
		})
		if err != nil {
			return err
		}
		_, err = tags.NewTagValue(ctx, "value", &tags.TagValueArgs{
			Description: pulumi.String("For valuename resources."),
			Parent: key.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "tagKeys/", name), nil
			}).(pulumi.StringOutput),
			ShortName: pulumi.String("valuename"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

TagValue can be imported using any of these accepted formats

```sh

$ pulumi import gcp:tags/tagValue:TagValue default tagValues/{{name}}

```

```sh

$ pulumi import gcp:tags/tagValue:TagValue default {{name}}

```

func GetTagValue added in v4.19.0

func GetTagValue(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagValueState, opts ...pulumi.ResourceOption) (*TagValue, error)

GetTagValue gets an existing TagValue 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 NewTagValue added in v4.19.0

func NewTagValue(ctx *pulumi.Context,
	name string, args *TagValueArgs, opts ...pulumi.ResourceOption) (*TagValue, error)

NewTagValue registers a new resource with the given unique name, arguments, and options.

func (*TagValue) ElementType added in v4.19.0

func (*TagValue) ElementType() reflect.Type

func (*TagValue) ToTagValueOutput added in v4.19.0

func (i *TagValue) ToTagValueOutput() TagValueOutput

func (*TagValue) ToTagValueOutputWithContext added in v4.19.0

func (i *TagValue) ToTagValueOutputWithContext(ctx context.Context) TagValueOutput

func (*TagValue) ToTagValuePtrOutput added in v4.19.0

func (i *TagValue) ToTagValuePtrOutput() TagValuePtrOutput

func (*TagValue) ToTagValuePtrOutputWithContext added in v4.19.0

func (i *TagValue) ToTagValuePtrOutputWithContext(ctx context.Context) TagValuePtrOutput

type TagValueArgs added in v4.19.0

type TagValueArgs struct {
	// User-assigned description of the TagValue. Must not exceed 256 characters.
	Description pulumi.StringPtrInput
	// Input only. The resource name of the new TagValue's parent. Must be of the form tagKeys/{tag_key_id}.
	Parent pulumi.StringInput
	// Input only. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey.
	// The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
	ShortName pulumi.StringInput
}

The set of arguments for constructing a TagValue resource.

func (TagValueArgs) ElementType added in v4.19.0

func (TagValueArgs) ElementType() reflect.Type

type TagValueArray added in v4.19.0

type TagValueArray []TagValueInput

func (TagValueArray) ElementType added in v4.19.0

func (TagValueArray) ElementType() reflect.Type

func (TagValueArray) ToTagValueArrayOutput added in v4.19.0

func (i TagValueArray) ToTagValueArrayOutput() TagValueArrayOutput

func (TagValueArray) ToTagValueArrayOutputWithContext added in v4.19.0

func (i TagValueArray) ToTagValueArrayOutputWithContext(ctx context.Context) TagValueArrayOutput

type TagValueArrayInput added in v4.19.0

type TagValueArrayInput interface {
	pulumi.Input

	ToTagValueArrayOutput() TagValueArrayOutput
	ToTagValueArrayOutputWithContext(context.Context) TagValueArrayOutput
}

TagValueArrayInput is an input type that accepts TagValueArray and TagValueArrayOutput values. You can construct a concrete instance of `TagValueArrayInput` via:

TagValueArray{ TagValueArgs{...} }

type TagValueArrayOutput added in v4.19.0

type TagValueArrayOutput struct{ *pulumi.OutputState }

func (TagValueArrayOutput) ElementType added in v4.19.0

func (TagValueArrayOutput) ElementType() reflect.Type

func (TagValueArrayOutput) Index added in v4.19.0

func (TagValueArrayOutput) ToTagValueArrayOutput added in v4.19.0

func (o TagValueArrayOutput) ToTagValueArrayOutput() TagValueArrayOutput

func (TagValueArrayOutput) ToTagValueArrayOutputWithContext added in v4.19.0

func (o TagValueArrayOutput) ToTagValueArrayOutputWithContext(ctx context.Context) TagValueArrayOutput

type TagValueIamBinding added in v4.21.0

type TagValueIamBinding struct {
	pulumi.CustomResourceState

	Condition TagValueIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `tags.TagValueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringOutput `pulumi:"tagValue"`
}

Three different resources help you manage your IAM policy for Tags TagValue. Each of these resources serves a different use case:

* `tags.TagValueIamPolicy`: Authoritative. Sets the IAM policy for the tagvalue and replaces any existing policy already attached. * `tags.TagValueIamBinding`: 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 tagvalue are preserved. * `tags.TagValueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagvalue are preserved.

> **Note:** `tags.TagValueIamPolicy` **cannot** be used in conjunction with `tags.TagValueIamBinding` and `tags.TagValueIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagValueIamBinding` resources **can be** used in conjunction with `tags.TagValueIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_value\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagValueIamPolicy(ctx, "policy", &tags.TagValueIamPolicyArgs{
			TagValue:   pulumi.Any(google_tags_tag_value.Value.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamBinding(ctx, "binding", &tags.TagValueIamBindingArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamMember(ctx, "member", &tags.TagValueIamMemberArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagValues/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagvalue IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamBinding:TagValueIamBinding editor "tagValues/{{tag_value}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamBinding:TagValueIamBinding editor "tagValues/{{tag_value}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamBinding:TagValueIamBinding editor tagValues/{{tag_value}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagValueIamBinding added in v4.21.0

func GetTagValueIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagValueIamBindingState, opts ...pulumi.ResourceOption) (*TagValueIamBinding, error)

GetTagValueIamBinding gets an existing TagValueIamBinding 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 NewTagValueIamBinding added in v4.21.0

func NewTagValueIamBinding(ctx *pulumi.Context,
	name string, args *TagValueIamBindingArgs, opts ...pulumi.ResourceOption) (*TagValueIamBinding, error)

NewTagValueIamBinding registers a new resource with the given unique name, arguments, and options.

func (*TagValueIamBinding) ElementType added in v4.21.0

func (*TagValueIamBinding) ElementType() reflect.Type

func (*TagValueIamBinding) ToTagValueIamBindingOutput added in v4.21.0

func (i *TagValueIamBinding) ToTagValueIamBindingOutput() TagValueIamBindingOutput

func (*TagValueIamBinding) ToTagValueIamBindingOutputWithContext added in v4.21.0

func (i *TagValueIamBinding) ToTagValueIamBindingOutputWithContext(ctx context.Context) TagValueIamBindingOutput

func (*TagValueIamBinding) ToTagValueIamBindingPtrOutput added in v4.21.0

func (i *TagValueIamBinding) ToTagValueIamBindingPtrOutput() TagValueIamBindingPtrOutput

func (*TagValueIamBinding) ToTagValueIamBindingPtrOutputWithContext added in v4.21.0

func (i *TagValueIamBinding) ToTagValueIamBindingPtrOutputWithContext(ctx context.Context) TagValueIamBindingPtrOutput

type TagValueIamBindingArgs added in v4.21.0

type TagValueIamBindingArgs struct {
	Condition TagValueIamBindingConditionPtrInput
	Members   pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `tags.TagValueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringInput
}

The set of arguments for constructing a TagValueIamBinding resource.

func (TagValueIamBindingArgs) ElementType added in v4.21.0

func (TagValueIamBindingArgs) ElementType() reflect.Type

type TagValueIamBindingArray added in v4.21.0

type TagValueIamBindingArray []TagValueIamBindingInput

func (TagValueIamBindingArray) ElementType added in v4.21.0

func (TagValueIamBindingArray) ElementType() reflect.Type

func (TagValueIamBindingArray) ToTagValueIamBindingArrayOutput added in v4.21.0

func (i TagValueIamBindingArray) ToTagValueIamBindingArrayOutput() TagValueIamBindingArrayOutput

func (TagValueIamBindingArray) ToTagValueIamBindingArrayOutputWithContext added in v4.21.0

func (i TagValueIamBindingArray) ToTagValueIamBindingArrayOutputWithContext(ctx context.Context) TagValueIamBindingArrayOutput

type TagValueIamBindingArrayInput added in v4.21.0

type TagValueIamBindingArrayInput interface {
	pulumi.Input

	ToTagValueIamBindingArrayOutput() TagValueIamBindingArrayOutput
	ToTagValueIamBindingArrayOutputWithContext(context.Context) TagValueIamBindingArrayOutput
}

TagValueIamBindingArrayInput is an input type that accepts TagValueIamBindingArray and TagValueIamBindingArrayOutput values. You can construct a concrete instance of `TagValueIamBindingArrayInput` via:

TagValueIamBindingArray{ TagValueIamBindingArgs{...} }

type TagValueIamBindingArrayOutput added in v4.21.0

type TagValueIamBindingArrayOutput struct{ *pulumi.OutputState }

func (TagValueIamBindingArrayOutput) ElementType added in v4.21.0

func (TagValueIamBindingArrayOutput) Index added in v4.21.0

func (TagValueIamBindingArrayOutput) ToTagValueIamBindingArrayOutput added in v4.21.0

func (o TagValueIamBindingArrayOutput) ToTagValueIamBindingArrayOutput() TagValueIamBindingArrayOutput

func (TagValueIamBindingArrayOutput) ToTagValueIamBindingArrayOutputWithContext added in v4.21.0

func (o TagValueIamBindingArrayOutput) ToTagValueIamBindingArrayOutputWithContext(ctx context.Context) TagValueIamBindingArrayOutput

type TagValueIamBindingCondition added in v4.21.0

type TagValueIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type TagValueIamBindingConditionArgs added in v4.21.0

type TagValueIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (TagValueIamBindingConditionArgs) ElementType added in v4.21.0

func (TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionOutput added in v4.21.0

func (i TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionOutput() TagValueIamBindingConditionOutput

func (TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionOutputWithContext added in v4.21.0

func (i TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionOutputWithContext(ctx context.Context) TagValueIamBindingConditionOutput

func (TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionPtrOutput added in v4.21.0

func (i TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionPtrOutput() TagValueIamBindingConditionPtrOutput

func (TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionPtrOutputWithContext added in v4.21.0

func (i TagValueIamBindingConditionArgs) ToTagValueIamBindingConditionPtrOutputWithContext(ctx context.Context) TagValueIamBindingConditionPtrOutput

type TagValueIamBindingConditionInput added in v4.21.0

type TagValueIamBindingConditionInput interface {
	pulumi.Input

	ToTagValueIamBindingConditionOutput() TagValueIamBindingConditionOutput
	ToTagValueIamBindingConditionOutputWithContext(context.Context) TagValueIamBindingConditionOutput
}

TagValueIamBindingConditionInput is an input type that accepts TagValueIamBindingConditionArgs and TagValueIamBindingConditionOutput values. You can construct a concrete instance of `TagValueIamBindingConditionInput` via:

TagValueIamBindingConditionArgs{...}

type TagValueIamBindingConditionOutput added in v4.21.0

type TagValueIamBindingConditionOutput struct{ *pulumi.OutputState }

func (TagValueIamBindingConditionOutput) Description added in v4.21.0

func (TagValueIamBindingConditionOutput) ElementType added in v4.21.0

func (TagValueIamBindingConditionOutput) Expression added in v4.21.0

func (TagValueIamBindingConditionOutput) Title added in v4.21.0

func (TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionOutput added in v4.21.0

func (o TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionOutput() TagValueIamBindingConditionOutput

func (TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionOutputWithContext added in v4.21.0

func (o TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionOutputWithContext(ctx context.Context) TagValueIamBindingConditionOutput

func (TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionPtrOutput added in v4.21.0

func (o TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionPtrOutput() TagValueIamBindingConditionPtrOutput

func (TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionPtrOutputWithContext added in v4.21.0

func (o TagValueIamBindingConditionOutput) ToTagValueIamBindingConditionPtrOutputWithContext(ctx context.Context) TagValueIamBindingConditionPtrOutput

type TagValueIamBindingConditionPtrInput added in v4.21.0

type TagValueIamBindingConditionPtrInput interface {
	pulumi.Input

	ToTagValueIamBindingConditionPtrOutput() TagValueIamBindingConditionPtrOutput
	ToTagValueIamBindingConditionPtrOutputWithContext(context.Context) TagValueIamBindingConditionPtrOutput
}

TagValueIamBindingConditionPtrInput is an input type that accepts TagValueIamBindingConditionArgs, TagValueIamBindingConditionPtr and TagValueIamBindingConditionPtrOutput values. You can construct a concrete instance of `TagValueIamBindingConditionPtrInput` via:

        TagValueIamBindingConditionArgs{...}

or:

        nil

func TagValueIamBindingConditionPtr added in v4.21.0

type TagValueIamBindingConditionPtrOutput added in v4.21.0

type TagValueIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (TagValueIamBindingConditionPtrOutput) Description added in v4.21.0

func (TagValueIamBindingConditionPtrOutput) Elem added in v4.21.0

func (TagValueIamBindingConditionPtrOutput) ElementType added in v4.21.0

func (TagValueIamBindingConditionPtrOutput) Expression added in v4.21.0

func (TagValueIamBindingConditionPtrOutput) Title added in v4.21.0

func (TagValueIamBindingConditionPtrOutput) ToTagValueIamBindingConditionPtrOutput added in v4.21.0

func (o TagValueIamBindingConditionPtrOutput) ToTagValueIamBindingConditionPtrOutput() TagValueIamBindingConditionPtrOutput

func (TagValueIamBindingConditionPtrOutput) ToTagValueIamBindingConditionPtrOutputWithContext added in v4.21.0

func (o TagValueIamBindingConditionPtrOutput) ToTagValueIamBindingConditionPtrOutputWithContext(ctx context.Context) TagValueIamBindingConditionPtrOutput

type TagValueIamBindingInput added in v4.21.0

type TagValueIamBindingInput interface {
	pulumi.Input

	ToTagValueIamBindingOutput() TagValueIamBindingOutput
	ToTagValueIamBindingOutputWithContext(ctx context.Context) TagValueIamBindingOutput
}

type TagValueIamBindingMap added in v4.21.0

type TagValueIamBindingMap map[string]TagValueIamBindingInput

func (TagValueIamBindingMap) ElementType added in v4.21.0

func (TagValueIamBindingMap) ElementType() reflect.Type

func (TagValueIamBindingMap) ToTagValueIamBindingMapOutput added in v4.21.0

func (i TagValueIamBindingMap) ToTagValueIamBindingMapOutput() TagValueIamBindingMapOutput

func (TagValueIamBindingMap) ToTagValueIamBindingMapOutputWithContext added in v4.21.0

func (i TagValueIamBindingMap) ToTagValueIamBindingMapOutputWithContext(ctx context.Context) TagValueIamBindingMapOutput

type TagValueIamBindingMapInput added in v4.21.0

type TagValueIamBindingMapInput interface {
	pulumi.Input

	ToTagValueIamBindingMapOutput() TagValueIamBindingMapOutput
	ToTagValueIamBindingMapOutputWithContext(context.Context) TagValueIamBindingMapOutput
}

TagValueIamBindingMapInput is an input type that accepts TagValueIamBindingMap and TagValueIamBindingMapOutput values. You can construct a concrete instance of `TagValueIamBindingMapInput` via:

TagValueIamBindingMap{ "key": TagValueIamBindingArgs{...} }

type TagValueIamBindingMapOutput added in v4.21.0

type TagValueIamBindingMapOutput struct{ *pulumi.OutputState }

func (TagValueIamBindingMapOutput) ElementType added in v4.21.0

func (TagValueIamBindingMapOutput) MapIndex added in v4.21.0

func (TagValueIamBindingMapOutput) ToTagValueIamBindingMapOutput added in v4.21.0

func (o TagValueIamBindingMapOutput) ToTagValueIamBindingMapOutput() TagValueIamBindingMapOutput

func (TagValueIamBindingMapOutput) ToTagValueIamBindingMapOutputWithContext added in v4.21.0

func (o TagValueIamBindingMapOutput) ToTagValueIamBindingMapOutputWithContext(ctx context.Context) TagValueIamBindingMapOutput

type TagValueIamBindingOutput added in v4.21.0

type TagValueIamBindingOutput struct {
	*pulumi.OutputState
}

func (TagValueIamBindingOutput) ElementType added in v4.21.0

func (TagValueIamBindingOutput) ElementType() reflect.Type

func (TagValueIamBindingOutput) ToTagValueIamBindingOutput added in v4.21.0

func (o TagValueIamBindingOutput) ToTagValueIamBindingOutput() TagValueIamBindingOutput

func (TagValueIamBindingOutput) ToTagValueIamBindingOutputWithContext added in v4.21.0

func (o TagValueIamBindingOutput) ToTagValueIamBindingOutputWithContext(ctx context.Context) TagValueIamBindingOutput

func (TagValueIamBindingOutput) ToTagValueIamBindingPtrOutput added in v4.21.0

func (o TagValueIamBindingOutput) ToTagValueIamBindingPtrOutput() TagValueIamBindingPtrOutput

func (TagValueIamBindingOutput) ToTagValueIamBindingPtrOutputWithContext added in v4.21.0

func (o TagValueIamBindingOutput) ToTagValueIamBindingPtrOutputWithContext(ctx context.Context) TagValueIamBindingPtrOutput

type TagValueIamBindingPtrInput added in v4.21.0

type TagValueIamBindingPtrInput interface {
	pulumi.Input

	ToTagValueIamBindingPtrOutput() TagValueIamBindingPtrOutput
	ToTagValueIamBindingPtrOutputWithContext(ctx context.Context) TagValueIamBindingPtrOutput
}

type TagValueIamBindingPtrOutput added in v4.21.0

type TagValueIamBindingPtrOutput struct {
	*pulumi.OutputState
}

func (TagValueIamBindingPtrOutput) ElementType added in v4.21.0

func (TagValueIamBindingPtrOutput) ToTagValueIamBindingPtrOutput added in v4.21.0

func (o TagValueIamBindingPtrOutput) ToTagValueIamBindingPtrOutput() TagValueIamBindingPtrOutput

func (TagValueIamBindingPtrOutput) ToTagValueIamBindingPtrOutputWithContext added in v4.21.0

func (o TagValueIamBindingPtrOutput) ToTagValueIamBindingPtrOutputWithContext(ctx context.Context) TagValueIamBindingPtrOutput

type TagValueIamBindingState added in v4.21.0

type TagValueIamBindingState struct {
	Condition TagValueIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `tags.TagValueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringPtrInput
}

func (TagValueIamBindingState) ElementType added in v4.21.0

func (TagValueIamBindingState) ElementType() reflect.Type

type TagValueIamMember added in v4.21.0

type TagValueIamMember struct {
	pulumi.CustomResourceState

	Condition TagValueIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `tags.TagValueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringOutput `pulumi:"tagValue"`
}

Three different resources help you manage your IAM policy for Tags TagValue. Each of these resources serves a different use case:

* `tags.TagValueIamPolicy`: Authoritative. Sets the IAM policy for the tagvalue and replaces any existing policy already attached. * `tags.TagValueIamBinding`: 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 tagvalue are preserved. * `tags.TagValueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagvalue are preserved.

> **Note:** `tags.TagValueIamPolicy` **cannot** be used in conjunction with `tags.TagValueIamBinding` and `tags.TagValueIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagValueIamBinding` resources **can be** used in conjunction with `tags.TagValueIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_value\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagValueIamPolicy(ctx, "policy", &tags.TagValueIamPolicyArgs{
			TagValue:   pulumi.Any(google_tags_tag_value.Value.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamBinding(ctx, "binding", &tags.TagValueIamBindingArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamMember(ctx, "member", &tags.TagValueIamMemberArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagValues/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagvalue IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamMember:TagValueIamMember editor "tagValues/{{tag_value}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamMember:TagValueIamMember editor "tagValues/{{tag_value}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamMember:TagValueIamMember editor tagValues/{{tag_value}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagValueIamMember added in v4.21.0

func GetTagValueIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagValueIamMemberState, opts ...pulumi.ResourceOption) (*TagValueIamMember, error)

GetTagValueIamMember gets an existing TagValueIamMember 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 NewTagValueIamMember added in v4.21.0

func NewTagValueIamMember(ctx *pulumi.Context,
	name string, args *TagValueIamMemberArgs, opts ...pulumi.ResourceOption) (*TagValueIamMember, error)

NewTagValueIamMember registers a new resource with the given unique name, arguments, and options.

func (*TagValueIamMember) ElementType added in v4.21.0

func (*TagValueIamMember) ElementType() reflect.Type

func (*TagValueIamMember) ToTagValueIamMemberOutput added in v4.21.0

func (i *TagValueIamMember) ToTagValueIamMemberOutput() TagValueIamMemberOutput

func (*TagValueIamMember) ToTagValueIamMemberOutputWithContext added in v4.21.0

func (i *TagValueIamMember) ToTagValueIamMemberOutputWithContext(ctx context.Context) TagValueIamMemberOutput

func (*TagValueIamMember) ToTagValueIamMemberPtrOutput added in v4.21.0

func (i *TagValueIamMember) ToTagValueIamMemberPtrOutput() TagValueIamMemberPtrOutput

func (*TagValueIamMember) ToTagValueIamMemberPtrOutputWithContext added in v4.21.0

func (i *TagValueIamMember) ToTagValueIamMemberPtrOutputWithContext(ctx context.Context) TagValueIamMemberPtrOutput

type TagValueIamMemberArgs added in v4.21.0

type TagValueIamMemberArgs struct {
	Condition TagValueIamMemberConditionPtrInput
	Member    pulumi.StringInput
	// The role that should be applied. Only one
	// `tags.TagValueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringInput
}

The set of arguments for constructing a TagValueIamMember resource.

func (TagValueIamMemberArgs) ElementType added in v4.21.0

func (TagValueIamMemberArgs) ElementType() reflect.Type

type TagValueIamMemberArray added in v4.21.0

type TagValueIamMemberArray []TagValueIamMemberInput

func (TagValueIamMemberArray) ElementType added in v4.21.0

func (TagValueIamMemberArray) ElementType() reflect.Type

func (TagValueIamMemberArray) ToTagValueIamMemberArrayOutput added in v4.21.0

func (i TagValueIamMemberArray) ToTagValueIamMemberArrayOutput() TagValueIamMemberArrayOutput

func (TagValueIamMemberArray) ToTagValueIamMemberArrayOutputWithContext added in v4.21.0

func (i TagValueIamMemberArray) ToTagValueIamMemberArrayOutputWithContext(ctx context.Context) TagValueIamMemberArrayOutput

type TagValueIamMemberArrayInput added in v4.21.0

type TagValueIamMemberArrayInput interface {
	pulumi.Input

	ToTagValueIamMemberArrayOutput() TagValueIamMemberArrayOutput
	ToTagValueIamMemberArrayOutputWithContext(context.Context) TagValueIamMemberArrayOutput
}

TagValueIamMemberArrayInput is an input type that accepts TagValueIamMemberArray and TagValueIamMemberArrayOutput values. You can construct a concrete instance of `TagValueIamMemberArrayInput` via:

TagValueIamMemberArray{ TagValueIamMemberArgs{...} }

type TagValueIamMemberArrayOutput added in v4.21.0

type TagValueIamMemberArrayOutput struct{ *pulumi.OutputState }

func (TagValueIamMemberArrayOutput) ElementType added in v4.21.0

func (TagValueIamMemberArrayOutput) Index added in v4.21.0

func (TagValueIamMemberArrayOutput) ToTagValueIamMemberArrayOutput added in v4.21.0

func (o TagValueIamMemberArrayOutput) ToTagValueIamMemberArrayOutput() TagValueIamMemberArrayOutput

func (TagValueIamMemberArrayOutput) ToTagValueIamMemberArrayOutputWithContext added in v4.21.0

func (o TagValueIamMemberArrayOutput) ToTagValueIamMemberArrayOutputWithContext(ctx context.Context) TagValueIamMemberArrayOutput

type TagValueIamMemberCondition added in v4.21.0

type TagValueIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type TagValueIamMemberConditionArgs added in v4.21.0

type TagValueIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (TagValueIamMemberConditionArgs) ElementType added in v4.21.0

func (TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionOutput added in v4.21.0

func (i TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionOutput() TagValueIamMemberConditionOutput

func (TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionOutputWithContext added in v4.21.0

func (i TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionOutputWithContext(ctx context.Context) TagValueIamMemberConditionOutput

func (TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionPtrOutput added in v4.21.0

func (i TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionPtrOutput() TagValueIamMemberConditionPtrOutput

func (TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionPtrOutputWithContext added in v4.21.0

func (i TagValueIamMemberConditionArgs) ToTagValueIamMemberConditionPtrOutputWithContext(ctx context.Context) TagValueIamMemberConditionPtrOutput

type TagValueIamMemberConditionInput added in v4.21.0

type TagValueIamMemberConditionInput interface {
	pulumi.Input

	ToTagValueIamMemberConditionOutput() TagValueIamMemberConditionOutput
	ToTagValueIamMemberConditionOutputWithContext(context.Context) TagValueIamMemberConditionOutput
}

TagValueIamMemberConditionInput is an input type that accepts TagValueIamMemberConditionArgs and TagValueIamMemberConditionOutput values. You can construct a concrete instance of `TagValueIamMemberConditionInput` via:

TagValueIamMemberConditionArgs{...}

type TagValueIamMemberConditionOutput added in v4.21.0

type TagValueIamMemberConditionOutput struct{ *pulumi.OutputState }

func (TagValueIamMemberConditionOutput) Description added in v4.21.0

func (TagValueIamMemberConditionOutput) ElementType added in v4.21.0

func (TagValueIamMemberConditionOutput) Expression added in v4.21.0

func (TagValueIamMemberConditionOutput) Title added in v4.21.0

func (TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionOutput added in v4.21.0

func (o TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionOutput() TagValueIamMemberConditionOutput

func (TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionOutputWithContext added in v4.21.0

func (o TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionOutputWithContext(ctx context.Context) TagValueIamMemberConditionOutput

func (TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionPtrOutput added in v4.21.0

func (o TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionPtrOutput() TagValueIamMemberConditionPtrOutput

func (TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionPtrOutputWithContext added in v4.21.0

func (o TagValueIamMemberConditionOutput) ToTagValueIamMemberConditionPtrOutputWithContext(ctx context.Context) TagValueIamMemberConditionPtrOutput

type TagValueIamMemberConditionPtrInput added in v4.21.0

type TagValueIamMemberConditionPtrInput interface {
	pulumi.Input

	ToTagValueIamMemberConditionPtrOutput() TagValueIamMemberConditionPtrOutput
	ToTagValueIamMemberConditionPtrOutputWithContext(context.Context) TagValueIamMemberConditionPtrOutput
}

TagValueIamMemberConditionPtrInput is an input type that accepts TagValueIamMemberConditionArgs, TagValueIamMemberConditionPtr and TagValueIamMemberConditionPtrOutput values. You can construct a concrete instance of `TagValueIamMemberConditionPtrInput` via:

        TagValueIamMemberConditionArgs{...}

or:

        nil

func TagValueIamMemberConditionPtr added in v4.21.0

type TagValueIamMemberConditionPtrOutput added in v4.21.0

type TagValueIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (TagValueIamMemberConditionPtrOutput) Description added in v4.21.0

func (TagValueIamMemberConditionPtrOutput) Elem added in v4.21.0

func (TagValueIamMemberConditionPtrOutput) ElementType added in v4.21.0

func (TagValueIamMemberConditionPtrOutput) Expression added in v4.21.0

func (TagValueIamMemberConditionPtrOutput) Title added in v4.21.0

func (TagValueIamMemberConditionPtrOutput) ToTagValueIamMemberConditionPtrOutput added in v4.21.0

func (o TagValueIamMemberConditionPtrOutput) ToTagValueIamMemberConditionPtrOutput() TagValueIamMemberConditionPtrOutput

func (TagValueIamMemberConditionPtrOutput) ToTagValueIamMemberConditionPtrOutputWithContext added in v4.21.0

func (o TagValueIamMemberConditionPtrOutput) ToTagValueIamMemberConditionPtrOutputWithContext(ctx context.Context) TagValueIamMemberConditionPtrOutput

type TagValueIamMemberInput added in v4.21.0

type TagValueIamMemberInput interface {
	pulumi.Input

	ToTagValueIamMemberOutput() TagValueIamMemberOutput
	ToTagValueIamMemberOutputWithContext(ctx context.Context) TagValueIamMemberOutput
}

type TagValueIamMemberMap added in v4.21.0

type TagValueIamMemberMap map[string]TagValueIamMemberInput

func (TagValueIamMemberMap) ElementType added in v4.21.0

func (TagValueIamMemberMap) ElementType() reflect.Type

func (TagValueIamMemberMap) ToTagValueIamMemberMapOutput added in v4.21.0

func (i TagValueIamMemberMap) ToTagValueIamMemberMapOutput() TagValueIamMemberMapOutput

func (TagValueIamMemberMap) ToTagValueIamMemberMapOutputWithContext added in v4.21.0

func (i TagValueIamMemberMap) ToTagValueIamMemberMapOutputWithContext(ctx context.Context) TagValueIamMemberMapOutput

type TagValueIamMemberMapInput added in v4.21.0

type TagValueIamMemberMapInput interface {
	pulumi.Input

	ToTagValueIamMemberMapOutput() TagValueIamMemberMapOutput
	ToTagValueIamMemberMapOutputWithContext(context.Context) TagValueIamMemberMapOutput
}

TagValueIamMemberMapInput is an input type that accepts TagValueIamMemberMap and TagValueIamMemberMapOutput values. You can construct a concrete instance of `TagValueIamMemberMapInput` via:

TagValueIamMemberMap{ "key": TagValueIamMemberArgs{...} }

type TagValueIamMemberMapOutput added in v4.21.0

type TagValueIamMemberMapOutput struct{ *pulumi.OutputState }

func (TagValueIamMemberMapOutput) ElementType added in v4.21.0

func (TagValueIamMemberMapOutput) ElementType() reflect.Type

func (TagValueIamMemberMapOutput) MapIndex added in v4.21.0

func (TagValueIamMemberMapOutput) ToTagValueIamMemberMapOutput added in v4.21.0

func (o TagValueIamMemberMapOutput) ToTagValueIamMemberMapOutput() TagValueIamMemberMapOutput

func (TagValueIamMemberMapOutput) ToTagValueIamMemberMapOutputWithContext added in v4.21.0

func (o TagValueIamMemberMapOutput) ToTagValueIamMemberMapOutputWithContext(ctx context.Context) TagValueIamMemberMapOutput

type TagValueIamMemberOutput added in v4.21.0

type TagValueIamMemberOutput struct {
	*pulumi.OutputState
}

func (TagValueIamMemberOutput) ElementType added in v4.21.0

func (TagValueIamMemberOutput) ElementType() reflect.Type

func (TagValueIamMemberOutput) ToTagValueIamMemberOutput added in v4.21.0

func (o TagValueIamMemberOutput) ToTagValueIamMemberOutput() TagValueIamMemberOutput

func (TagValueIamMemberOutput) ToTagValueIamMemberOutputWithContext added in v4.21.0

func (o TagValueIamMemberOutput) ToTagValueIamMemberOutputWithContext(ctx context.Context) TagValueIamMemberOutput

func (TagValueIamMemberOutput) ToTagValueIamMemberPtrOutput added in v4.21.0

func (o TagValueIamMemberOutput) ToTagValueIamMemberPtrOutput() TagValueIamMemberPtrOutput

func (TagValueIamMemberOutput) ToTagValueIamMemberPtrOutputWithContext added in v4.21.0

func (o TagValueIamMemberOutput) ToTagValueIamMemberPtrOutputWithContext(ctx context.Context) TagValueIamMemberPtrOutput

type TagValueIamMemberPtrInput added in v4.21.0

type TagValueIamMemberPtrInput interface {
	pulumi.Input

	ToTagValueIamMemberPtrOutput() TagValueIamMemberPtrOutput
	ToTagValueIamMemberPtrOutputWithContext(ctx context.Context) TagValueIamMemberPtrOutput
}

type TagValueIamMemberPtrOutput added in v4.21.0

type TagValueIamMemberPtrOutput struct {
	*pulumi.OutputState
}

func (TagValueIamMemberPtrOutput) ElementType added in v4.21.0

func (TagValueIamMemberPtrOutput) ElementType() reflect.Type

func (TagValueIamMemberPtrOutput) ToTagValueIamMemberPtrOutput added in v4.21.0

func (o TagValueIamMemberPtrOutput) ToTagValueIamMemberPtrOutput() TagValueIamMemberPtrOutput

func (TagValueIamMemberPtrOutput) ToTagValueIamMemberPtrOutputWithContext added in v4.21.0

func (o TagValueIamMemberPtrOutput) ToTagValueIamMemberPtrOutputWithContext(ctx context.Context) TagValueIamMemberPtrOutput

type TagValueIamMemberState added in v4.21.0

type TagValueIamMemberState struct {
	Condition TagValueIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `tags.TagValueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringPtrInput
}

func (TagValueIamMemberState) ElementType added in v4.21.0

func (TagValueIamMemberState) ElementType() reflect.Type

type TagValueIamPlicy added in v4.21.0

type TagValueIamPlicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringOutput `pulumi:"tagValue"`
}

Three different resources help you manage your IAM policy for Tags TagValue. Each of these resources serves a different use case:

* `tags.TagValueIamPlicy`: Authoritative. Sets the IAM policy for the tagvalue and replaces any existing policy already attached. * `tags.TagValueIamBinding`: 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 tagvalue are preserved. * `tags.TagValueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagvalue are preserved.

> **Note:** `tags.TagValueIamPlicy` **cannot** be used in conjunction with `tags.TagValueIamBinding` and `tags.TagValueIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagValueIamBinding` resources **can be** used in conjunction with `tags.TagValueIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_value\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagValueIamPlicy(ctx, "policy", &tags.TagValueIamPlicyArgs{
			TagValue:   pulumi.Any(google_tags_tag_value.Value.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamBinding(ctx, "binding", &tags.TagValueIamBindingArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamMember(ctx, "member", &tags.TagValueIamMemberArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagValues/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagvalue IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamPlicy:TagValueIamPlicy editor "tagValues/{{tag_value}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamPlicy:TagValueIamPlicy editor "tagValues/{{tag_value}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamPlicy:TagValueIamPlicy editor tagValues/{{tag_value}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagValueIamPlicy added in v4.21.0

func GetTagValueIamPlicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagValueIamPlicyState, opts ...pulumi.ResourceOption) (*TagValueIamPlicy, error)

GetTagValueIamPlicy gets an existing TagValueIamPlicy 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 NewTagValueIamPlicy added in v4.21.0

func NewTagValueIamPlicy(ctx *pulumi.Context,
	name string, args *TagValueIamPlicyArgs, opts ...pulumi.ResourceOption) (*TagValueIamPlicy, error)

NewTagValueIamPlicy registers a new resource with the given unique name, arguments, and options.

func (*TagValueIamPlicy) ElementType added in v4.21.0

func (*TagValueIamPlicy) ElementType() reflect.Type

func (*TagValueIamPlicy) ToTagValueIamPlicyOutput added in v4.21.0

func (i *TagValueIamPlicy) ToTagValueIamPlicyOutput() TagValueIamPlicyOutput

func (*TagValueIamPlicy) ToTagValueIamPlicyOutputWithContext added in v4.21.0

func (i *TagValueIamPlicy) ToTagValueIamPlicyOutputWithContext(ctx context.Context) TagValueIamPlicyOutput

func (*TagValueIamPlicy) ToTagValueIamPlicyPtrOutput added in v4.21.0

func (i *TagValueIamPlicy) ToTagValueIamPlicyPtrOutput() TagValueIamPlicyPtrOutput

func (*TagValueIamPlicy) ToTagValueIamPlicyPtrOutputWithContext added in v4.21.0

func (i *TagValueIamPlicy) ToTagValueIamPlicyPtrOutputWithContext(ctx context.Context) TagValueIamPlicyPtrOutput

type TagValueIamPlicyArgs added in v4.21.0

type TagValueIamPlicyArgs struct {
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringInput
}

The set of arguments for constructing a TagValueIamPlicy resource.

func (TagValueIamPlicyArgs) ElementType added in v4.21.0

func (TagValueIamPlicyArgs) ElementType() reflect.Type

type TagValueIamPlicyArray added in v4.21.0

type TagValueIamPlicyArray []TagValueIamPlicyInput

func (TagValueIamPlicyArray) ElementType added in v4.21.0

func (TagValueIamPlicyArray) ElementType() reflect.Type

func (TagValueIamPlicyArray) ToTagValueIamPlicyArrayOutput added in v4.21.0

func (i TagValueIamPlicyArray) ToTagValueIamPlicyArrayOutput() TagValueIamPlicyArrayOutput

func (TagValueIamPlicyArray) ToTagValueIamPlicyArrayOutputWithContext added in v4.21.0

func (i TagValueIamPlicyArray) ToTagValueIamPlicyArrayOutputWithContext(ctx context.Context) TagValueIamPlicyArrayOutput

type TagValueIamPlicyArrayInput added in v4.21.0

type TagValueIamPlicyArrayInput interface {
	pulumi.Input

	ToTagValueIamPlicyArrayOutput() TagValueIamPlicyArrayOutput
	ToTagValueIamPlicyArrayOutputWithContext(context.Context) TagValueIamPlicyArrayOutput
}

TagValueIamPlicyArrayInput is an input type that accepts TagValueIamPlicyArray and TagValueIamPlicyArrayOutput values. You can construct a concrete instance of `TagValueIamPlicyArrayInput` via:

TagValueIamPlicyArray{ TagValueIamPlicyArgs{...} }

type TagValueIamPlicyArrayOutput added in v4.21.0

type TagValueIamPlicyArrayOutput struct{ *pulumi.OutputState }

func (TagValueIamPlicyArrayOutput) ElementType added in v4.21.0

func (TagValueIamPlicyArrayOutput) Index added in v4.21.0

func (TagValueIamPlicyArrayOutput) ToTagValueIamPlicyArrayOutput added in v4.21.0

func (o TagValueIamPlicyArrayOutput) ToTagValueIamPlicyArrayOutput() TagValueIamPlicyArrayOutput

func (TagValueIamPlicyArrayOutput) ToTagValueIamPlicyArrayOutputWithContext added in v4.21.0

func (o TagValueIamPlicyArrayOutput) ToTagValueIamPlicyArrayOutputWithContext(ctx context.Context) TagValueIamPlicyArrayOutput

type TagValueIamPlicyInput added in v4.21.0

type TagValueIamPlicyInput interface {
	pulumi.Input

	ToTagValueIamPlicyOutput() TagValueIamPlicyOutput
	ToTagValueIamPlicyOutputWithContext(ctx context.Context) TagValueIamPlicyOutput
}

type TagValueIamPlicyMap added in v4.21.0

type TagValueIamPlicyMap map[string]TagValueIamPlicyInput

func (TagValueIamPlicyMap) ElementType added in v4.21.0

func (TagValueIamPlicyMap) ElementType() reflect.Type

func (TagValueIamPlicyMap) ToTagValueIamPlicyMapOutput added in v4.21.0

func (i TagValueIamPlicyMap) ToTagValueIamPlicyMapOutput() TagValueIamPlicyMapOutput

func (TagValueIamPlicyMap) ToTagValueIamPlicyMapOutputWithContext added in v4.21.0

func (i TagValueIamPlicyMap) ToTagValueIamPlicyMapOutputWithContext(ctx context.Context) TagValueIamPlicyMapOutput

type TagValueIamPlicyMapInput added in v4.21.0

type TagValueIamPlicyMapInput interface {
	pulumi.Input

	ToTagValueIamPlicyMapOutput() TagValueIamPlicyMapOutput
	ToTagValueIamPlicyMapOutputWithContext(context.Context) TagValueIamPlicyMapOutput
}

TagValueIamPlicyMapInput is an input type that accepts TagValueIamPlicyMap and TagValueIamPlicyMapOutput values. You can construct a concrete instance of `TagValueIamPlicyMapInput` via:

TagValueIamPlicyMap{ "key": TagValueIamPlicyArgs{...} }

type TagValueIamPlicyMapOutput added in v4.21.0

type TagValueIamPlicyMapOutput struct{ *pulumi.OutputState }

func (TagValueIamPlicyMapOutput) ElementType added in v4.21.0

func (TagValueIamPlicyMapOutput) ElementType() reflect.Type

func (TagValueIamPlicyMapOutput) MapIndex added in v4.21.0

func (TagValueIamPlicyMapOutput) ToTagValueIamPlicyMapOutput added in v4.21.0

func (o TagValueIamPlicyMapOutput) ToTagValueIamPlicyMapOutput() TagValueIamPlicyMapOutput

func (TagValueIamPlicyMapOutput) ToTagValueIamPlicyMapOutputWithContext added in v4.21.0

func (o TagValueIamPlicyMapOutput) ToTagValueIamPlicyMapOutputWithContext(ctx context.Context) TagValueIamPlicyMapOutput

type TagValueIamPlicyOutput added in v4.21.0

type TagValueIamPlicyOutput struct {
	*pulumi.OutputState
}

func (TagValueIamPlicyOutput) ElementType added in v4.21.0

func (TagValueIamPlicyOutput) ElementType() reflect.Type

func (TagValueIamPlicyOutput) ToTagValueIamPlicyOutput added in v4.21.0

func (o TagValueIamPlicyOutput) ToTagValueIamPlicyOutput() TagValueIamPlicyOutput

func (TagValueIamPlicyOutput) ToTagValueIamPlicyOutputWithContext added in v4.21.0

func (o TagValueIamPlicyOutput) ToTagValueIamPlicyOutputWithContext(ctx context.Context) TagValueIamPlicyOutput

func (TagValueIamPlicyOutput) ToTagValueIamPlicyPtrOutput added in v4.21.0

func (o TagValueIamPlicyOutput) ToTagValueIamPlicyPtrOutput() TagValueIamPlicyPtrOutput

func (TagValueIamPlicyOutput) ToTagValueIamPlicyPtrOutputWithContext added in v4.21.0

func (o TagValueIamPlicyOutput) ToTagValueIamPlicyPtrOutputWithContext(ctx context.Context) TagValueIamPlicyPtrOutput

type TagValueIamPlicyPtrInput added in v4.21.0

type TagValueIamPlicyPtrInput interface {
	pulumi.Input

	ToTagValueIamPlicyPtrOutput() TagValueIamPlicyPtrOutput
	ToTagValueIamPlicyPtrOutputWithContext(ctx context.Context) TagValueIamPlicyPtrOutput
}

type TagValueIamPlicyPtrOutput added in v4.21.0

type TagValueIamPlicyPtrOutput struct {
	*pulumi.OutputState
}

func (TagValueIamPlicyPtrOutput) ElementType added in v4.21.0

func (TagValueIamPlicyPtrOutput) ElementType() reflect.Type

func (TagValueIamPlicyPtrOutput) ToTagValueIamPlicyPtrOutput added in v4.21.0

func (o TagValueIamPlicyPtrOutput) ToTagValueIamPlicyPtrOutput() TagValueIamPlicyPtrOutput

func (TagValueIamPlicyPtrOutput) ToTagValueIamPlicyPtrOutputWithContext added in v4.21.0

func (o TagValueIamPlicyPtrOutput) ToTagValueIamPlicyPtrOutputWithContext(ctx context.Context) TagValueIamPlicyPtrOutput

type TagValueIamPlicyState added in v4.21.0

type TagValueIamPlicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringPtrInput
}

func (TagValueIamPlicyState) ElementType added in v4.21.0

func (TagValueIamPlicyState) ElementType() reflect.Type

type TagValueIamPolicy added in v4.21.0

type TagValueIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringOutput `pulumi:"tagValue"`
}

Three different resources help you manage your IAM policy for Tags TagValue. Each of these resources serves a different use case:

* `tags.TagValueIamPolicy`: Authoritative. Sets the IAM policy for the tagvalue and replaces any existing policy already attached. * `tags.TagValueIamBinding`: 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 tagvalue are preserved. * `tags.TagValueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the tagvalue are preserved.

> **Note:** `tags.TagValueIamPolicy` **cannot** be used in conjunction with `tags.TagValueIamBinding` and `tags.TagValueIamMember` or they will fight over what your policy should be.

> **Note:** `tags.TagValueIamBinding` resources **can be** used in conjunction with `tags.TagValueIamMember` resources **only if** they do not grant privilege to the same role.

## google\_tags\_tag\_value\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = tags.NewTagValueIamPolicy(ctx, "policy", &tags.TagValueIamPolicyArgs{
			TagValue:   pulumi.Any(google_tags_tag_value.Value.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamBinding(ctx, "binding", &tags.TagValueIamBindingArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_tags\_tag\_value\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/tags"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := tags.NewTagValueIamMember(ctx, "member", &tags.TagValueIamMemberArgs{
			TagValue: pulumi.Any(google_tags_tag_value.Value.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* tagValues/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Tags tagvalue IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamPolicy:TagValueIamPolicy editor "tagValues/{{tag_value}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamPolicy:TagValueIamPolicy editor "tagValues/{{tag_value}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:tags/tagValueIamPolicy:TagValueIamPolicy editor tagValues/{{tag_value}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetTagValueIamPolicy added in v4.21.0

func GetTagValueIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagValueIamPolicyState, opts ...pulumi.ResourceOption) (*TagValueIamPolicy, error)

GetTagValueIamPolicy gets an existing TagValueIamPolicy 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 NewTagValueIamPolicy added in v4.21.0

func NewTagValueIamPolicy(ctx *pulumi.Context,
	name string, args *TagValueIamPolicyArgs, opts ...pulumi.ResourceOption) (*TagValueIamPolicy, error)

NewTagValueIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*TagValueIamPolicy) ElementType added in v4.21.0

func (*TagValueIamPolicy) ElementType() reflect.Type

func (*TagValueIamPolicy) ToTagValueIamPolicyOutput added in v4.21.0

func (i *TagValueIamPolicy) ToTagValueIamPolicyOutput() TagValueIamPolicyOutput

func (*TagValueIamPolicy) ToTagValueIamPolicyOutputWithContext added in v4.21.0

func (i *TagValueIamPolicy) ToTagValueIamPolicyOutputWithContext(ctx context.Context) TagValueIamPolicyOutput

func (*TagValueIamPolicy) ToTagValueIamPolicyPtrOutput added in v4.21.0

func (i *TagValueIamPolicy) ToTagValueIamPolicyPtrOutput() TagValueIamPolicyPtrOutput

func (*TagValueIamPolicy) ToTagValueIamPolicyPtrOutputWithContext added in v4.21.0

func (i *TagValueIamPolicy) ToTagValueIamPolicyPtrOutputWithContext(ctx context.Context) TagValueIamPolicyPtrOutput

type TagValueIamPolicyArgs added in v4.21.0

type TagValueIamPolicyArgs struct {
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringInput
}

The set of arguments for constructing a TagValueIamPolicy resource.

func (TagValueIamPolicyArgs) ElementType added in v4.21.0

func (TagValueIamPolicyArgs) ElementType() reflect.Type

type TagValueIamPolicyArray added in v4.21.0

type TagValueIamPolicyArray []TagValueIamPolicyInput

func (TagValueIamPolicyArray) ElementType added in v4.21.0

func (TagValueIamPolicyArray) ElementType() reflect.Type

func (TagValueIamPolicyArray) ToTagValueIamPolicyArrayOutput added in v4.21.0

func (i TagValueIamPolicyArray) ToTagValueIamPolicyArrayOutput() TagValueIamPolicyArrayOutput

func (TagValueIamPolicyArray) ToTagValueIamPolicyArrayOutputWithContext added in v4.21.0

func (i TagValueIamPolicyArray) ToTagValueIamPolicyArrayOutputWithContext(ctx context.Context) TagValueIamPolicyArrayOutput

type TagValueIamPolicyArrayInput added in v4.21.0

type TagValueIamPolicyArrayInput interface {
	pulumi.Input

	ToTagValueIamPolicyArrayOutput() TagValueIamPolicyArrayOutput
	ToTagValueIamPolicyArrayOutputWithContext(context.Context) TagValueIamPolicyArrayOutput
}

TagValueIamPolicyArrayInput is an input type that accepts TagValueIamPolicyArray and TagValueIamPolicyArrayOutput values. You can construct a concrete instance of `TagValueIamPolicyArrayInput` via:

TagValueIamPolicyArray{ TagValueIamPolicyArgs{...} }

type TagValueIamPolicyArrayOutput added in v4.21.0

type TagValueIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (TagValueIamPolicyArrayOutput) ElementType added in v4.21.0

func (TagValueIamPolicyArrayOutput) Index added in v4.21.0

func (TagValueIamPolicyArrayOutput) ToTagValueIamPolicyArrayOutput added in v4.21.0

func (o TagValueIamPolicyArrayOutput) ToTagValueIamPolicyArrayOutput() TagValueIamPolicyArrayOutput

func (TagValueIamPolicyArrayOutput) ToTagValueIamPolicyArrayOutputWithContext added in v4.21.0

func (o TagValueIamPolicyArrayOutput) ToTagValueIamPolicyArrayOutputWithContext(ctx context.Context) TagValueIamPolicyArrayOutput

type TagValueIamPolicyInput added in v4.21.0

type TagValueIamPolicyInput interface {
	pulumi.Input

	ToTagValueIamPolicyOutput() TagValueIamPolicyOutput
	ToTagValueIamPolicyOutputWithContext(ctx context.Context) TagValueIamPolicyOutput
}

type TagValueIamPolicyMap added in v4.21.0

type TagValueIamPolicyMap map[string]TagValueIamPolicyInput

func (TagValueIamPolicyMap) ElementType added in v4.21.0

func (TagValueIamPolicyMap) ElementType() reflect.Type

func (TagValueIamPolicyMap) ToTagValueIamPolicyMapOutput added in v4.21.0

func (i TagValueIamPolicyMap) ToTagValueIamPolicyMapOutput() TagValueIamPolicyMapOutput

func (TagValueIamPolicyMap) ToTagValueIamPolicyMapOutputWithContext added in v4.21.0

func (i TagValueIamPolicyMap) ToTagValueIamPolicyMapOutputWithContext(ctx context.Context) TagValueIamPolicyMapOutput

type TagValueIamPolicyMapInput added in v4.21.0

type TagValueIamPolicyMapInput interface {
	pulumi.Input

	ToTagValueIamPolicyMapOutput() TagValueIamPolicyMapOutput
	ToTagValueIamPolicyMapOutputWithContext(context.Context) TagValueIamPolicyMapOutput
}

TagValueIamPolicyMapInput is an input type that accepts TagValueIamPolicyMap and TagValueIamPolicyMapOutput values. You can construct a concrete instance of `TagValueIamPolicyMapInput` via:

TagValueIamPolicyMap{ "key": TagValueIamPolicyArgs{...} }

type TagValueIamPolicyMapOutput added in v4.21.0

type TagValueIamPolicyMapOutput struct{ *pulumi.OutputState }

func (TagValueIamPolicyMapOutput) ElementType added in v4.21.0

func (TagValueIamPolicyMapOutput) ElementType() reflect.Type

func (TagValueIamPolicyMapOutput) MapIndex added in v4.21.0

func (TagValueIamPolicyMapOutput) ToTagValueIamPolicyMapOutput added in v4.21.0

func (o TagValueIamPolicyMapOutput) ToTagValueIamPolicyMapOutput() TagValueIamPolicyMapOutput

func (TagValueIamPolicyMapOutput) ToTagValueIamPolicyMapOutputWithContext added in v4.21.0

func (o TagValueIamPolicyMapOutput) ToTagValueIamPolicyMapOutputWithContext(ctx context.Context) TagValueIamPolicyMapOutput

type TagValueIamPolicyOutput added in v4.21.0

type TagValueIamPolicyOutput struct {
	*pulumi.OutputState
}

func (TagValueIamPolicyOutput) ElementType added in v4.21.0

func (TagValueIamPolicyOutput) ElementType() reflect.Type

func (TagValueIamPolicyOutput) ToTagValueIamPolicyOutput added in v4.21.0

func (o TagValueIamPolicyOutput) ToTagValueIamPolicyOutput() TagValueIamPolicyOutput

func (TagValueIamPolicyOutput) ToTagValueIamPolicyOutputWithContext added in v4.21.0

func (o TagValueIamPolicyOutput) ToTagValueIamPolicyOutputWithContext(ctx context.Context) TagValueIamPolicyOutput

func (TagValueIamPolicyOutput) ToTagValueIamPolicyPtrOutput added in v4.21.0

func (o TagValueIamPolicyOutput) ToTagValueIamPolicyPtrOutput() TagValueIamPolicyPtrOutput

func (TagValueIamPolicyOutput) ToTagValueIamPolicyPtrOutputWithContext added in v4.21.0

func (o TagValueIamPolicyOutput) ToTagValueIamPolicyPtrOutputWithContext(ctx context.Context) TagValueIamPolicyPtrOutput

type TagValueIamPolicyPtrInput added in v4.21.0

type TagValueIamPolicyPtrInput interface {
	pulumi.Input

	ToTagValueIamPolicyPtrOutput() TagValueIamPolicyPtrOutput
	ToTagValueIamPolicyPtrOutputWithContext(ctx context.Context) TagValueIamPolicyPtrOutput
}

type TagValueIamPolicyPtrOutput added in v4.21.0

type TagValueIamPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (TagValueIamPolicyPtrOutput) ElementType added in v4.21.0

func (TagValueIamPolicyPtrOutput) ElementType() reflect.Type

func (TagValueIamPolicyPtrOutput) ToTagValueIamPolicyPtrOutput added in v4.21.0

func (o TagValueIamPolicyPtrOutput) ToTagValueIamPolicyPtrOutput() TagValueIamPolicyPtrOutput

func (TagValueIamPolicyPtrOutput) ToTagValueIamPolicyPtrOutputWithContext added in v4.21.0

func (o TagValueIamPolicyPtrOutput) ToTagValueIamPolicyPtrOutputWithContext(ctx context.Context) TagValueIamPolicyPtrOutput

type TagValueIamPolicyState added in v4.21.0

type TagValueIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	TagValue pulumi.StringPtrInput
}

func (TagValueIamPolicyState) ElementType added in v4.21.0

func (TagValueIamPolicyState) ElementType() reflect.Type

type TagValueInput added in v4.19.0

type TagValueInput interface {
	pulumi.Input

	ToTagValueOutput() TagValueOutput
	ToTagValueOutputWithContext(ctx context.Context) TagValueOutput
}

type TagValueMap added in v4.19.0

type TagValueMap map[string]TagValueInput

func (TagValueMap) ElementType added in v4.19.0

func (TagValueMap) ElementType() reflect.Type

func (TagValueMap) ToTagValueMapOutput added in v4.19.0

func (i TagValueMap) ToTagValueMapOutput() TagValueMapOutput

func (TagValueMap) ToTagValueMapOutputWithContext added in v4.19.0

func (i TagValueMap) ToTagValueMapOutputWithContext(ctx context.Context) TagValueMapOutput

type TagValueMapInput added in v4.19.0

type TagValueMapInput interface {
	pulumi.Input

	ToTagValueMapOutput() TagValueMapOutput
	ToTagValueMapOutputWithContext(context.Context) TagValueMapOutput
}

TagValueMapInput is an input type that accepts TagValueMap and TagValueMapOutput values. You can construct a concrete instance of `TagValueMapInput` via:

TagValueMap{ "key": TagValueArgs{...} }

type TagValueMapOutput added in v4.19.0

type TagValueMapOutput struct{ *pulumi.OutputState }

func (TagValueMapOutput) ElementType added in v4.19.0

func (TagValueMapOutput) ElementType() reflect.Type

func (TagValueMapOutput) MapIndex added in v4.19.0

func (TagValueMapOutput) ToTagValueMapOutput added in v4.19.0

func (o TagValueMapOutput) ToTagValueMapOutput() TagValueMapOutput

func (TagValueMapOutput) ToTagValueMapOutputWithContext added in v4.19.0

func (o TagValueMapOutput) ToTagValueMapOutputWithContext(ctx context.Context) TagValueMapOutput

type TagValueOutput added in v4.19.0

type TagValueOutput struct {
	*pulumi.OutputState
}

func (TagValueOutput) ElementType added in v4.19.0

func (TagValueOutput) ElementType() reflect.Type

func (TagValueOutput) ToTagValueOutput added in v4.19.0

func (o TagValueOutput) ToTagValueOutput() TagValueOutput

func (TagValueOutput) ToTagValueOutputWithContext added in v4.19.0

func (o TagValueOutput) ToTagValueOutputWithContext(ctx context.Context) TagValueOutput

func (TagValueOutput) ToTagValuePtrOutput added in v4.19.0

func (o TagValueOutput) ToTagValuePtrOutput() TagValuePtrOutput

func (TagValueOutput) ToTagValuePtrOutputWithContext added in v4.19.0

func (o TagValueOutput) ToTagValuePtrOutputWithContext(ctx context.Context) TagValuePtrOutput

type TagValuePtrInput added in v4.19.0

type TagValuePtrInput interface {
	pulumi.Input

	ToTagValuePtrOutput() TagValuePtrOutput
	ToTagValuePtrOutputWithContext(ctx context.Context) TagValuePtrOutput
}

type TagValuePtrOutput added in v4.19.0

type TagValuePtrOutput struct {
	*pulumi.OutputState
}

func (TagValuePtrOutput) ElementType added in v4.19.0

func (TagValuePtrOutput) ElementType() reflect.Type

func (TagValuePtrOutput) ToTagValuePtrOutput added in v4.19.0

func (o TagValuePtrOutput) ToTagValuePtrOutput() TagValuePtrOutput

func (TagValuePtrOutput) ToTagValuePtrOutputWithContext added in v4.19.0

func (o TagValuePtrOutput) ToTagValuePtrOutputWithContext(ctx context.Context) TagValuePtrOutput

type TagValueState added in v4.19.0

type TagValueState struct {
	// Output only. Creation time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
	// fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	CreateTime pulumi.StringPtrInput
	// User-assigned description of the TagValue. Must not exceed 256 characters.
	Description pulumi.StringPtrInput
	// The generated numeric id for the TagValue.
	Name pulumi.StringPtrInput
	// Output only. Namespaced name of the TagValue. Will be in the format {organizationId}/{tag_key_short_name}/{shortName}.
	NamespacedName pulumi.StringPtrInput
	// Input only. The resource name of the new TagValue's parent. Must be of the form tagKeys/{tag_key_id}.
	Parent pulumi.StringPtrInput
	// Input only. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey.
	// The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
	ShortName pulumi.StringPtrInput
	// Output only. Update time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
	// digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	UpdateTime pulumi.StringPtrInput
}

func (TagValueState) ElementType added in v4.19.0

func (TagValueState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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