cloudtasks

package
v7.20.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LookupQueueIamPolicyArgs

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

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

type LookupQueueIamPolicyResult

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

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/v7/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(_default.Project),
			Location: pulumi.StringRef(_default.Location),
			Name:     _default.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupQueueIamPolicyResultOutput

type LookupQueueIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQueueIamPolicy.

func (LookupQueueIamPolicyResultOutput) ElementType

func (LookupQueueIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupQueueIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQueueIamPolicyResultOutput) Location

func (LookupQueueIamPolicyResultOutput) Name

func (LookupQueueIamPolicyResultOutput) PolicyData

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

func (LookupQueueIamPolicyResultOutput) Project

func (LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutput

func (o LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutput() LookupQueueIamPolicyResultOutput

func (LookupQueueIamPolicyResultOutput) ToLookupQueueIamPolicyResultOutputWithContext

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

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.

## Example Usage

### Queue Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:     pulumi.String("cloud-tasks-queue-test"),
			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/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtasks.NewQueue(ctx, "advanced_configuration", &cloudtasks.QueueArgs{
			Name:     pulumi.String("instance-name"),
			Location: pulumi.String("us-central1"),
			AppEngineRoutingOverride: &cloudtasks.QueueAppEngineRoutingOverrideArgs{
				Service:  pulumi.String("worker"),
				Version:  pulumi.String("1.0"),
				Instance: pulumi.String("test"),
			},
			RateLimits: &cloudtasks.QueueRateLimitsArgs{
				MaxConcurrentDispatches: pulumi.Int(3),
				MaxDispatchesPerSecond:  pulumi.Float64(2),
			},
			RetryConfig: &cloudtasks.QueueRetryConfigArgs{
				MaxAttempts:      pulumi.Int(5),
				MaxRetryDuration: pulumi.String("4s"),
				MaxBackoff:       pulumi.String("3s"),
				MinBackoff:       pulumi.String("2s"),
				MaxDoublings:     pulumi.Int(1),
			},
			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:

* `projects/{{project}}/locations/{{location}}/queues/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, Queue can be imported using one of the formats above. For example:

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

func (o QueueArrayOutput) ToQueueArrayOutput() QueueArrayOutput

func (QueueArrayOutput) ToQueueArrayOutputWithContext

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

type QueueIamBinding

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"`
	// 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"
	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.
	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/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(_default.Project),
			Location:   pulumi.Any(_default.Location),
			Name:       pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(_default.Project),
			Location:   pulumi.Any(_default.Location),
			Name:       pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* 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 identifiers: the 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 identifiers: the 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

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

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

func (*QueueIamBinding) ElementType() reflect.Type

func (*QueueIamBinding) ToQueueIamBindingOutput

func (i *QueueIamBinding) ToQueueIamBindingOutput() QueueIamBindingOutput

func (*QueueIamBinding) ToQueueIamBindingOutputWithContext

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

type QueueIamBindingArgs

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
	// 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"
	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.
	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

func (QueueIamBindingArgs) ElementType() reflect.Type

type QueueIamBindingArray

type QueueIamBindingArray []QueueIamBindingInput

func (QueueIamBindingArray) ElementType

func (QueueIamBindingArray) ElementType() reflect.Type

func (QueueIamBindingArray) ToQueueIamBindingArrayOutput

func (i QueueIamBindingArray) ToQueueIamBindingArrayOutput() QueueIamBindingArrayOutput

func (QueueIamBindingArray) ToQueueIamBindingArrayOutputWithContext

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

type QueueIamBindingArrayInput

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

type QueueIamBindingArrayOutput struct{ *pulumi.OutputState }

func (QueueIamBindingArrayOutput) ElementType

func (QueueIamBindingArrayOutput) ElementType() reflect.Type

func (QueueIamBindingArrayOutput) Index

func (QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutput

func (o QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutput() QueueIamBindingArrayOutput

func (QueueIamBindingArrayOutput) ToQueueIamBindingArrayOutputWithContext

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

type QueueIamBindingCondition

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

type QueueIamBindingConditionArgs

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

func (QueueIamBindingConditionArgs) ElementType

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutput

func (i QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutput() QueueIamBindingConditionOutput

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionOutputWithContext

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

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutput

func (i QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput

func (QueueIamBindingConditionArgs) ToQueueIamBindingConditionPtrOutputWithContext

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

type QueueIamBindingConditionInput

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

type QueueIamBindingConditionOutput struct{ *pulumi.OutputState }

func (QueueIamBindingConditionOutput) Description

func (QueueIamBindingConditionOutput) ElementType

func (QueueIamBindingConditionOutput) Expression

func (QueueIamBindingConditionOutput) Title

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutput

func (o QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutput() QueueIamBindingConditionOutput

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionOutputWithContext

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

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutput

func (o QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput

func (QueueIamBindingConditionOutput) ToQueueIamBindingConditionPtrOutputWithContext

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

type QueueIamBindingConditionPtrInput

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

type QueueIamBindingConditionPtrOutput

type QueueIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (QueueIamBindingConditionPtrOutput) Description

func (QueueIamBindingConditionPtrOutput) Elem

func (QueueIamBindingConditionPtrOutput) ElementType

func (QueueIamBindingConditionPtrOutput) Expression

func (QueueIamBindingConditionPtrOutput) Title

func (QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutput

func (o QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutput() QueueIamBindingConditionPtrOutput

func (QueueIamBindingConditionPtrOutput) ToQueueIamBindingConditionPtrOutputWithContext

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

type QueueIamBindingInput

type QueueIamBindingInput interface {
	pulumi.Input

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

type QueueIamBindingMap

type QueueIamBindingMap map[string]QueueIamBindingInput

func (QueueIamBindingMap) ElementType

func (QueueIamBindingMap) ElementType() reflect.Type

func (QueueIamBindingMap) ToQueueIamBindingMapOutput

func (i QueueIamBindingMap) ToQueueIamBindingMapOutput() QueueIamBindingMapOutput

func (QueueIamBindingMap) ToQueueIamBindingMapOutputWithContext

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

type QueueIamBindingMapInput

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

type QueueIamBindingMapOutput struct{ *pulumi.OutputState }

func (QueueIamBindingMapOutput) ElementType

func (QueueIamBindingMapOutput) ElementType() reflect.Type

func (QueueIamBindingMapOutput) MapIndex

func (QueueIamBindingMapOutput) ToQueueIamBindingMapOutput

func (o QueueIamBindingMapOutput) ToQueueIamBindingMapOutput() QueueIamBindingMapOutput

func (QueueIamBindingMapOutput) ToQueueIamBindingMapOutputWithContext

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

type QueueIamBindingOutput

type QueueIamBindingOutput struct{ *pulumi.OutputState }

func (QueueIamBindingOutput) Condition

func (QueueIamBindingOutput) ElementType

func (QueueIamBindingOutput) ElementType() reflect.Type

func (QueueIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (QueueIamBindingOutput) Location

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

func (QueueIamBindingOutput) Members

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

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

func (QueueIamBindingOutput) Project

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.

func (QueueIamBindingOutput) Role

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

func (o QueueIamBindingOutput) ToQueueIamBindingOutput() QueueIamBindingOutput

func (QueueIamBindingOutput) ToQueueIamBindingOutputWithContext

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

type QueueIamBindingState

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
	// 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"
	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.
	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

func (QueueIamBindingState) ElementType() reflect.Type

type QueueIamMember

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"`
	// 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"
	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.
	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/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(_default.Project),
			Location:   pulumi.Any(_default.Location),
			Name:       pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(_default.Project),
			Location:   pulumi.Any(_default.Location),
			Name:       pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* 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 identifiers: the 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 identifiers: the 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

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

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

func (*QueueIamMember) ElementType() reflect.Type

func (*QueueIamMember) ToQueueIamMemberOutput

func (i *QueueIamMember) ToQueueIamMemberOutput() QueueIamMemberOutput

func (*QueueIamMember) ToQueueIamMemberOutputWithContext

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

type QueueIamMemberArgs

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
	// 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"
	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.
	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

func (QueueIamMemberArgs) ElementType() reflect.Type

type QueueIamMemberArray

type QueueIamMemberArray []QueueIamMemberInput

func (QueueIamMemberArray) ElementType

func (QueueIamMemberArray) ElementType() reflect.Type

func (QueueIamMemberArray) ToQueueIamMemberArrayOutput

func (i QueueIamMemberArray) ToQueueIamMemberArrayOutput() QueueIamMemberArrayOutput

func (QueueIamMemberArray) ToQueueIamMemberArrayOutputWithContext

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

type QueueIamMemberArrayInput

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

type QueueIamMemberArrayOutput struct{ *pulumi.OutputState }

func (QueueIamMemberArrayOutput) ElementType

func (QueueIamMemberArrayOutput) ElementType() reflect.Type

func (QueueIamMemberArrayOutput) Index

func (QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutput

func (o QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutput() QueueIamMemberArrayOutput

func (QueueIamMemberArrayOutput) ToQueueIamMemberArrayOutputWithContext

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

type QueueIamMemberCondition

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

type QueueIamMemberConditionArgs

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

func (QueueIamMemberConditionArgs) ElementType

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutput

func (i QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutput() QueueIamMemberConditionOutput

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionOutputWithContext

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

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutput

func (i QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput

func (QueueIamMemberConditionArgs) ToQueueIamMemberConditionPtrOutputWithContext

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

type QueueIamMemberConditionInput

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

type QueueIamMemberConditionOutput struct{ *pulumi.OutputState }

func (QueueIamMemberConditionOutput) Description

func (QueueIamMemberConditionOutput) ElementType

func (QueueIamMemberConditionOutput) Expression

func (QueueIamMemberConditionOutput) Title

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutput

func (o QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutput() QueueIamMemberConditionOutput

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionOutputWithContext

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

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutput

func (o QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput

func (QueueIamMemberConditionOutput) ToQueueIamMemberConditionPtrOutputWithContext

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

type QueueIamMemberConditionPtrInput

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

type QueueIamMemberConditionPtrOutput

type QueueIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (QueueIamMemberConditionPtrOutput) Description

func (QueueIamMemberConditionPtrOutput) Elem

func (QueueIamMemberConditionPtrOutput) ElementType

func (QueueIamMemberConditionPtrOutput) Expression

func (QueueIamMemberConditionPtrOutput) Title

func (QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutput

func (o QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutput() QueueIamMemberConditionPtrOutput

func (QueueIamMemberConditionPtrOutput) ToQueueIamMemberConditionPtrOutputWithContext

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

type QueueIamMemberInput

type QueueIamMemberInput interface {
	pulumi.Input

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

type QueueIamMemberMap

type QueueIamMemberMap map[string]QueueIamMemberInput

func (QueueIamMemberMap) ElementType

func (QueueIamMemberMap) ElementType() reflect.Type

func (QueueIamMemberMap) ToQueueIamMemberMapOutput

func (i QueueIamMemberMap) ToQueueIamMemberMapOutput() QueueIamMemberMapOutput

func (QueueIamMemberMap) ToQueueIamMemberMapOutputWithContext

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

type QueueIamMemberMapInput

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

type QueueIamMemberMapOutput struct{ *pulumi.OutputState }

func (QueueIamMemberMapOutput) ElementType

func (QueueIamMemberMapOutput) ElementType() reflect.Type

func (QueueIamMemberMapOutput) MapIndex

func (QueueIamMemberMapOutput) ToQueueIamMemberMapOutput

func (o QueueIamMemberMapOutput) ToQueueIamMemberMapOutput() QueueIamMemberMapOutput

func (QueueIamMemberMapOutput) ToQueueIamMemberMapOutputWithContext

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

type QueueIamMemberOutput

type QueueIamMemberOutput struct{ *pulumi.OutputState }

func (QueueIamMemberOutput) Condition

func (QueueIamMemberOutput) ElementType

func (QueueIamMemberOutput) ElementType() reflect.Type

func (QueueIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (QueueIamMemberOutput) Location

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

func (QueueIamMemberOutput) Member

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

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

func (QueueIamMemberOutput) Project

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.

func (QueueIamMemberOutput) Role

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

func (o QueueIamMemberOutput) ToQueueIamMemberOutput() QueueIamMemberOutput

func (QueueIamMemberOutput) ToQueueIamMemberOutputWithContext

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

type QueueIamMemberState

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
	// 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"
	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.
	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

func (QueueIamMemberState) ElementType() reflect.Type

type QueueIamPolicy

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.
	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/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(_default.Project),
			Location:   pulumi.Any(_default.Location),
			Name:       pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(_default.Project),
			Location:   pulumi.Any(_default.Location),
			Name:       pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			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/v7/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(_default.Project),
			Location: pulumi.Any(_default.Location),
			Name:     pulumi.Any(_default.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* 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 identifiers: the 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 identifiers: the 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

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

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

func (*QueueIamPolicy) ElementType() reflect.Type

func (*QueueIamPolicy) ToQueueIamPolicyOutput

func (i *QueueIamPolicy) ToQueueIamPolicyOutput() QueueIamPolicyOutput

func (*QueueIamPolicy) ToQueueIamPolicyOutputWithContext

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

type QueueIamPolicyArgs

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.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a QueueIamPolicy resource.

func (QueueIamPolicyArgs) ElementType

func (QueueIamPolicyArgs) ElementType() reflect.Type

type QueueIamPolicyArray

type QueueIamPolicyArray []QueueIamPolicyInput

func (QueueIamPolicyArray) ElementType

func (QueueIamPolicyArray) ElementType() reflect.Type

func (QueueIamPolicyArray) ToQueueIamPolicyArrayOutput

func (i QueueIamPolicyArray) ToQueueIamPolicyArrayOutput() QueueIamPolicyArrayOutput

func (QueueIamPolicyArray) ToQueueIamPolicyArrayOutputWithContext

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

type QueueIamPolicyArrayInput

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

type QueueIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (QueueIamPolicyArrayOutput) ElementType

func (QueueIamPolicyArrayOutput) ElementType() reflect.Type

func (QueueIamPolicyArrayOutput) Index

func (QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutput

func (o QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutput() QueueIamPolicyArrayOutput

func (QueueIamPolicyArrayOutput) ToQueueIamPolicyArrayOutputWithContext

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

type QueueIamPolicyInput

type QueueIamPolicyInput interface {
	pulumi.Input

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

type QueueIamPolicyMap

type QueueIamPolicyMap map[string]QueueIamPolicyInput

func (QueueIamPolicyMap) ElementType

func (QueueIamPolicyMap) ElementType() reflect.Type

func (QueueIamPolicyMap) ToQueueIamPolicyMapOutput

func (i QueueIamPolicyMap) ToQueueIamPolicyMapOutput() QueueIamPolicyMapOutput

func (QueueIamPolicyMap) ToQueueIamPolicyMapOutputWithContext

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

type QueueIamPolicyMapInput

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

type QueueIamPolicyMapOutput struct{ *pulumi.OutputState }

func (QueueIamPolicyMapOutput) ElementType

func (QueueIamPolicyMapOutput) ElementType() reflect.Type

func (QueueIamPolicyMapOutput) MapIndex

func (QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutput

func (o QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutput() QueueIamPolicyMapOutput

func (QueueIamPolicyMapOutput) ToQueueIamPolicyMapOutputWithContext

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

type QueueIamPolicyOutput

type QueueIamPolicyOutput struct{ *pulumi.OutputState }

func (QueueIamPolicyOutput) ElementType

func (QueueIamPolicyOutput) ElementType() reflect.Type

func (QueueIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (QueueIamPolicyOutput) Location

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

func (QueueIamPolicyOutput) Name

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

func (QueueIamPolicyOutput) PolicyData

func (o QueueIamPolicyOutput) PolicyData() pulumi.StringOutput

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

func (QueueIamPolicyOutput) Project

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.

func (QueueIamPolicyOutput) ToQueueIamPolicyOutput

func (o QueueIamPolicyOutput) ToQueueIamPolicyOutput() QueueIamPolicyOutput

func (QueueIamPolicyOutput) ToQueueIamPolicyOutputWithContext

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

type QueueIamPolicyState

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.
	Project pulumi.StringPtrInput
}

func (QueueIamPolicyState) ElementType

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

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

func (o QueueOutput) Location() pulumi.StringOutput

The location of the queue

***

func (QueueOutput) Name

func (o QueueOutput) Name() pulumi.StringOutput

The queue name.

func (QueueOutput) Project

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

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

func (o QueueOutput) RetryConfig() QueueRetryConfigOutput

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

func (QueueOutput) StackdriverLoggingConfig

func (o QueueOutput) StackdriverLoggingConfig() QueueStackdriverLoggingConfigPtrOutput

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

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