cloudtasks

package
v6.67.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LookupQueueIamPolicyArgs added in v6.59.0

type LookupQueueIamPolicyArgs struct {
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location *string `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name string `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getQueueIamPolicy.

type LookupQueueIamPolicyOutputArgs added in v6.59.0

type LookupQueueIamPolicyOutputArgs struct {
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getQueueIamPolicy.

func (LookupQueueIamPolicyOutputArgs) ElementType added in v6.59.0

type LookupQueueIamPolicyResult added in v6.59.0

type LookupQueueIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// (Required only by `cloudtasks.QueueIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
	Project    string `pulumi:"project"`
}

A collection of values returned by getQueueIamPolicy.

func LookupQueueIamPolicy added in v6.59.0

func LookupQueueIamPolicy(ctx *pulumi.Context, args *LookupQueueIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupQueueIamPolicyResult, error)

Retrieves the current IAM policy data for queue

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.LookupQueueIamPolicy(ctx, &cloudtasks.LookupQueueIamPolicyArgs{
			Project:  pulumi.StringRef(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.StringRef(google_cloud_tasks_queue.Default.Location),
			Name:     google_cloud_tasks_queue.Default.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupQueueIamPolicyResultOutput added in v6.59.0

type LookupQueueIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQueueIamPolicy.

func LookupQueueIamPolicyOutput added in v6.59.0

func (LookupQueueIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupQueueIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupQueueIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupQueueIamPolicyResultOutput) Location added in v6.59.0

func (LookupQueueIamPolicyResultOutput) Name added in v6.59.0

func (LookupQueueIamPolicyResultOutput) PolicyData added in v6.59.0

(Required only by `cloudtasks.QueueIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupQueueIamPolicyResultOutput) Project added in v6.59.0

func (LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutput added in v6.59.0

func (o LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutput() LookupQueueIamPolicyResultOutput

func (LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutputWithContext(ctx context.Context) LookupQueueIamPolicyResultOutput

func (LookupQueueIamPolicyResultOutput) ToOutput added in v6.65.1

type Queue

type Queue struct {
	pulumi.CustomResourceState

	// Overrides for task-level appEngineRouting. These settings apply only
	// to App Engine tasks in this queue
	// Structure is documented below.
	AppEngineRoutingOverride QueueAppEngineRoutingOverridePtrOutput `pulumi:"appEngineRoutingOverride"`
	// The location of the queue
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// The queue name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// Rate limits for task dispatches.
	// The queue's actual dispatch rate is the result of:
	// * Number of tasks in the queue
	// * User-specified throttling: rateLimits, retryConfig, and the queue's state.
	// * System throttling due to 429 (Too Many Requests) or 503 (Service
	//   Unavailable) responses from the worker, high error rates, or to
	//   smooth sudden large traffic spikes.
	//   Structure is documented below.
	RateLimits QueueRateLimitsOutput `pulumi:"rateLimits"`
	// Settings that determine the retry behavior.
	// Structure is documented below.
	RetryConfig QueueRetryConfigOutput `pulumi:"retryConfig"`
	// Configuration options for writing logs to Stackdriver Logging.
	// Structure is documented below.
	StackdriverLoggingConfig QueueStackdriverLoggingConfigPtrOutput `pulumi:"stackdriverLoggingConfig"`
}

A named resource to which messages are sent by publishers.

> **Warning:** This resource requires an App Engine application to be created on the project you're provisioning it on. If you haven't already enabled it, you can create a `appengine.Application` resource to do so. This resource's location will be the same as the App Engine location specified.

## Example Usage ### Queue Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueue(ctx, "default", &cloudtasks.QueueArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloud Tasks Queue Advanced

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueue(ctx, "advancedConfiguration", &cloudtasks.QueueArgs{
			AppEngineRoutingOverride: &cloudtasks.QueueAppEngineRoutingOverrideArgs{
				Instance: pulumi.String("test"),
				Service:  pulumi.String("worker"),
				Version:  pulumi.String("1.0"),
			},
			Location: pulumi.String("us-central1"),
			RateLimits: &cloudtasks.QueueRateLimitsArgs{
				MaxConcurrentDispatches: pulumi.Int(3),
				MaxDispatchesPerSecond:  pulumi.Float64(2),
			},
			RetryConfig: &cloudtasks.QueueRetryConfigArgs{
				MaxAttempts:      pulumi.Int(5),
				MaxBackoff:       pulumi.String("3s"),
				MaxDoublings:     pulumi.Int(1),
				MaxRetryDuration: pulumi.String("4s"),
				MinBackoff:       pulumi.String("2s"),
			},
			StackdriverLoggingConfig: &cloudtasks.QueueStackdriverLoggingConfigArgs{
				SamplingRatio: pulumi.Float64(0.9),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Queue can be imported using any of these accepted formats

```sh

$ pulumi import gcp:cloudtasks/queue:Queue default projects/{{project}}/locations/{{location}}/queues/{{name}}

```

```sh

$ pulumi import gcp:cloudtasks/queue:Queue default {{project}}/{{location}}/{{name}}

```

```sh

$ pulumi import gcp:cloudtasks/queue:Queue default {{location}}/{{name}}

```

func GetQueue

func GetQueue(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QueueState, opts ...pulumi.ResourceOption) (*Queue, error)

GetQueue gets an existing Queue 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 NewQueue

func NewQueue(ctx *pulumi.Context,
	name string, args *QueueArgs, opts ...pulumi.ResourceOption) (*Queue, error)

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

func (*Queue) ElementType

func (*Queue) ElementType() reflect.Type

func (*Queue) ToOutput added in v6.65.1

func (i *Queue) ToOutput(ctx context.Context) pulumix.Output[*Queue]

func (*Queue) ToQueueOutput

func (i *Queue) ToQueueOutput() QueueOutput

func (*Queue) ToQueueOutputWithContext

func (i *Queue) ToQueueOutputWithContext(ctx context.Context) QueueOutput

type QueueAppEngineRoutingOverride

type QueueAppEngineRoutingOverride struct {
	// (Output)
	// The host that the task is sent to.
	Host *string `pulumi:"host"`
	// App instance.
	// By default, the task is sent to an instance which is available when the task is attempted.
	Instance *string `pulumi:"instance"`
	// App service.
	// By default, the task is sent to the service which is the default service when the task is attempted.
	Service *string `pulumi:"service"`
	// App version.
	// By default, the task is sent to the version which is the default version when the task is attempted.
	Version *string `pulumi:"version"`
}

type QueueAppEngineRoutingOverrideArgs

type QueueAppEngineRoutingOverrideArgs struct {
	// (Output)
	// The host that the task is sent to.
	Host pulumi.StringPtrInput `pulumi:"host"`
	// App instance.
	// By default, the task is sent to an instance which is available when the task is attempted.
	Instance pulumi.StringPtrInput `pulumi:"instance"`
	// App service.
	// By default, the task is sent to the service which is the default service when the task is attempted.
	Service pulumi.StringPtrInput `pulumi:"service"`
	// App version.
	// By default, the task is sent to the version which is the default version when the task is attempted.
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (QueueAppEngineRoutingOverrideArgs) ElementType

func (QueueAppEngineRoutingOverrideArgs) ToOutput added in v6.65.1

func (QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverrideOutput

func (i QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverrideOutput() QueueAppEngineRoutingOverrideOutput

func (QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverrideOutputWithContext

func (i QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverrideOutputWithContext(ctx context.Context) QueueAppEngineRoutingOverrideOutput

func (QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverridePtrOutput

func (i QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverridePtrOutput() QueueAppEngineRoutingOverridePtrOutput

func (QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverridePtrOutputWithContext

func (i QueueAppEngineRoutingOverrideArgs) ToQueueAppEngineRoutingOverridePtrOutputWithContext(ctx context.Context) QueueAppEngineRoutingOverridePtrOutput

type QueueAppEngineRoutingOverrideInput

type QueueAppEngineRoutingOverrideInput interface {
	pulumi.Input

	ToQueueAppEngineRoutingOverrideOutput() QueueAppEngineRoutingOverrideOutput
	ToQueueAppEngineRoutingOverrideOutputWithContext(context.Context) QueueAppEngineRoutingOverrideOutput
}

QueueAppEngineRoutingOverrideInput is an input type that accepts QueueAppEngineRoutingOverrideArgs and QueueAppEngineRoutingOverrideOutput values. You can construct a concrete instance of `QueueAppEngineRoutingOverrideInput` via:

QueueAppEngineRoutingOverrideArgs{...}

type QueueAppEngineRoutingOverrideOutput

type QueueAppEngineRoutingOverrideOutput struct{ *pulumi.OutputState }

func (QueueAppEngineRoutingOverrideOutput) ElementType

func (QueueAppEngineRoutingOverrideOutput) Host

(Output) The host that the task is sent to.

func (QueueAppEngineRoutingOverrideOutput) Instance

App instance. By default, the task is sent to an instance which is available when the task is attempted.

func (QueueAppEngineRoutingOverrideOutput) Service

App service. By default, the task is sent to the service which is the default service when the task is attempted.

func (QueueAppEngineRoutingOverrideOutput) ToOutput added in v6.65.1

func (QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverrideOutput

func (o QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverrideOutput() QueueAppEngineRoutingOverrideOutput

func (QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverrideOutputWithContext

func (o QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverrideOutputWithContext(ctx context.Context) QueueAppEngineRoutingOverrideOutput

func (QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverridePtrOutput

func (o QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverridePtrOutput() QueueAppEngineRoutingOverridePtrOutput

func (QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverridePtrOutputWithContext

func (o QueueAppEngineRoutingOverrideOutput) ToQueueAppEngineRoutingOverridePtrOutputWithContext(ctx context.Context) QueueAppEngineRoutingOverridePtrOutput

func (QueueAppEngineRoutingOverrideOutput) Version

App version. By default, the task is sent to the version which is the default version when the task is attempted.

type QueueAppEngineRoutingOverridePtrInput

type QueueAppEngineRoutingOverridePtrInput interface {
	pulumi.Input

	ToQueueAppEngineRoutingOverridePtrOutput() QueueAppEngineRoutingOverridePtrOutput
	ToQueueAppEngineRoutingOverridePtrOutputWithContext(context.Context) QueueAppEngineRoutingOverridePtrOutput
}

QueueAppEngineRoutingOverridePtrInput is an input type that accepts QueueAppEngineRoutingOverrideArgs, QueueAppEngineRoutingOverridePtr and QueueAppEngineRoutingOverridePtrOutput values. You can construct a concrete instance of `QueueAppEngineRoutingOverridePtrInput` via:

        QueueAppEngineRoutingOverrideArgs{...}

or:

        nil

type QueueAppEngineRoutingOverridePtrOutput

type QueueAppEngineRoutingOverridePtrOutput struct{ *pulumi.OutputState }

func (QueueAppEngineRoutingOverridePtrOutput) Elem

func (QueueAppEngineRoutingOverridePtrOutput) ElementType

func (QueueAppEngineRoutingOverridePtrOutput) Host

(Output) The host that the task is sent to.

func (QueueAppEngineRoutingOverridePtrOutput) Instance

App instance. By default, the task is sent to an instance which is available when the task is attempted.

func (QueueAppEngineRoutingOverridePtrOutput) Service

App service. By default, the task is sent to the service which is the default service when the task is attempted.

func (QueueAppEngineRoutingOverridePtrOutput) ToOutput added in v6.65.1

func (QueueAppEngineRoutingOverridePtrOutput) ToQueueAppEngineRoutingOverridePtrOutput

func (o QueueAppEngineRoutingOverridePtrOutput) ToQueueAppEngineRoutingOverridePtrOutput() QueueAppEngineRoutingOverridePtrOutput

func (QueueAppEngineRoutingOverridePtrOutput) ToQueueAppEngineRoutingOverridePtrOutputWithContext

func (o QueueAppEngineRoutingOverridePtrOutput) ToQueueAppEngineRoutingOverridePtrOutputWithContext(ctx context.Context) QueueAppEngineRoutingOverridePtrOutput

func (QueueAppEngineRoutingOverridePtrOutput) Version

App version. By default, the task is sent to the version which is the default version when the task is attempted.

type QueueArgs

type QueueArgs struct {
	// Overrides for task-level appEngineRouting. These settings apply only
	// to App Engine tasks in this queue
	// Structure is documented below.
	AppEngineRoutingOverride QueueAppEngineRoutingOverridePtrInput
	// The location of the queue
	//
	// ***
	Location pulumi.StringInput
	// The queue name.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Rate limits for task dispatches.
	// The queue's actual dispatch rate is the result of:
	// * Number of tasks in the queue
	// * User-specified throttling: rateLimits, retryConfig, and the queue's state.
	// * System throttling due to 429 (Too Many Requests) or 503 (Service
	//   Unavailable) responses from the worker, high error rates, or to
	//   smooth sudden large traffic spikes.
	//   Structure is documented below.
	RateLimits QueueRateLimitsPtrInput
	// Settings that determine the retry behavior.
	// Structure is documented below.
	RetryConfig QueueRetryConfigPtrInput
	// Configuration options for writing logs to Stackdriver Logging.
	// Structure is documented below.
	StackdriverLoggingConfig QueueStackdriverLoggingConfigPtrInput
}

The set of arguments for constructing a Queue resource.

func (QueueArgs) ElementType

func (QueueArgs) ElementType() reflect.Type

type QueueArray

type QueueArray []QueueInput

func (QueueArray) ElementType

func (QueueArray) ElementType() reflect.Type

func (QueueArray) ToOutput added in v6.65.1

func (i QueueArray) ToOutput(ctx context.Context) pulumix.Output[[]*Queue]

func (QueueArray) ToQueueArrayOutput

func (i QueueArray) ToQueueArrayOutput() QueueArrayOutput

func (QueueArray) ToQueueArrayOutputWithContext

func (i QueueArray) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput

type QueueArrayInput

type QueueArrayInput interface {
	pulumi.Input

	ToQueueArrayOutput() QueueArrayOutput
	ToQueueArrayOutputWithContext(context.Context) QueueArrayOutput
}

QueueArrayInput is an input type that accepts QueueArray and QueueArrayOutput values. You can construct a concrete instance of `QueueArrayInput` via:

QueueArray{ QueueArgs{...} }

type QueueArrayOutput

type QueueArrayOutput struct{ *pulumi.OutputState }

func (QueueArrayOutput) ElementType

func (QueueArrayOutput) ElementType() reflect.Type

func (QueueArrayOutput) Index

func (QueueArrayOutput) ToOutput added in v6.65.1

func (o QueueArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Queue]

func (QueueArrayOutput) ToQueueArrayOutput

func (o QueueArrayOutput) ToQueueArrayOutput() QueueArrayOutput

func (QueueArrayOutput) ToQueueArrayOutputWithContext

func (o QueueArrayOutput) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput

type QueueIamBinding added in v6.31.0

type QueueIamBinding struct {
	pulumi.CustomResourceState

	Condition QueueIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `cloudtasks.QueueIamBinding` 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"`
}

Three different resources help you manage your IAM policy for Cloud Tasks Queue. Each of these resources serves a different use case:

* `cloudtasks.QueueIamPolicy`: Authoritative. Sets the IAM policy for the queue and replaces any existing policy already attached. * `cloudtasks.QueueIamBinding`: 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 queue are preserved. * `cloudtasks.QueueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the queue are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `cloudtasks.QueueIamPolicy`: Retrieves the IAM policy for the queue

> **Note:** `cloudtasks.QueueIamPolicy` **cannot** be used in conjunction with `cloudtasks.QueueIamBinding` and `cloudtasks.QueueIamMember` or they will fight over what your policy should be.

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

## google\_cloud\_tasks\_queue\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtasks.NewQueueIamPolicy(ctx, "policy", &cloudtasks.QueueIamPolicyArgs{
			Project:    pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location:   pulumi.Any(google_cloud_tasks_queue.Default.Location),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloud\_tasks\_queue\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueueIamBinding(ctx, "binding", &cloudtasks.QueueIamBindingArgs{
			Project:  pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.Any(google_cloud_tasks_queue.Default.Location),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloud\_tasks\_queue\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueueIamMember(ctx, "member", &cloudtasks.QueueIamMemberArgs{
			Project:  pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.Any(google_cloud_tasks_queue.Default.Location),
			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* projects/{{project}}/locations/{{location}}/queues/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Tasks queue 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:cloudtasks/queueIamBinding:QueueIamBinding editor "projects/{{project}}/locations/{{location}}/queues/{{queue}} 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:cloudtasks/queueIamBinding:QueueIamBinding editor "projects/{{project}}/locations/{{location}}/queues/{{queue}} roles/viewer"

```

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

```sh

$ pulumi import gcp:cloudtasks/queueIamBinding:QueueIamBinding editor projects/{{project}}/locations/{{location}}/queues/{{queue}}

```

-> **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 GetQueueIamBinding added in v6.31.0

func GetQueueIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QueueIamBindingState, opts ...pulumi.ResourceOption) (*QueueIamBinding, error)

GetQueueIamBinding gets an existing QueueIamBinding 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 NewQueueIamBinding added in v6.31.0

func NewQueueIamBinding(ctx *pulumi.Context,
	name string, args *QueueIamBindingArgs, opts ...pulumi.ResourceOption) (*QueueIamBinding, error)

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

func (*QueueIamBinding) ElementType added in v6.31.0

func (*QueueIamBinding) ElementType() reflect.Type

func (*QueueIamBinding) ToOutput added in v6.65.1

func (*QueueIamBinding) ToQueueIamBindingOutput added in v6.31.0

func (i *QueueIamBinding) ToQueueIamBindingOutput() QueueIamBindingOutput

func (*QueueIamBinding) ToQueueIamBindingOutputWithContext added in v6.31.0

func (i *QueueIamBinding) ToQueueIamBindingOutputWithContext(ctx context.Context) QueueIamBindingOutput

type QueueIamBindingArgs added in v6.31.0

type QueueIamBindingArgs struct {
	Condition QueueIamBindingConditionPtrInput
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudtasks.QueueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a QueueIamBinding resource.

func (QueueIamBindingArgs) ElementType added in v6.31.0

func (QueueIamBindingArgs) ElementType() reflect.Type

type QueueIamBindingArray added in v6.31.0

type QueueIamBindingArray []QueueIamBindingInput

func (QueueIamBindingArray) ElementType added in v6.31.0

func (QueueIamBindingArray) ElementType() reflect.Type

func (QueueIamBindingArray) ToOutput added in v6.65.1

func (QueueIamBindingArray) ToQueueIamBindingArrayOutput added in v6.31.0

func (i QueueIamBindingArray) ToQueueIamBindingArrayOutput() QueueIamBindingArrayOutput

func (QueueIamBindingArray) ToQueueIamBindingArrayOutputWithContext added in v6.31.0

func (i QueueIamBindingArray) ToQueueIamBindingArrayOutputWithContext(ctx context.Context) QueueIamBindingArrayOutput

type QueueIamBindingArrayInput added in v6.31.0

type QueueIamBindingArrayInput interface {
	pulumi.Input

	ToQueueIamBindingArrayOutput() QueueIamBindingArrayOutput
	ToQueueIamBindingArrayOutputWithContext(context.Context) QueueIamBindingArrayOutput
}

QueueIamBindingArrayInput is an input type that accepts QueueIamBindingArray and QueueIamBindingArrayOutput values. You can construct a concrete instance of `QueueIamBindingArrayInput` via:

QueueIamBindingArray{ QueueIamBindingArgs{...} }

type QueueIamBindingArrayOutput added in v6.31.0

type QueueIamBindingArrayOutput struct{ *pulumi.OutputState }

func (QueueIamBindingArrayOutput) ElementType added in v6.31.0

func (QueueIamBindingArrayOutput) ElementType() reflect.Type

func (QueueIamBindingArrayOutput) Index added in v6.31.0

func (QueueIamBindingArrayOutput) ToOutput added in v6.65.1

func (QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutput added in v6.31.0

func (o QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutput() QueueIamBindingArrayOutput

func (QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutputWithContext added in v6.31.0

func (o QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutputWithContext(ctx context.Context) QueueIamBindingArrayOutput

type QueueIamBindingCondition added in v6.31.0

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

type QueueIamBindingConditionArgs added in v6.31.0

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

func (QueueIamBindingConditionArgs) ElementType added in v6.31.0

func (QueueIamBindingConditionArgs) ToOutput added in v6.65.1

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutput added in v6.31.0

func (i QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutput() QueueIamBindingConditionOutput

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutputWithContext added in v6.31.0

func (i QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutputWithContext(ctx context.Context) QueueIamBindingConditionOutput

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutput added in v6.31.0

func (i QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutputWithContext added in v6.31.0

func (i QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutputWithContext(ctx context.Context) QueueIamBindingConditionPtrOutput

type QueueIamBindingConditionInput added in v6.31.0

type QueueIamBindingConditionInput interface {
	pulumi.Input

	ToQueueIamBindingConditionOutput() QueueIamBindingConditionOutput
	ToQueueIamBindingConditionOutputWithContext(context.Context) QueueIamBindingConditionOutput
}

QueueIamBindingConditionInput is an input type that accepts QueueIamBindingConditionArgs and QueueIamBindingConditionOutput values. You can construct a concrete instance of `QueueIamBindingConditionInput` via:

QueueIamBindingConditionArgs{...}

type QueueIamBindingConditionOutput added in v6.31.0

type QueueIamBindingConditionOutput struct{ *pulumi.OutputState }

func (QueueIamBindingConditionOutput) Description added in v6.31.0

func (QueueIamBindingConditionOutput) ElementType added in v6.31.0

func (QueueIamBindingConditionOutput) Expression added in v6.31.0

func (QueueIamBindingConditionOutput) Title added in v6.31.0

func (QueueIamBindingConditionOutput) ToOutput added in v6.65.1

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutput added in v6.31.0

func (o QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutput() QueueIamBindingConditionOutput

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutputWithContext added in v6.31.0

func (o QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutputWithContext(ctx context.Context) QueueIamBindingConditionOutput

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutput added in v6.31.0

func (o QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutputWithContext added in v6.31.0

func (o QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutputWithContext(ctx context.Context) QueueIamBindingConditionPtrOutput

type QueueIamBindingConditionPtrInput added in v6.31.0

type QueueIamBindingConditionPtrInput interface {
	pulumi.Input

	ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput
	ToQueueIamBindingConditionPtrOutputWithContext(context.Context) QueueIamBindingConditionPtrOutput
}

QueueIamBindingConditionPtrInput is an input type that accepts QueueIamBindingConditionArgs, QueueIamBindingConditionPtr and QueueIamBindingConditionPtrOutput values. You can construct a concrete instance of `QueueIamBindingConditionPtrInput` via:

        QueueIamBindingConditionArgs{...}

or:

        nil

func QueueIamBindingConditionPtr added in v6.31.0

func QueueIamBindingConditionPtr(v *QueueIamBindingConditionArgs) QueueIamBindingConditionPtrInput

type QueueIamBindingConditionPtrOutput added in v6.31.0

type QueueIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (QueueIamBindingConditionPtrOutput) Description added in v6.31.0

func (QueueIamBindingConditionPtrOutput) Elem added in v6.31.0

func (QueueIamBindingConditionPtrOutput) ElementType added in v6.31.0

func (QueueIamBindingConditionPtrOutput) Expression added in v6.31.0

func (QueueIamBindingConditionPtrOutput) Title added in v6.31.0

func (QueueIamBindingConditionPtrOutput) ToOutput added in v6.65.1

func (QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutput added in v6.31.0

func (o QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput

func (QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutputWithContext added in v6.31.0

func (o QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutputWithContext(ctx context.Context) QueueIamBindingConditionPtrOutput

type QueueIamBindingInput added in v6.31.0

type QueueIamBindingInput interface {
	pulumi.Input

	ToQueueIamBindingOutput() QueueIamBindingOutput
	ToQueueIamBindingOutputWithContext(ctx context.Context) QueueIamBindingOutput
}

type QueueIamBindingMap added in v6.31.0

type QueueIamBindingMap map[string]QueueIamBindingInput

func (QueueIamBindingMap) ElementType added in v6.31.0

func (QueueIamBindingMap) ElementType() reflect.Type

func (QueueIamBindingMap) ToOutput added in v6.65.1

func (QueueIamBindingMap) ToQueueIamBindingMapOutput added in v6.31.0

func (i QueueIamBindingMap) ToQueueIamBindingMapOutput() QueueIamBindingMapOutput

func (QueueIamBindingMap) ToQueueIamBindingMapOutputWithContext added in v6.31.0

func (i QueueIamBindingMap) ToQueueIamBindingMapOutputWithContext(ctx context.Context) QueueIamBindingMapOutput

type QueueIamBindingMapInput added in v6.31.0

type QueueIamBindingMapInput interface {
	pulumi.Input

	ToQueueIamBindingMapOutput() QueueIamBindingMapOutput
	ToQueueIamBindingMapOutputWithContext(context.Context) QueueIamBindingMapOutput
}

QueueIamBindingMapInput is an input type that accepts QueueIamBindingMap and QueueIamBindingMapOutput values. You can construct a concrete instance of `QueueIamBindingMapInput` via:

QueueIamBindingMap{ "key": QueueIamBindingArgs{...} }

type QueueIamBindingMapOutput added in v6.31.0

type QueueIamBindingMapOutput struct{ *pulumi.OutputState }

func (QueueIamBindingMapOutput) ElementType added in v6.31.0

func (QueueIamBindingMapOutput) ElementType() reflect.Type

func (QueueIamBindingMapOutput) MapIndex added in v6.31.0

func (QueueIamBindingMapOutput) ToOutput added in v6.65.1

func (QueueIamBindingMapOutput) ToQueueIamBindingMapOutput added in v6.31.0

func (o QueueIamBindingMapOutput) ToQueueIamBindingMapOutput() QueueIamBindingMapOutput

func (QueueIamBindingMapOutput) ToQueueIamBindingMapOutputWithContext added in v6.31.0

func (o QueueIamBindingMapOutput) ToQueueIamBindingMapOutputWithContext(ctx context.Context) QueueIamBindingMapOutput

type QueueIamBindingOutput added in v6.31.0

type QueueIamBindingOutput struct{ *pulumi.OutputState }

func (QueueIamBindingOutput) Condition added in v6.31.0

func (QueueIamBindingOutput) ElementType added in v6.31.0

func (QueueIamBindingOutput) ElementType() reflect.Type

func (QueueIamBindingOutput) Etag added in v6.31.0

(Computed) The etag of the IAM policy.

func (QueueIamBindingOutput) Location added in v6.31.0

The location of the queue Used to find the parent resource to bind the IAM policy to

func (QueueIamBindingOutput) Members added in v6.31.0

func (QueueIamBindingOutput) Name added in v6.31.0

Used to find the parent resource to bind the IAM policy to

func (QueueIamBindingOutput) Project added in v6.31.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. Each entry can have one of the following values:
  • **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
  • **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
  • **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
  • **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
  • **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
  • **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
  • **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
  • **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
  • **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (QueueIamBindingOutput) Role added in v6.31.0

The role that should be applied. Only one `cloudtasks.QueueIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (QueueIamBindingOutput) ToOutput added in v6.65.1

func (QueueIamBindingOutput) ToQueueIamBindingOutput added in v6.31.0

func (o QueueIamBindingOutput) ToQueueIamBindingOutput() QueueIamBindingOutput

func (QueueIamBindingOutput) ToQueueIamBindingOutputWithContext added in v6.31.0

func (o QueueIamBindingOutput) ToQueueIamBindingOutputWithContext(ctx context.Context) QueueIamBindingOutput

type QueueIamBindingState added in v6.31.0

type QueueIamBindingState struct {
	Condition QueueIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudtasks.QueueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (QueueIamBindingState) ElementType added in v6.31.0

func (QueueIamBindingState) ElementType() reflect.Type

type QueueIamMember added in v6.31.0

type QueueIamMember struct {
	pulumi.CustomResourceState

	Condition QueueIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `cloudtasks.QueueIamBinding` 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"`
}

Three different resources help you manage your IAM policy for Cloud Tasks Queue. Each of these resources serves a different use case:

* `cloudtasks.QueueIamPolicy`: Authoritative. Sets the IAM policy for the queue and replaces any existing policy already attached. * `cloudtasks.QueueIamBinding`: 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 queue are preserved. * `cloudtasks.QueueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the queue are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `cloudtasks.QueueIamPolicy`: Retrieves the IAM policy for the queue

> **Note:** `cloudtasks.QueueIamPolicy` **cannot** be used in conjunction with `cloudtasks.QueueIamBinding` and `cloudtasks.QueueIamMember` or they will fight over what your policy should be.

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

## google\_cloud\_tasks\_queue\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtasks.NewQueueIamPolicy(ctx, "policy", &cloudtasks.QueueIamPolicyArgs{
			Project:    pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location:   pulumi.Any(google_cloud_tasks_queue.Default.Location),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloud\_tasks\_queue\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueueIamBinding(ctx, "binding", &cloudtasks.QueueIamBindingArgs{
			Project:  pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.Any(google_cloud_tasks_queue.Default.Location),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloud\_tasks\_queue\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueueIamMember(ctx, "member", &cloudtasks.QueueIamMemberArgs{
			Project:  pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.Any(google_cloud_tasks_queue.Default.Location),
			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* projects/{{project}}/locations/{{location}}/queues/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Tasks queue 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:cloudtasks/queueIamMember:QueueIamMember editor "projects/{{project}}/locations/{{location}}/queues/{{queue}} 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:cloudtasks/queueIamMember:QueueIamMember editor "projects/{{project}}/locations/{{location}}/queues/{{queue}} roles/viewer"

```

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

```sh

$ pulumi import gcp:cloudtasks/queueIamMember:QueueIamMember editor projects/{{project}}/locations/{{location}}/queues/{{queue}}

```

-> **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 GetQueueIamMember added in v6.31.0

func GetQueueIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QueueIamMemberState, opts ...pulumi.ResourceOption) (*QueueIamMember, error)

GetQueueIamMember gets an existing QueueIamMember 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 NewQueueIamMember added in v6.31.0

func NewQueueIamMember(ctx *pulumi.Context,
	name string, args *QueueIamMemberArgs, opts ...pulumi.ResourceOption) (*QueueIamMember, error)

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

func (*QueueIamMember) ElementType added in v6.31.0

func (*QueueIamMember) ElementType() reflect.Type

func (*QueueIamMember) ToOutput added in v6.65.1

func (*QueueIamMember) ToQueueIamMemberOutput added in v6.31.0

func (i *QueueIamMember) ToQueueIamMemberOutput() QueueIamMemberOutput

func (*QueueIamMember) ToQueueIamMemberOutputWithContext added in v6.31.0

func (i *QueueIamMember) ToQueueIamMemberOutputWithContext(ctx context.Context) QueueIamMemberOutput

type QueueIamMemberArgs added in v6.31.0

type QueueIamMemberArgs struct {
	Condition QueueIamMemberConditionPtrInput
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Member   pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudtasks.QueueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a QueueIamMember resource.

func (QueueIamMemberArgs) ElementType added in v6.31.0

func (QueueIamMemberArgs) ElementType() reflect.Type

type QueueIamMemberArray added in v6.31.0

type QueueIamMemberArray []QueueIamMemberInput

func (QueueIamMemberArray) ElementType added in v6.31.0

func (QueueIamMemberArray) ElementType() reflect.Type

func (QueueIamMemberArray) ToOutput added in v6.65.1

func (QueueIamMemberArray) ToQueueIamMemberArrayOutput added in v6.31.0

func (i QueueIamMemberArray) ToQueueIamMemberArrayOutput() QueueIamMemberArrayOutput

func (QueueIamMemberArray) ToQueueIamMemberArrayOutputWithContext added in v6.31.0

func (i QueueIamMemberArray) ToQueueIamMemberArrayOutputWithContext(ctx context.Context) QueueIamMemberArrayOutput

type QueueIamMemberArrayInput added in v6.31.0

type QueueIamMemberArrayInput interface {
	pulumi.Input

	ToQueueIamMemberArrayOutput() QueueIamMemberArrayOutput
	ToQueueIamMemberArrayOutputWithContext(context.Context) QueueIamMemberArrayOutput
}

QueueIamMemberArrayInput is an input type that accepts QueueIamMemberArray and QueueIamMemberArrayOutput values. You can construct a concrete instance of `QueueIamMemberArrayInput` via:

QueueIamMemberArray{ QueueIamMemberArgs{...} }

type QueueIamMemberArrayOutput added in v6.31.0

type QueueIamMemberArrayOutput struct{ *pulumi.OutputState }

func (QueueIamMemberArrayOutput) ElementType added in v6.31.0

func (QueueIamMemberArrayOutput) ElementType() reflect.Type

func (QueueIamMemberArrayOutput) Index added in v6.31.0

func (QueueIamMemberArrayOutput) ToOutput added in v6.65.1

func (QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutput added in v6.31.0

func (o QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutput() QueueIamMemberArrayOutput

func (QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutputWithContext added in v6.31.0

func (o QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutputWithContext(ctx context.Context) QueueIamMemberArrayOutput

type QueueIamMemberCondition added in v6.31.0

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

type QueueIamMemberConditionArgs added in v6.31.0

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

func (QueueIamMemberConditionArgs) ElementType added in v6.31.0

func (QueueIamMemberConditionArgs) ToOutput added in v6.65.1

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutput added in v6.31.0

func (i QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutput() QueueIamMemberConditionOutput

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutputWithContext added in v6.31.0

func (i QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutputWithContext(ctx context.Context) QueueIamMemberConditionOutput

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutput added in v6.31.0

func (i QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutputWithContext added in v6.31.0

func (i QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutputWithContext(ctx context.Context) QueueIamMemberConditionPtrOutput

type QueueIamMemberConditionInput added in v6.31.0

type QueueIamMemberConditionInput interface {
	pulumi.Input

	ToQueueIamMemberConditionOutput() QueueIamMemberConditionOutput
	ToQueueIamMemberConditionOutputWithContext(context.Context) QueueIamMemberConditionOutput
}

QueueIamMemberConditionInput is an input type that accepts QueueIamMemberConditionArgs and QueueIamMemberConditionOutput values. You can construct a concrete instance of `QueueIamMemberConditionInput` via:

QueueIamMemberConditionArgs{...}

type QueueIamMemberConditionOutput added in v6.31.0

type QueueIamMemberConditionOutput struct{ *pulumi.OutputState }

func (QueueIamMemberConditionOutput) Description added in v6.31.0

func (QueueIamMemberConditionOutput) ElementType added in v6.31.0

func (QueueIamMemberConditionOutput) Expression added in v6.31.0

func (QueueIamMemberConditionOutput) Title added in v6.31.0

func (QueueIamMemberConditionOutput) ToOutput added in v6.65.1

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutput added in v6.31.0

func (o QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutput() QueueIamMemberConditionOutput

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutputWithContext added in v6.31.0

func (o QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutputWithContext(ctx context.Context) QueueIamMemberConditionOutput

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutput added in v6.31.0

func (o QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutputWithContext added in v6.31.0

func (o QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutputWithContext(ctx context.Context) QueueIamMemberConditionPtrOutput

type QueueIamMemberConditionPtrInput added in v6.31.0

type QueueIamMemberConditionPtrInput interface {
	pulumi.Input

	ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput
	ToQueueIamMemberConditionPtrOutputWithContext(context.Context) QueueIamMemberConditionPtrOutput
}

QueueIamMemberConditionPtrInput is an input type that accepts QueueIamMemberConditionArgs, QueueIamMemberConditionPtr and QueueIamMemberConditionPtrOutput values. You can construct a concrete instance of `QueueIamMemberConditionPtrInput` via:

        QueueIamMemberConditionArgs{...}

or:

        nil

func QueueIamMemberConditionPtr added in v6.31.0

func QueueIamMemberConditionPtr(v *QueueIamMemberConditionArgs) QueueIamMemberConditionPtrInput

type QueueIamMemberConditionPtrOutput added in v6.31.0

type QueueIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (QueueIamMemberConditionPtrOutput) Description added in v6.31.0

func (QueueIamMemberConditionPtrOutput) Elem added in v6.31.0

func (QueueIamMemberConditionPtrOutput) ElementType added in v6.31.0

func (QueueIamMemberConditionPtrOutput) Expression added in v6.31.0

func (QueueIamMemberConditionPtrOutput) Title added in v6.31.0

func (QueueIamMemberConditionPtrOutput) ToOutput added in v6.65.1

func (QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutput added in v6.31.0

func (o QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput

func (QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutputWithContext added in v6.31.0

func (o QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutputWithContext(ctx context.Context) QueueIamMemberConditionPtrOutput

type QueueIamMemberInput added in v6.31.0

type QueueIamMemberInput interface {
	pulumi.Input

	ToQueueIamMemberOutput() QueueIamMemberOutput
	ToQueueIamMemberOutputWithContext(ctx context.Context) QueueIamMemberOutput
}

type QueueIamMemberMap added in v6.31.0

type QueueIamMemberMap map[string]QueueIamMemberInput

func (QueueIamMemberMap) ElementType added in v6.31.0

func (QueueIamMemberMap) ElementType() reflect.Type

func (QueueIamMemberMap) ToOutput added in v6.65.1

func (QueueIamMemberMap) ToQueueIamMemberMapOutput added in v6.31.0

func (i QueueIamMemberMap) ToQueueIamMemberMapOutput() QueueIamMemberMapOutput

func (QueueIamMemberMap) ToQueueIamMemberMapOutputWithContext added in v6.31.0

func (i QueueIamMemberMap) ToQueueIamMemberMapOutputWithContext(ctx context.Context) QueueIamMemberMapOutput

type QueueIamMemberMapInput added in v6.31.0

type QueueIamMemberMapInput interface {
	pulumi.Input

	ToQueueIamMemberMapOutput() QueueIamMemberMapOutput
	ToQueueIamMemberMapOutputWithContext(context.Context) QueueIamMemberMapOutput
}

QueueIamMemberMapInput is an input type that accepts QueueIamMemberMap and QueueIamMemberMapOutput values. You can construct a concrete instance of `QueueIamMemberMapInput` via:

QueueIamMemberMap{ "key": QueueIamMemberArgs{...} }

type QueueIamMemberMapOutput added in v6.31.0

type QueueIamMemberMapOutput struct{ *pulumi.OutputState }

func (QueueIamMemberMapOutput) ElementType added in v6.31.0

func (QueueIamMemberMapOutput) ElementType() reflect.Type

func (QueueIamMemberMapOutput) MapIndex added in v6.31.0

func (QueueIamMemberMapOutput) ToOutput added in v6.65.1

func (QueueIamMemberMapOutput) ToQueueIamMemberMapOutput added in v6.31.0

func (o QueueIamMemberMapOutput) ToQueueIamMemberMapOutput() QueueIamMemberMapOutput

func (QueueIamMemberMapOutput) ToQueueIamMemberMapOutputWithContext added in v6.31.0

func (o QueueIamMemberMapOutput) ToQueueIamMemberMapOutputWithContext(ctx context.Context) QueueIamMemberMapOutput

type QueueIamMemberOutput added in v6.31.0

type QueueIamMemberOutput struct{ *pulumi.OutputState }

func (QueueIamMemberOutput) Condition added in v6.31.0

func (QueueIamMemberOutput) ElementType added in v6.31.0

func (QueueIamMemberOutput) ElementType() reflect.Type

func (QueueIamMemberOutput) Etag added in v6.31.0

(Computed) The etag of the IAM policy.

func (QueueIamMemberOutput) Location added in v6.31.0

The location of the queue Used to find the parent resource to bind the IAM policy to

func (QueueIamMemberOutput) Member added in v6.31.0

func (QueueIamMemberOutput) Name added in v6.31.0

Used to find the parent resource to bind the IAM policy to

func (QueueIamMemberOutput) Project added in v6.31.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. Each entry can have one of the following values:
  • **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
  • **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
  • **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
  • **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
  • **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
  • **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
  • **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
  • **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
  • **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (QueueIamMemberOutput) Role added in v6.31.0

The role that should be applied. Only one `cloudtasks.QueueIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (QueueIamMemberOutput) ToOutput added in v6.65.1

func (QueueIamMemberOutput) ToQueueIamMemberOutput added in v6.31.0

func (o QueueIamMemberOutput) ToQueueIamMemberOutput() QueueIamMemberOutput

func (QueueIamMemberOutput) ToQueueIamMemberOutputWithContext added in v6.31.0

func (o QueueIamMemberOutput) ToQueueIamMemberOutputWithContext(ctx context.Context) QueueIamMemberOutput

type QueueIamMemberState added in v6.31.0

type QueueIamMemberState struct {
	Condition QueueIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Member   pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `cloudtasks.QueueIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (QueueIamMemberState) ElementType added in v6.31.0

func (QueueIamMemberState) ElementType() reflect.Type

type QueueIamPolicy added in v6.31.0

type QueueIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
}

Three different resources help you manage your IAM policy for Cloud Tasks Queue. Each of these resources serves a different use case:

* `cloudtasks.QueueIamPolicy`: Authoritative. Sets the IAM policy for the queue and replaces any existing policy already attached. * `cloudtasks.QueueIamBinding`: 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 queue are preserved. * `cloudtasks.QueueIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the queue are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `cloudtasks.QueueIamPolicy`: Retrieves the IAM policy for the queue

> **Note:** `cloudtasks.QueueIamPolicy` **cannot** be used in conjunction with `cloudtasks.QueueIamBinding` and `cloudtasks.QueueIamMember` or they will fight over what your policy should be.

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

## google\_cloud\_tasks\_queue\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtasks.NewQueueIamPolicy(ctx, "policy", &cloudtasks.QueueIamPolicyArgs{
			Project:    pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location:   pulumi.Any(google_cloud_tasks_queue.Default.Location),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloud\_tasks\_queue\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueueIamBinding(ctx, "binding", &cloudtasks.QueueIamBindingArgs{
			Project:  pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.Any(google_cloud_tasks_queue.Default.Location),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloud\_tasks\_queue\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueueIamMember(ctx, "member", &cloudtasks.QueueIamMemberArgs{
			Project:  pulumi.Any(google_cloud_tasks_queue.Default.Project),
			Location: pulumi.Any(google_cloud_tasks_queue.Default.Location),
			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* projects/{{project}}/locations/{{location}}/queues/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Tasks queue 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:cloudtasks/queueIamPolicy:QueueIamPolicy editor "projects/{{project}}/locations/{{location}}/queues/{{queue}} 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:cloudtasks/queueIamPolicy:QueueIamPolicy editor "projects/{{project}}/locations/{{location}}/queues/{{queue}} roles/viewer"

```

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

```sh

$ pulumi import gcp:cloudtasks/queueIamPolicy:QueueIamPolicy editor projects/{{project}}/locations/{{location}}/queues/{{queue}}

```

-> **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 GetQueueIamPolicy added in v6.31.0

func GetQueueIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QueueIamPolicyState, opts ...pulumi.ResourceOption) (*QueueIamPolicy, error)

GetQueueIamPolicy gets an existing QueueIamPolicy 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 NewQueueIamPolicy added in v6.31.0

func NewQueueIamPolicy(ctx *pulumi.Context,
	name string, args *QueueIamPolicyArgs, opts ...pulumi.ResourceOption) (*QueueIamPolicy, error)

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

func (*QueueIamPolicy) ElementType added in v6.31.0

func (*QueueIamPolicy) ElementType() reflect.Type

func (*QueueIamPolicy) ToOutput added in v6.65.1

func (*QueueIamPolicy) ToQueueIamPolicyOutput added in v6.31.0

func (i *QueueIamPolicy) ToQueueIamPolicyOutput() QueueIamPolicyOutput

func (*QueueIamPolicy) ToQueueIamPolicyOutputWithContext added in v6.31.0

func (i *QueueIamPolicy) ToQueueIamPolicyOutputWithContext(ctx context.Context) QueueIamPolicyOutput

type QueueIamPolicyArgs added in v6.31.0

type QueueIamPolicyArgs struct {
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a QueueIamPolicy resource.

func (QueueIamPolicyArgs) ElementType added in v6.31.0

func (QueueIamPolicyArgs) ElementType() reflect.Type

type QueueIamPolicyArray added in v6.31.0

type QueueIamPolicyArray []QueueIamPolicyInput

func (QueueIamPolicyArray) ElementType added in v6.31.0

func (QueueIamPolicyArray) ElementType() reflect.Type

func (QueueIamPolicyArray) ToOutput added in v6.65.1

func (QueueIamPolicyArray) ToQueueIamPolicyArrayOutput added in v6.31.0

func (i QueueIamPolicyArray) ToQueueIamPolicyArrayOutput() QueueIamPolicyArrayOutput

func (QueueIamPolicyArray) ToQueueIamPolicyArrayOutputWithContext added in v6.31.0

func (i QueueIamPolicyArray) ToQueueIamPolicyArrayOutputWithContext(ctx context.Context) QueueIamPolicyArrayOutput

type QueueIamPolicyArrayInput added in v6.31.0

type QueueIamPolicyArrayInput interface {
	pulumi.Input

	ToQueueIamPolicyArrayOutput() QueueIamPolicyArrayOutput
	ToQueueIamPolicyArrayOutputWithContext(context.Context) QueueIamPolicyArrayOutput
}

QueueIamPolicyArrayInput is an input type that accepts QueueIamPolicyArray and QueueIamPolicyArrayOutput values. You can construct a concrete instance of `QueueIamPolicyArrayInput` via:

QueueIamPolicyArray{ QueueIamPolicyArgs{...} }

type QueueIamPolicyArrayOutput added in v6.31.0

type QueueIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (QueueIamPolicyArrayOutput) ElementType added in v6.31.0

func (QueueIamPolicyArrayOutput) ElementType() reflect.Type

func (QueueIamPolicyArrayOutput) Index added in v6.31.0

func (QueueIamPolicyArrayOutput) ToOutput added in v6.65.1

func (QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutput added in v6.31.0

func (o QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutput() QueueIamPolicyArrayOutput

func (QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutputWithContext added in v6.31.0

func (o QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutputWithContext(ctx context.Context) QueueIamPolicyArrayOutput

type QueueIamPolicyInput added in v6.31.0

type QueueIamPolicyInput interface {
	pulumi.Input

	ToQueueIamPolicyOutput() QueueIamPolicyOutput
	ToQueueIamPolicyOutputWithContext(ctx context.Context) QueueIamPolicyOutput
}

type QueueIamPolicyMap added in v6.31.0

type QueueIamPolicyMap map[string]QueueIamPolicyInput

func (QueueIamPolicyMap) ElementType added in v6.31.0

func (QueueIamPolicyMap) ElementType() reflect.Type

func (QueueIamPolicyMap) ToOutput added in v6.65.1

func (QueueIamPolicyMap) ToQueueIamPolicyMapOutput added in v6.31.0

func (i QueueIamPolicyMap) ToQueueIamPolicyMapOutput() QueueIamPolicyMapOutput

func (QueueIamPolicyMap) ToQueueIamPolicyMapOutputWithContext added in v6.31.0

func (i QueueIamPolicyMap) ToQueueIamPolicyMapOutputWithContext(ctx context.Context) QueueIamPolicyMapOutput

type QueueIamPolicyMapInput added in v6.31.0

type QueueIamPolicyMapInput interface {
	pulumi.Input

	ToQueueIamPolicyMapOutput() QueueIamPolicyMapOutput
	ToQueueIamPolicyMapOutputWithContext(context.Context) QueueIamPolicyMapOutput
}

QueueIamPolicyMapInput is an input type that accepts QueueIamPolicyMap and QueueIamPolicyMapOutput values. You can construct a concrete instance of `QueueIamPolicyMapInput` via:

QueueIamPolicyMap{ "key": QueueIamPolicyArgs{...} }

type QueueIamPolicyMapOutput added in v6.31.0

type QueueIamPolicyMapOutput struct{ *pulumi.OutputState }

func (QueueIamPolicyMapOutput) ElementType added in v6.31.0

func (QueueIamPolicyMapOutput) ElementType() reflect.Type

func (QueueIamPolicyMapOutput) MapIndex added in v6.31.0

func (QueueIamPolicyMapOutput) ToOutput added in v6.65.1

func (QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutput added in v6.31.0

func (o QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutput() QueueIamPolicyMapOutput

func (QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutputWithContext added in v6.31.0

func (o QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutputWithContext(ctx context.Context) QueueIamPolicyMapOutput

type QueueIamPolicyOutput added in v6.31.0

type QueueIamPolicyOutput struct{ *pulumi.OutputState }

func (QueueIamPolicyOutput) ElementType added in v6.31.0

func (QueueIamPolicyOutput) ElementType() reflect.Type

func (QueueIamPolicyOutput) Etag added in v6.31.0

(Computed) The etag of the IAM policy.

func (QueueIamPolicyOutput) Location added in v6.31.0

The location of the queue Used to find the parent resource to bind the IAM policy to

func (QueueIamPolicyOutput) Name added in v6.31.0

Used to find the parent resource to bind the IAM policy to

func (QueueIamPolicyOutput) PolicyData added in v6.31.0

func (o QueueIamPolicyOutput) PolicyData() pulumi.StringOutput

The policy data generated by a `organizations.getIAMPolicy` data source.

func (QueueIamPolicyOutput) Project added in v6.31.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. Each entry can have one of the following values:
  • **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
  • **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
  • **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
  • **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
  • **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
  • **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
  • **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
  • **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
  • **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (QueueIamPolicyOutput) ToOutput added in v6.65.1

func (QueueIamPolicyOutput) ToQueueIamPolicyOutput added in v6.31.0

func (o QueueIamPolicyOutput) ToQueueIamPolicyOutput() QueueIamPolicyOutput

func (QueueIamPolicyOutput) ToQueueIamPolicyOutputWithContext added in v6.31.0

func (o QueueIamPolicyOutput) ToQueueIamPolicyOutputWithContext(ctx context.Context) QueueIamPolicyOutput

type QueueIamPolicyState added in v6.31.0

type QueueIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location of the queue Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

func (QueueIamPolicyState) ElementType added in v6.31.0

func (QueueIamPolicyState) ElementType() reflect.Type

type QueueInput

type QueueInput interface {
	pulumi.Input

	ToQueueOutput() QueueOutput
	ToQueueOutputWithContext(ctx context.Context) QueueOutput
}

type QueueMap

type QueueMap map[string]QueueInput

func (QueueMap) ElementType

func (QueueMap) ElementType() reflect.Type

func (QueueMap) ToOutput added in v6.65.1

func (i QueueMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Queue]

func (QueueMap) ToQueueMapOutput

func (i QueueMap) ToQueueMapOutput() QueueMapOutput

func (QueueMap) ToQueueMapOutputWithContext

func (i QueueMap) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput

type QueueMapInput

type QueueMapInput interface {
	pulumi.Input

	ToQueueMapOutput() QueueMapOutput
	ToQueueMapOutputWithContext(context.Context) QueueMapOutput
}

QueueMapInput is an input type that accepts QueueMap and QueueMapOutput values. You can construct a concrete instance of `QueueMapInput` via:

QueueMap{ "key": QueueArgs{...} }

type QueueMapOutput

type QueueMapOutput struct{ *pulumi.OutputState }

func (QueueMapOutput) ElementType

func (QueueMapOutput) ElementType() reflect.Type

func (QueueMapOutput) MapIndex

func (QueueMapOutput) ToOutput added in v6.65.1

func (o QueueMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Queue]

func (QueueMapOutput) ToQueueMapOutput

func (o QueueMapOutput) ToQueueMapOutput() QueueMapOutput

func (QueueMapOutput) ToQueueMapOutputWithContext

func (o QueueMapOutput) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput

type QueueOutput

type QueueOutput struct{ *pulumi.OutputState }

func (QueueOutput) AppEngineRoutingOverride added in v6.23.0

func (o QueueOutput) AppEngineRoutingOverride() QueueAppEngineRoutingOverridePtrOutput

Overrides for task-level appEngineRouting. These settings apply only to App Engine tasks in this queue Structure is documented below.

func (QueueOutput) ElementType

func (QueueOutput) ElementType() reflect.Type

func (QueueOutput) Location added in v6.23.0

func (o QueueOutput) Location() pulumi.StringOutput

The location of the queue

***

func (QueueOutput) Name added in v6.23.0

func (o QueueOutput) Name() pulumi.StringOutput

The queue name.

func (QueueOutput) Project added in v6.23.0

func (o QueueOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (QueueOutput) RateLimits added in v6.23.0

func (o QueueOutput) RateLimits() QueueRateLimitsOutput

Rate limits for task dispatches. The queue's actual dispatch rate is the result of:

  • Number of tasks in the queue
  • User-specified throttling: rateLimits, retryConfig, and the queue's state.
  • System throttling due to 429 (Too Many Requests) or 503 (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. Structure is documented below.

func (QueueOutput) RetryConfig added in v6.23.0

func (o QueueOutput) RetryConfig() QueueRetryConfigOutput

Settings that determine the retry behavior. Structure is documented below.

func (QueueOutput) StackdriverLoggingConfig added in v6.23.0

func (o QueueOutput) StackdriverLoggingConfig() QueueStackdriverLoggingConfigPtrOutput

Configuration options for writing logs to Stackdriver Logging. Structure is documented below.

func (QueueOutput) ToOutput added in v6.65.1

func (o QueueOutput) ToOutput(ctx context.Context) pulumix.Output[*Queue]

func (QueueOutput) ToQueueOutput

func (o QueueOutput) ToQueueOutput() QueueOutput

func (QueueOutput) ToQueueOutputWithContext

func (o QueueOutput) ToQueueOutputWithContext(ctx context.Context) QueueOutput

type QueueRateLimits

type QueueRateLimits struct {
	// (Output)
	// The max burst size.
	// Max burst size limits how fast tasks in queue are processed when many tasks are
	// in the queue and the rate is high. This field allows the queue to have a high
	// rate so processing starts shortly after a task is enqueued, but still limits
	// resource usage when many tasks are enqueued in a short period of time.
	MaxBurstSize *int `pulumi:"maxBurstSize"`
	// The maximum number of concurrent tasks that Cloud Tasks allows to
	// be dispatched for this queue. After this threshold has been
	// reached, Cloud Tasks stops dispatching tasks until the number of
	// concurrent requests decreases.
	MaxConcurrentDispatches *int `pulumi:"maxConcurrentDispatches"`
	// The maximum rate at which tasks are dispatched from this queue.
	// If unspecified when the queue is created, Cloud Tasks will pick the default.
	MaxDispatchesPerSecond *float64 `pulumi:"maxDispatchesPerSecond"`
}

type QueueRateLimitsArgs

type QueueRateLimitsArgs struct {
	// (Output)
	// The max burst size.
	// Max burst size limits how fast tasks in queue are processed when many tasks are
	// in the queue and the rate is high. This field allows the queue to have a high
	// rate so processing starts shortly after a task is enqueued, but still limits
	// resource usage when many tasks are enqueued in a short period of time.
	MaxBurstSize pulumi.IntPtrInput `pulumi:"maxBurstSize"`
	// The maximum number of concurrent tasks that Cloud Tasks allows to
	// be dispatched for this queue. After this threshold has been
	// reached, Cloud Tasks stops dispatching tasks until the number of
	// concurrent requests decreases.
	MaxConcurrentDispatches pulumi.IntPtrInput `pulumi:"maxConcurrentDispatches"`
	// The maximum rate at which tasks are dispatched from this queue.
	// If unspecified when the queue is created, Cloud Tasks will pick the default.
	MaxDispatchesPerSecond pulumi.Float64PtrInput `pulumi:"maxDispatchesPerSecond"`
}

func (QueueRateLimitsArgs) ElementType

func (QueueRateLimitsArgs) ElementType() reflect.Type

func (QueueRateLimitsArgs) ToOutput added in v6.65.1

func (QueueRateLimitsArgs) ToQueueRateLimitsOutput

func (i QueueRateLimitsArgs) ToQueueRateLimitsOutput() QueueRateLimitsOutput

func (QueueRateLimitsArgs) ToQueueRateLimitsOutputWithContext

func (i QueueRateLimitsArgs) ToQueueRateLimitsOutputWithContext(ctx context.Context) QueueRateLimitsOutput

func (QueueRateLimitsArgs) ToQueueRateLimitsPtrOutput

func (i QueueRateLimitsArgs) ToQueueRateLimitsPtrOutput() QueueRateLimitsPtrOutput

func (QueueRateLimitsArgs) ToQueueRateLimitsPtrOutputWithContext

func (i QueueRateLimitsArgs) ToQueueRateLimitsPtrOutputWithContext(ctx context.Context) QueueRateLimitsPtrOutput

type QueueRateLimitsInput

type QueueRateLimitsInput interface {
	pulumi.Input

	ToQueueRateLimitsOutput() QueueRateLimitsOutput
	ToQueueRateLimitsOutputWithContext(context.Context) QueueRateLimitsOutput
}

QueueRateLimitsInput is an input type that accepts QueueRateLimitsArgs and QueueRateLimitsOutput values. You can construct a concrete instance of `QueueRateLimitsInput` via:

QueueRateLimitsArgs{...}

type QueueRateLimitsOutput

type QueueRateLimitsOutput struct{ *pulumi.OutputState }

func (QueueRateLimitsOutput) ElementType

func (QueueRateLimitsOutput) ElementType() reflect.Type

func (QueueRateLimitsOutput) MaxBurstSize

func (o QueueRateLimitsOutput) MaxBurstSize() pulumi.IntPtrOutput

(Output) The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time.

func (QueueRateLimitsOutput) MaxConcurrentDispatches

func (o QueueRateLimitsOutput) MaxConcurrentDispatches() pulumi.IntPtrOutput

The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases.

func (QueueRateLimitsOutput) MaxDispatchesPerSecond

func (o QueueRateLimitsOutput) MaxDispatchesPerSecond() pulumi.Float64PtrOutput

The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default.

func (QueueRateLimitsOutput) ToOutput added in v6.65.1

func (QueueRateLimitsOutput) ToQueueRateLimitsOutput

func (o QueueRateLimitsOutput) ToQueueRateLimitsOutput() QueueRateLimitsOutput

func (QueueRateLimitsOutput) ToQueueRateLimitsOutputWithContext

func (o QueueRateLimitsOutput) ToQueueRateLimitsOutputWithContext(ctx context.Context) QueueRateLimitsOutput

func (QueueRateLimitsOutput) ToQueueRateLimitsPtrOutput

func (o QueueRateLimitsOutput) ToQueueRateLimitsPtrOutput() QueueRateLimitsPtrOutput

func (QueueRateLimitsOutput) ToQueueRateLimitsPtrOutputWithContext

func (o QueueRateLimitsOutput) ToQueueRateLimitsPtrOutputWithContext(ctx context.Context) QueueRateLimitsPtrOutput

type QueueRateLimitsPtrInput

type QueueRateLimitsPtrInput interface {
	pulumi.Input

	ToQueueRateLimitsPtrOutput() QueueRateLimitsPtrOutput
	ToQueueRateLimitsPtrOutputWithContext(context.Context) QueueRateLimitsPtrOutput
}

QueueRateLimitsPtrInput is an input type that accepts QueueRateLimitsArgs, QueueRateLimitsPtr and QueueRateLimitsPtrOutput values. You can construct a concrete instance of `QueueRateLimitsPtrInput` via:

        QueueRateLimitsArgs{...}

or:

        nil

type QueueRateLimitsPtrOutput

type QueueRateLimitsPtrOutput struct{ *pulumi.OutputState }

func (QueueRateLimitsPtrOutput) Elem

func (QueueRateLimitsPtrOutput) ElementType

func (QueueRateLimitsPtrOutput) ElementType() reflect.Type

func (QueueRateLimitsPtrOutput) MaxBurstSize

func (o QueueRateLimitsPtrOutput) MaxBurstSize() pulumi.IntPtrOutput

(Output) The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time.

func (QueueRateLimitsPtrOutput) MaxConcurrentDispatches

func (o QueueRateLimitsPtrOutput) MaxConcurrentDispatches() pulumi.IntPtrOutput

The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases.

func (QueueRateLimitsPtrOutput) MaxDispatchesPerSecond

func (o QueueRateLimitsPtrOutput) MaxDispatchesPerSecond() pulumi.Float64PtrOutput

The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default.

func (QueueRateLimitsPtrOutput) ToOutput added in v6.65.1

func (QueueRateLimitsPtrOutput) ToQueueRateLimitsPtrOutput

func (o QueueRateLimitsPtrOutput) ToQueueRateLimitsPtrOutput() QueueRateLimitsPtrOutput

func (QueueRateLimitsPtrOutput) ToQueueRateLimitsPtrOutputWithContext

func (o QueueRateLimitsPtrOutput) ToQueueRateLimitsPtrOutputWithContext(ctx context.Context) QueueRateLimitsPtrOutput

type QueueRetryConfig

type QueueRetryConfig struct {
	// Number of attempts per task.
	// Cloud Tasks will attempt the task maxAttempts times (that is, if
	// the first attempt fails, then there will be maxAttempts - 1
	// retries). Must be >= -1.
	// If unspecified when the queue is created, Cloud Tasks will pick
	// the default.
	// -1 indicates unlimited attempts.
	MaxAttempts *int `pulumi:"maxAttempts"`
	// A task will be scheduled for retry between minBackoff and
	// maxBackoff duration after it fails, if the queue's RetryConfig
	// specifies that the task should be retried.
	MaxBackoff *string `pulumi:"maxBackoff"`
	// The time between retries will double maxDoublings times.
	// A task's retry interval starts at minBackoff, then doubles maxDoublings times,
	// then increases linearly, and finally retries retries at intervals of maxBackoff
	// up to maxAttempts times.
	MaxDoublings *int `pulumi:"maxDoublings"`
	// If positive, maxRetryDuration specifies the time limit for
	// retrying a failed task, measured from when the task was first
	// attempted. Once maxRetryDuration time has passed and the task has
	// been attempted maxAttempts times, no further attempts will be
	// made and the task will be deleted.
	// If zero, then the task age is unlimited.
	MaxRetryDuration *string `pulumi:"maxRetryDuration"`
	// A task will be scheduled for retry between minBackoff and
	// maxBackoff duration after it fails, if the queue's RetryConfig
	// specifies that the task should be retried.
	MinBackoff *string `pulumi:"minBackoff"`
}

type QueueRetryConfigArgs

type QueueRetryConfigArgs struct {
	// Number of attempts per task.
	// Cloud Tasks will attempt the task maxAttempts times (that is, if
	// the first attempt fails, then there will be maxAttempts - 1
	// retries). Must be >= -1.
	// If unspecified when the queue is created, Cloud Tasks will pick
	// the default.
	// -1 indicates unlimited attempts.
	MaxAttempts pulumi.IntPtrInput `pulumi:"maxAttempts"`
	// A task will be scheduled for retry between minBackoff and
	// maxBackoff duration after it fails, if the queue's RetryConfig
	// specifies that the task should be retried.
	MaxBackoff pulumi.StringPtrInput `pulumi:"maxBackoff"`
	// The time between retries will double maxDoublings times.
	// A task's retry interval starts at minBackoff, then doubles maxDoublings times,
	// then increases linearly, and finally retries retries at intervals of maxBackoff
	// up to maxAttempts times.
	MaxDoublings pulumi.IntPtrInput `pulumi:"maxDoublings"`
	// If positive, maxRetryDuration specifies the time limit for
	// retrying a failed task, measured from when the task was first
	// attempted. Once maxRetryDuration time has passed and the task has
	// been attempted maxAttempts times, no further attempts will be
	// made and the task will be deleted.
	// If zero, then the task age is unlimited.
	MaxRetryDuration pulumi.StringPtrInput `pulumi:"maxRetryDuration"`
	// A task will be scheduled for retry between minBackoff and
	// maxBackoff duration after it fails, if the queue's RetryConfig
	// specifies that the task should be retried.
	MinBackoff pulumi.StringPtrInput `pulumi:"minBackoff"`
}

func (QueueRetryConfigArgs) ElementType

func (QueueRetryConfigArgs) ElementType() reflect.Type

func (QueueRetryConfigArgs) ToOutput added in v6.65.1

func (QueueRetryConfigArgs) ToQueueRetryConfigOutput

func (i QueueRetryConfigArgs) ToQueueRetryConfigOutput() QueueRetryConfigOutput

func (QueueRetryConfigArgs) ToQueueRetryConfigOutputWithContext

func (i QueueRetryConfigArgs) ToQueueRetryConfigOutputWithContext(ctx context.Context) QueueRetryConfigOutput

func (QueueRetryConfigArgs) ToQueueRetryConfigPtrOutput

func (i QueueRetryConfigArgs) ToQueueRetryConfigPtrOutput() QueueRetryConfigPtrOutput

func (QueueRetryConfigArgs) ToQueueRetryConfigPtrOutputWithContext

func (i QueueRetryConfigArgs) ToQueueRetryConfigPtrOutputWithContext(ctx context.Context) QueueRetryConfigPtrOutput

type QueueRetryConfigInput

type QueueRetryConfigInput interface {
	pulumi.Input

	ToQueueRetryConfigOutput() QueueRetryConfigOutput
	ToQueueRetryConfigOutputWithContext(context.Context) QueueRetryConfigOutput
}

QueueRetryConfigInput is an input type that accepts QueueRetryConfigArgs and QueueRetryConfigOutput values. You can construct a concrete instance of `QueueRetryConfigInput` via:

QueueRetryConfigArgs{...}

type QueueRetryConfigOutput

type QueueRetryConfigOutput struct{ *pulumi.OutputState }

func (QueueRetryConfigOutput) ElementType

func (QueueRetryConfigOutput) ElementType() reflect.Type

func (QueueRetryConfigOutput) MaxAttempts

func (o QueueRetryConfigOutput) MaxAttempts() pulumi.IntPtrOutput

Number of attempts per task. Cloud Tasks will attempt the task maxAttempts times (that is, if the first attempt fails, then there will be maxAttempts - 1 retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts.

func (QueueRetryConfigOutput) MaxBackoff

A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

func (QueueRetryConfigOutput) MaxDoublings

func (o QueueRetryConfigOutput) MaxDoublings() pulumi.IntPtrOutput

The time between retries will double maxDoublings times. A task's retry interval starts at minBackoff, then doubles maxDoublings times, then increases linearly, and finally retries retries at intervals of maxBackoff up to maxAttempts times.

func (QueueRetryConfigOutput) MaxRetryDuration

func (o QueueRetryConfigOutput) MaxRetryDuration() pulumi.StringPtrOutput

If positive, maxRetryDuration specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once maxRetryDuration time has passed and the task has been attempted maxAttempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited.

func (QueueRetryConfigOutput) MinBackoff

A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

func (QueueRetryConfigOutput) ToOutput added in v6.65.1

func (QueueRetryConfigOutput) ToQueueRetryConfigOutput

func (o QueueRetryConfigOutput) ToQueueRetryConfigOutput() QueueRetryConfigOutput

func (QueueRetryConfigOutput) ToQueueRetryConfigOutputWithContext

func (o QueueRetryConfigOutput) ToQueueRetryConfigOutputWithContext(ctx context.Context) QueueRetryConfigOutput

func (QueueRetryConfigOutput) ToQueueRetryConfigPtrOutput

func (o QueueRetryConfigOutput) ToQueueRetryConfigPtrOutput() QueueRetryConfigPtrOutput

func (QueueRetryConfigOutput) ToQueueRetryConfigPtrOutputWithContext

func (o QueueRetryConfigOutput) ToQueueRetryConfigPtrOutputWithContext(ctx context.Context) QueueRetryConfigPtrOutput

type QueueRetryConfigPtrInput

type QueueRetryConfigPtrInput interface {
	pulumi.Input

	ToQueueRetryConfigPtrOutput() QueueRetryConfigPtrOutput
	ToQueueRetryConfigPtrOutputWithContext(context.Context) QueueRetryConfigPtrOutput
}

QueueRetryConfigPtrInput is an input type that accepts QueueRetryConfigArgs, QueueRetryConfigPtr and QueueRetryConfigPtrOutput values. You can construct a concrete instance of `QueueRetryConfigPtrInput` via:

        QueueRetryConfigArgs{...}

or:

        nil

type QueueRetryConfigPtrOutput

type QueueRetryConfigPtrOutput struct{ *pulumi.OutputState }

func (QueueRetryConfigPtrOutput) Elem

func (QueueRetryConfigPtrOutput) ElementType

func (QueueRetryConfigPtrOutput) ElementType() reflect.Type

func (QueueRetryConfigPtrOutput) MaxAttempts

Number of attempts per task. Cloud Tasks will attempt the task maxAttempts times (that is, if the first attempt fails, then there will be maxAttempts - 1 retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts.

func (QueueRetryConfigPtrOutput) MaxBackoff

A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

func (QueueRetryConfigPtrOutput) MaxDoublings

The time between retries will double maxDoublings times. A task's retry interval starts at minBackoff, then doubles maxDoublings times, then increases linearly, and finally retries retries at intervals of maxBackoff up to maxAttempts times.

func (QueueRetryConfigPtrOutput) MaxRetryDuration

func (o QueueRetryConfigPtrOutput) MaxRetryDuration() pulumi.StringPtrOutput

If positive, maxRetryDuration specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once maxRetryDuration time has passed and the task has been attempted maxAttempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited.

func (QueueRetryConfigPtrOutput) MinBackoff

A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

func (QueueRetryConfigPtrOutput) ToOutput added in v6.65.1

func (QueueRetryConfigPtrOutput) ToQueueRetryConfigPtrOutput

func (o QueueRetryConfigPtrOutput) ToQueueRetryConfigPtrOutput() QueueRetryConfigPtrOutput

func (QueueRetryConfigPtrOutput) ToQueueRetryConfigPtrOutputWithContext

func (o QueueRetryConfigPtrOutput) ToQueueRetryConfigPtrOutputWithContext(ctx context.Context) QueueRetryConfigPtrOutput

type QueueStackdriverLoggingConfig

type QueueStackdriverLoggingConfig struct {
	// Specifies the fraction of operations to write to Stackdriver Logging.
	// This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the
	// default and means that no operations are logged.
	SamplingRatio float64 `pulumi:"samplingRatio"`
}

type QueueStackdriverLoggingConfigArgs

type QueueStackdriverLoggingConfigArgs struct {
	// Specifies the fraction of operations to write to Stackdriver Logging.
	// This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the
	// default and means that no operations are logged.
	SamplingRatio pulumi.Float64Input `pulumi:"samplingRatio"`
}

func (QueueStackdriverLoggingConfigArgs) ElementType

func (QueueStackdriverLoggingConfigArgs) ToOutput added in v6.65.1

func (QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigOutput

func (i QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigOutput() QueueStackdriverLoggingConfigOutput

func (QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigOutputWithContext

func (i QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigOutputWithContext(ctx context.Context) QueueStackdriverLoggingConfigOutput

func (QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigPtrOutput

func (i QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigPtrOutput() QueueStackdriverLoggingConfigPtrOutput

func (QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigPtrOutputWithContext

func (i QueueStackdriverLoggingConfigArgs) ToQueueStackdriverLoggingConfigPtrOutputWithContext(ctx context.Context) QueueStackdriverLoggingConfigPtrOutput

type QueueStackdriverLoggingConfigInput

type QueueStackdriverLoggingConfigInput interface {
	pulumi.Input

	ToQueueStackdriverLoggingConfigOutput() QueueStackdriverLoggingConfigOutput
	ToQueueStackdriverLoggingConfigOutputWithContext(context.Context) QueueStackdriverLoggingConfigOutput
}

QueueStackdriverLoggingConfigInput is an input type that accepts QueueStackdriverLoggingConfigArgs and QueueStackdriverLoggingConfigOutput values. You can construct a concrete instance of `QueueStackdriverLoggingConfigInput` via:

QueueStackdriverLoggingConfigArgs{...}

type QueueStackdriverLoggingConfigOutput

type QueueStackdriverLoggingConfigOutput struct{ *pulumi.OutputState }

func (QueueStackdriverLoggingConfigOutput) ElementType

func (QueueStackdriverLoggingConfigOutput) SamplingRatio

Specifies the fraction of operations to write to Stackdriver Logging. This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged.

func (QueueStackdriverLoggingConfigOutput) ToOutput added in v6.65.1

func (QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigOutput

func (o QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigOutput() QueueStackdriverLoggingConfigOutput

func (QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigOutputWithContext

func (o QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigOutputWithContext(ctx context.Context) QueueStackdriverLoggingConfigOutput

func (QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigPtrOutput

func (o QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigPtrOutput() QueueStackdriverLoggingConfigPtrOutput

func (QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigPtrOutputWithContext

func (o QueueStackdriverLoggingConfigOutput) ToQueueStackdriverLoggingConfigPtrOutputWithContext(ctx context.Context) QueueStackdriverLoggingConfigPtrOutput

type QueueStackdriverLoggingConfigPtrInput

type QueueStackdriverLoggingConfigPtrInput interface {
	pulumi.Input

	ToQueueStackdriverLoggingConfigPtrOutput() QueueStackdriverLoggingConfigPtrOutput
	ToQueueStackdriverLoggingConfigPtrOutputWithContext(context.Context) QueueStackdriverLoggingConfigPtrOutput
}

QueueStackdriverLoggingConfigPtrInput is an input type that accepts QueueStackdriverLoggingConfigArgs, QueueStackdriverLoggingConfigPtr and QueueStackdriverLoggingConfigPtrOutput values. You can construct a concrete instance of `QueueStackdriverLoggingConfigPtrInput` via:

        QueueStackdriverLoggingConfigArgs{...}

or:

        nil

type QueueStackdriverLoggingConfigPtrOutput

type QueueStackdriverLoggingConfigPtrOutput struct{ *pulumi.OutputState }

func (QueueStackdriverLoggingConfigPtrOutput) Elem

func (QueueStackdriverLoggingConfigPtrOutput) ElementType

func (QueueStackdriverLoggingConfigPtrOutput) SamplingRatio

Specifies the fraction of operations to write to Stackdriver Logging. This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged.

func (QueueStackdriverLoggingConfigPtrOutput) ToOutput added in v6.65.1

func (QueueStackdriverLoggingConfigPtrOutput) ToQueueStackdriverLoggingConfigPtrOutput

func (o QueueStackdriverLoggingConfigPtrOutput) ToQueueStackdriverLoggingConfigPtrOutput() QueueStackdriverLoggingConfigPtrOutput

func (QueueStackdriverLoggingConfigPtrOutput) ToQueueStackdriverLoggingConfigPtrOutputWithContext

func (o QueueStackdriverLoggingConfigPtrOutput) ToQueueStackdriverLoggingConfigPtrOutputWithContext(ctx context.Context) QueueStackdriverLoggingConfigPtrOutput

type QueueState

type QueueState struct {
	// Overrides for task-level appEngineRouting. These settings apply only
	// to App Engine tasks in this queue
	// Structure is documented below.
	AppEngineRoutingOverride QueueAppEngineRoutingOverridePtrInput
	// The location of the queue
	//
	// ***
	Location pulumi.StringPtrInput
	// The queue name.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Rate limits for task dispatches.
	// The queue's actual dispatch rate is the result of:
	// * Number of tasks in the queue
	// * User-specified throttling: rateLimits, retryConfig, and the queue's state.
	// * System throttling due to 429 (Too Many Requests) or 503 (Service
	//   Unavailable) responses from the worker, high error rates, or to
	//   smooth sudden large traffic spikes.
	//   Structure is documented below.
	RateLimits QueueRateLimitsPtrInput
	// Settings that determine the retry behavior.
	// Structure is documented below.
	RetryConfig QueueRetryConfigPtrInput
	// Configuration options for writing logs to Stackdriver Logging.
	// Structure is documented below.
	StackdriverLoggingConfig QueueStackdriverLoggingConfigPtrInput
}

func (QueueState) ElementType

func (QueueState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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