cloudtasks

package
v8.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2024 License: Apache-2.0 Imports: 7 Imported by: 1

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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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/v8/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"`
	// Modifies HTTP target for HTTP tasks.
	// Structure is documented below.
	HttpTarget QueueHttpTargetPtrOutput `pulumi:"httpTarget"`
	// 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/v8/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/v8/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
	})
}

``` ### Cloud Tasks Queue Http Target Oidc

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		oidcServiceAccount, err := serviceaccount.NewAccount(ctx, "oidc_service_account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("example-oidc"),
			DisplayName: pulumi.String("Tasks Queue OIDC Service Account"),
		})
		if err != nil {
			return err
		}
		_, err = cloudtasks.NewQueue(ctx, "http_target_oidc", &cloudtasks.QueueArgs{
			Name:     pulumi.String("cloud-tasks-queue-http-target-oidc"),
			Location: pulumi.String("us-central1"),
			HttpTarget: &cloudtasks.QueueHttpTargetArgs{
				HttpMethod: pulumi.String("POST"),
				UriOverride: &cloudtasks.QueueHttpTargetUriOverrideArgs{
					Scheme: pulumi.String("HTTPS"),
					Host:   pulumi.String("oidc.example.com"),
					Port:   pulumi.String("8443"),
					PathOverride: &cloudtasks.QueueHttpTargetUriOverridePathOverrideArgs{
						Path: pulumi.String("/users/1234"),
					},
					QueryOverride: &cloudtasks.QueueHttpTargetUriOverrideQueryOverrideArgs{
						QueryParams: pulumi.String("qparam1=123&qparam2=456"),
					},
					UriOverrideEnforceMode: pulumi.String("IF_NOT_EXISTS"),
				},
				HeaderOverrides: cloudtasks.QueueHttpTargetHeaderOverrideArray{
					&cloudtasks.QueueHttpTargetHeaderOverrideArgs{
						Header: &cloudtasks.QueueHttpTargetHeaderOverrideHeaderArgs{
							Key:   pulumi.String("AddSomethingElse"),
							Value: pulumi.String("MyOtherValue"),
						},
					},
					&cloudtasks.QueueHttpTargetHeaderOverrideArgs{
						Header: &cloudtasks.QueueHttpTargetHeaderOverrideHeaderArgs{
							Key:   pulumi.String("AddMe"),
							Value: pulumi.String("MyValue"),
						},
					},
				},
				OidcToken: &cloudtasks.QueueHttpTargetOidcTokenArgs{
					ServiceAccountEmail: oidcServiceAccount.Email,
					Audience:            pulumi.String("https://oidc.example.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloud Tasks Queue Http Target Oauth

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		oauthServiceAccount, err := serviceaccount.NewAccount(ctx, "oauth_service_account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("example-oauth"),
			DisplayName: pulumi.String("Tasks Queue OAuth Service Account"),
		})
		if err != nil {
			return err
		}
		_, err = cloudtasks.NewQueue(ctx, "http_target_oauth", &cloudtasks.QueueArgs{
			Name:     pulumi.String("cloud-tasks-queue-http-target-oauth"),
			Location: pulumi.String("us-central1"),
			HttpTarget: &cloudtasks.QueueHttpTargetArgs{
				HttpMethod: pulumi.String("POST"),
				UriOverride: &cloudtasks.QueueHttpTargetUriOverrideArgs{
					Scheme: pulumi.String("HTTPS"),
					Host:   pulumi.String("oauth.example.com"),
					Port:   pulumi.String("8443"),
					PathOverride: &cloudtasks.QueueHttpTargetUriOverridePathOverrideArgs{
						Path: pulumi.String("/users/1234"),
					},
					QueryOverride: &cloudtasks.QueueHttpTargetUriOverrideQueryOverrideArgs{
						QueryParams: pulumi.String("qparam1=123&qparam2=456"),
					},
					UriOverrideEnforceMode: pulumi.String("IF_NOT_EXISTS"),
				},
				HeaderOverrides: cloudtasks.QueueHttpTargetHeaderOverrideArray{
					&cloudtasks.QueueHttpTargetHeaderOverrideArgs{
						Header: &cloudtasks.QueueHttpTargetHeaderOverrideHeaderArgs{
							Key:   pulumi.String("AddSomethingElse"),
							Value: pulumi.String("MyOtherValue"),
						},
					},
					&cloudtasks.QueueHttpTargetHeaderOverrideArgs{
						Header: &cloudtasks.QueueHttpTargetHeaderOverrideHeaderArgs{
							Key:   pulumi.String("AddMe"),
							Value: pulumi.String("MyValue"),
						},
					},
				},
				OauthToken: &cloudtasks.QueueHttpTargetOauthTokenArgs{
					ServiceAccountEmail: oauthServiceAccount.Email,
					Scope:               pulumi.String("openid https://www.googleapis.com/auth/userinfo.email"),
				},
			},
		})
		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
	// Modifies HTTP target for HTTP tasks.
	// Structure is documented below.
	HttpTarget QueueHttpTargetPtrInput
	// 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 QueueHttpTarget added in v8.1.0

type QueueHttpTarget struct {
	// HTTP target headers.
	// This map contains the header field names and values.
	// Headers will be set when running the CreateTask and/or BufferTask.
	// These headers represent a subset of the headers that will be configured for the task's HTTP request.
	// Some HTTP request headers will be ignored or replaced.
	// Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values.
	// The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue.
	// Structure is documented below.
	HeaderOverrides []QueueHttpTargetHeaderOverride `pulumi:"headerOverrides"`
	// The HTTP method to use for the request.
	// When specified, it overrides HttpRequest for the task.
	// Note that if the value is set to GET the body of the task will be ignored at execution time.
	// Possible values are: `HTTP_METHOD_UNSPECIFIED`, `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
	HttpMethod *string `pulumi:"httpMethod"`
	// If specified, an OAuth token is generated and attached as the Authorization header in the HTTP request.
	// This type of authorization should generally be used only when calling Google APIs hosted on *.googleapis.com.
	// Note that both the service account email and the scope MUST be specified when using the queue-level authorization override.
	// Structure is documented below.
	OauthToken *QueueHttpTargetOauthToken `pulumi:"oauthToken"`
	// If specified, an OIDC token is generated and attached as an Authorization header in the HTTP request.
	// This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself.
	// Note that both the service account email and the audience MUST be specified when using the queue-level authorization override.
	// Structure is documented below.
	OidcToken *QueueHttpTargetOidcToken `pulumi:"oidcToken"`
	// URI override.
	// When specified, overrides the execution URI for all the tasks in the queue.
	// Structure is documented below.
	UriOverride *QueueHttpTargetUriOverride `pulumi:"uriOverride"`
}

type QueueHttpTargetArgs added in v8.1.0

type QueueHttpTargetArgs struct {
	// HTTP target headers.
	// This map contains the header field names and values.
	// Headers will be set when running the CreateTask and/or BufferTask.
	// These headers represent a subset of the headers that will be configured for the task's HTTP request.
	// Some HTTP request headers will be ignored or replaced.
	// Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values.
	// The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue.
	// Structure is documented below.
	HeaderOverrides QueueHttpTargetHeaderOverrideArrayInput `pulumi:"headerOverrides"`
	// The HTTP method to use for the request.
	// When specified, it overrides HttpRequest for the task.
	// Note that if the value is set to GET the body of the task will be ignored at execution time.
	// Possible values are: `HTTP_METHOD_UNSPECIFIED`, `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
	HttpMethod pulumi.StringPtrInput `pulumi:"httpMethod"`
	// If specified, an OAuth token is generated and attached as the Authorization header in the HTTP request.
	// This type of authorization should generally be used only when calling Google APIs hosted on *.googleapis.com.
	// Note that both the service account email and the scope MUST be specified when using the queue-level authorization override.
	// Structure is documented below.
	OauthToken QueueHttpTargetOauthTokenPtrInput `pulumi:"oauthToken"`
	// If specified, an OIDC token is generated and attached as an Authorization header in the HTTP request.
	// This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself.
	// Note that both the service account email and the audience MUST be specified when using the queue-level authorization override.
	// Structure is documented below.
	OidcToken QueueHttpTargetOidcTokenPtrInput `pulumi:"oidcToken"`
	// URI override.
	// When specified, overrides the execution URI for all the tasks in the queue.
	// Structure is documented below.
	UriOverride QueueHttpTargetUriOverridePtrInput `pulumi:"uriOverride"`
}

func (QueueHttpTargetArgs) ElementType added in v8.1.0

func (QueueHttpTargetArgs) ElementType() reflect.Type

func (QueueHttpTargetArgs) ToQueueHttpTargetOutput added in v8.1.0

func (i QueueHttpTargetArgs) ToQueueHttpTargetOutput() QueueHttpTargetOutput

func (QueueHttpTargetArgs) ToQueueHttpTargetOutputWithContext added in v8.1.0

func (i QueueHttpTargetArgs) ToQueueHttpTargetOutputWithContext(ctx context.Context) QueueHttpTargetOutput

func (QueueHttpTargetArgs) ToQueueHttpTargetPtrOutput added in v8.1.0

func (i QueueHttpTargetArgs) ToQueueHttpTargetPtrOutput() QueueHttpTargetPtrOutput

func (QueueHttpTargetArgs) ToQueueHttpTargetPtrOutputWithContext added in v8.1.0

func (i QueueHttpTargetArgs) ToQueueHttpTargetPtrOutputWithContext(ctx context.Context) QueueHttpTargetPtrOutput

type QueueHttpTargetHeaderOverride added in v8.1.0

type QueueHttpTargetHeaderOverride struct {
	// Header embodying a key and a value.
	// Structure is documented below.
	Header QueueHttpTargetHeaderOverrideHeader `pulumi:"header"`
}

type QueueHttpTargetHeaderOverrideArgs added in v8.1.0

type QueueHttpTargetHeaderOverrideArgs struct {
	// Header embodying a key and a value.
	// Structure is documented below.
	Header QueueHttpTargetHeaderOverrideHeaderInput `pulumi:"header"`
}

func (QueueHttpTargetHeaderOverrideArgs) ElementType added in v8.1.0

func (QueueHttpTargetHeaderOverrideArgs) ToQueueHttpTargetHeaderOverrideOutput added in v8.1.0

func (i QueueHttpTargetHeaderOverrideArgs) ToQueueHttpTargetHeaderOverrideOutput() QueueHttpTargetHeaderOverrideOutput

func (QueueHttpTargetHeaderOverrideArgs) ToQueueHttpTargetHeaderOverrideOutputWithContext added in v8.1.0

func (i QueueHttpTargetHeaderOverrideArgs) ToQueueHttpTargetHeaderOverrideOutputWithContext(ctx context.Context) QueueHttpTargetHeaderOverrideOutput

type QueueHttpTargetHeaderOverrideArray added in v8.1.0

type QueueHttpTargetHeaderOverrideArray []QueueHttpTargetHeaderOverrideInput

func (QueueHttpTargetHeaderOverrideArray) ElementType added in v8.1.0

func (QueueHttpTargetHeaderOverrideArray) ToQueueHttpTargetHeaderOverrideArrayOutput added in v8.1.0

func (i QueueHttpTargetHeaderOverrideArray) ToQueueHttpTargetHeaderOverrideArrayOutput() QueueHttpTargetHeaderOverrideArrayOutput

func (QueueHttpTargetHeaderOverrideArray) ToQueueHttpTargetHeaderOverrideArrayOutputWithContext added in v8.1.0

func (i QueueHttpTargetHeaderOverrideArray) ToQueueHttpTargetHeaderOverrideArrayOutputWithContext(ctx context.Context) QueueHttpTargetHeaderOverrideArrayOutput

type QueueHttpTargetHeaderOverrideArrayInput added in v8.1.0

type QueueHttpTargetHeaderOverrideArrayInput interface {
	pulumi.Input

	ToQueueHttpTargetHeaderOverrideArrayOutput() QueueHttpTargetHeaderOverrideArrayOutput
	ToQueueHttpTargetHeaderOverrideArrayOutputWithContext(context.Context) QueueHttpTargetHeaderOverrideArrayOutput
}

QueueHttpTargetHeaderOverrideArrayInput is an input type that accepts QueueHttpTargetHeaderOverrideArray and QueueHttpTargetHeaderOverrideArrayOutput values. You can construct a concrete instance of `QueueHttpTargetHeaderOverrideArrayInput` via:

QueueHttpTargetHeaderOverrideArray{ QueueHttpTargetHeaderOverrideArgs{...} }

type QueueHttpTargetHeaderOverrideArrayOutput added in v8.1.0

type QueueHttpTargetHeaderOverrideArrayOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetHeaderOverrideArrayOutput) ElementType added in v8.1.0

func (QueueHttpTargetHeaderOverrideArrayOutput) Index added in v8.1.0

func (QueueHttpTargetHeaderOverrideArrayOutput) ToQueueHttpTargetHeaderOverrideArrayOutput added in v8.1.0

func (o QueueHttpTargetHeaderOverrideArrayOutput) ToQueueHttpTargetHeaderOverrideArrayOutput() QueueHttpTargetHeaderOverrideArrayOutput

func (QueueHttpTargetHeaderOverrideArrayOutput) ToQueueHttpTargetHeaderOverrideArrayOutputWithContext added in v8.1.0

func (o QueueHttpTargetHeaderOverrideArrayOutput) ToQueueHttpTargetHeaderOverrideArrayOutputWithContext(ctx context.Context) QueueHttpTargetHeaderOverrideArrayOutput

type QueueHttpTargetHeaderOverrideHeader added in v8.1.0

type QueueHttpTargetHeaderOverrideHeader struct {
	// The Key of the header.
	Key string `pulumi:"key"`
	// The Value of the header.
	Value string `pulumi:"value"`
}

type QueueHttpTargetHeaderOverrideHeaderArgs added in v8.1.0

type QueueHttpTargetHeaderOverrideHeaderArgs struct {
	// The Key of the header.
	Key pulumi.StringInput `pulumi:"key"`
	// The Value of the header.
	Value pulumi.StringInput `pulumi:"value"`
}

func (QueueHttpTargetHeaderOverrideHeaderArgs) ElementType added in v8.1.0

func (QueueHttpTargetHeaderOverrideHeaderArgs) ToQueueHttpTargetHeaderOverrideHeaderOutput added in v8.1.0

func (i QueueHttpTargetHeaderOverrideHeaderArgs) ToQueueHttpTargetHeaderOverrideHeaderOutput() QueueHttpTargetHeaderOverrideHeaderOutput

func (QueueHttpTargetHeaderOverrideHeaderArgs) ToQueueHttpTargetHeaderOverrideHeaderOutputWithContext added in v8.1.0

func (i QueueHttpTargetHeaderOverrideHeaderArgs) ToQueueHttpTargetHeaderOverrideHeaderOutputWithContext(ctx context.Context) QueueHttpTargetHeaderOverrideHeaderOutput

type QueueHttpTargetHeaderOverrideHeaderInput added in v8.1.0

type QueueHttpTargetHeaderOverrideHeaderInput interface {
	pulumi.Input

	ToQueueHttpTargetHeaderOverrideHeaderOutput() QueueHttpTargetHeaderOverrideHeaderOutput
	ToQueueHttpTargetHeaderOverrideHeaderOutputWithContext(context.Context) QueueHttpTargetHeaderOverrideHeaderOutput
}

QueueHttpTargetHeaderOverrideHeaderInput is an input type that accepts QueueHttpTargetHeaderOverrideHeaderArgs and QueueHttpTargetHeaderOverrideHeaderOutput values. You can construct a concrete instance of `QueueHttpTargetHeaderOverrideHeaderInput` via:

QueueHttpTargetHeaderOverrideHeaderArgs{...}

type QueueHttpTargetHeaderOverrideHeaderOutput added in v8.1.0

type QueueHttpTargetHeaderOverrideHeaderOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetHeaderOverrideHeaderOutput) ElementType added in v8.1.0

func (QueueHttpTargetHeaderOverrideHeaderOutput) Key added in v8.1.0

The Key of the header.

func (QueueHttpTargetHeaderOverrideHeaderOutput) ToQueueHttpTargetHeaderOverrideHeaderOutput added in v8.1.0

func (o QueueHttpTargetHeaderOverrideHeaderOutput) ToQueueHttpTargetHeaderOverrideHeaderOutput() QueueHttpTargetHeaderOverrideHeaderOutput

func (QueueHttpTargetHeaderOverrideHeaderOutput) ToQueueHttpTargetHeaderOverrideHeaderOutputWithContext added in v8.1.0

func (o QueueHttpTargetHeaderOverrideHeaderOutput) ToQueueHttpTargetHeaderOverrideHeaderOutputWithContext(ctx context.Context) QueueHttpTargetHeaderOverrideHeaderOutput

func (QueueHttpTargetHeaderOverrideHeaderOutput) Value added in v8.1.0

The Value of the header.

type QueueHttpTargetHeaderOverrideInput added in v8.1.0

type QueueHttpTargetHeaderOverrideInput interface {
	pulumi.Input

	ToQueueHttpTargetHeaderOverrideOutput() QueueHttpTargetHeaderOverrideOutput
	ToQueueHttpTargetHeaderOverrideOutputWithContext(context.Context) QueueHttpTargetHeaderOverrideOutput
}

QueueHttpTargetHeaderOverrideInput is an input type that accepts QueueHttpTargetHeaderOverrideArgs and QueueHttpTargetHeaderOverrideOutput values. You can construct a concrete instance of `QueueHttpTargetHeaderOverrideInput` via:

QueueHttpTargetHeaderOverrideArgs{...}

type QueueHttpTargetHeaderOverrideOutput added in v8.1.0

type QueueHttpTargetHeaderOverrideOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetHeaderOverrideOutput) ElementType added in v8.1.0

func (QueueHttpTargetHeaderOverrideOutput) Header added in v8.1.0

Header embodying a key and a value. Structure is documented below.

func (QueueHttpTargetHeaderOverrideOutput) ToQueueHttpTargetHeaderOverrideOutput added in v8.1.0

func (o QueueHttpTargetHeaderOverrideOutput) ToQueueHttpTargetHeaderOverrideOutput() QueueHttpTargetHeaderOverrideOutput

func (QueueHttpTargetHeaderOverrideOutput) ToQueueHttpTargetHeaderOverrideOutputWithContext added in v8.1.0

func (o QueueHttpTargetHeaderOverrideOutput) ToQueueHttpTargetHeaderOverrideOutputWithContext(ctx context.Context) QueueHttpTargetHeaderOverrideOutput

type QueueHttpTargetInput added in v8.1.0

type QueueHttpTargetInput interface {
	pulumi.Input

	ToQueueHttpTargetOutput() QueueHttpTargetOutput
	ToQueueHttpTargetOutputWithContext(context.Context) QueueHttpTargetOutput
}

QueueHttpTargetInput is an input type that accepts QueueHttpTargetArgs and QueueHttpTargetOutput values. You can construct a concrete instance of `QueueHttpTargetInput` via:

QueueHttpTargetArgs{...}

type QueueHttpTargetOauthToken added in v8.1.0

type QueueHttpTargetOauthToken struct {
	// OAuth scope to be used for generating OAuth access token.
	// If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.
	Scope *string `pulumi:"scope"`
	// Service account email to be used for generating OAuth token.
	// The service account must be within the same project as the queue.
	// The caller must have iam.serviceAccounts.actAs permission for the service account.
	ServiceAccountEmail string `pulumi:"serviceAccountEmail"`
}

type QueueHttpTargetOauthTokenArgs added in v8.1.0

type QueueHttpTargetOauthTokenArgs struct {
	// OAuth scope to be used for generating OAuth access token.
	// If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.
	Scope pulumi.StringPtrInput `pulumi:"scope"`
	// Service account email to be used for generating OAuth token.
	// The service account must be within the same project as the queue.
	// The caller must have iam.serviceAccounts.actAs permission for the service account.
	ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"`
}

func (QueueHttpTargetOauthTokenArgs) ElementType added in v8.1.0

func (QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenOutput added in v8.1.0

func (i QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenOutput() QueueHttpTargetOauthTokenOutput

func (QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenOutputWithContext added in v8.1.0

func (i QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenOutputWithContext(ctx context.Context) QueueHttpTargetOauthTokenOutput

func (QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenPtrOutput added in v8.1.0

func (i QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenPtrOutput() QueueHttpTargetOauthTokenPtrOutput

func (QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenPtrOutputWithContext added in v8.1.0

func (i QueueHttpTargetOauthTokenArgs) ToQueueHttpTargetOauthTokenPtrOutputWithContext(ctx context.Context) QueueHttpTargetOauthTokenPtrOutput

type QueueHttpTargetOauthTokenInput added in v8.1.0

type QueueHttpTargetOauthTokenInput interface {
	pulumi.Input

	ToQueueHttpTargetOauthTokenOutput() QueueHttpTargetOauthTokenOutput
	ToQueueHttpTargetOauthTokenOutputWithContext(context.Context) QueueHttpTargetOauthTokenOutput
}

QueueHttpTargetOauthTokenInput is an input type that accepts QueueHttpTargetOauthTokenArgs and QueueHttpTargetOauthTokenOutput values. You can construct a concrete instance of `QueueHttpTargetOauthTokenInput` via:

QueueHttpTargetOauthTokenArgs{...}

type QueueHttpTargetOauthTokenOutput added in v8.1.0

type QueueHttpTargetOauthTokenOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetOauthTokenOutput) ElementType added in v8.1.0

func (QueueHttpTargetOauthTokenOutput) Scope added in v8.1.0

OAuth scope to be used for generating OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.

func (QueueHttpTargetOauthTokenOutput) ServiceAccountEmail added in v8.1.0

func (o QueueHttpTargetOauthTokenOutput) ServiceAccountEmail() pulumi.StringOutput

Service account email to be used for generating OAuth token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.

func (QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenOutput added in v8.1.0

func (o QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenOutput() QueueHttpTargetOauthTokenOutput

func (QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenOutputWithContext added in v8.1.0

func (o QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenOutputWithContext(ctx context.Context) QueueHttpTargetOauthTokenOutput

func (QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenPtrOutput added in v8.1.0

func (o QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenPtrOutput() QueueHttpTargetOauthTokenPtrOutput

func (QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenPtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetOauthTokenOutput) ToQueueHttpTargetOauthTokenPtrOutputWithContext(ctx context.Context) QueueHttpTargetOauthTokenPtrOutput

type QueueHttpTargetOauthTokenPtrInput added in v8.1.0

type QueueHttpTargetOauthTokenPtrInput interface {
	pulumi.Input

	ToQueueHttpTargetOauthTokenPtrOutput() QueueHttpTargetOauthTokenPtrOutput
	ToQueueHttpTargetOauthTokenPtrOutputWithContext(context.Context) QueueHttpTargetOauthTokenPtrOutput
}

QueueHttpTargetOauthTokenPtrInput is an input type that accepts QueueHttpTargetOauthTokenArgs, QueueHttpTargetOauthTokenPtr and QueueHttpTargetOauthTokenPtrOutput values. You can construct a concrete instance of `QueueHttpTargetOauthTokenPtrInput` via:

        QueueHttpTargetOauthTokenArgs{...}

or:

        nil

func QueueHttpTargetOauthTokenPtr added in v8.1.0

type QueueHttpTargetOauthTokenPtrOutput added in v8.1.0

type QueueHttpTargetOauthTokenPtrOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetOauthTokenPtrOutput) Elem added in v8.1.0

func (QueueHttpTargetOauthTokenPtrOutput) ElementType added in v8.1.0

func (QueueHttpTargetOauthTokenPtrOutput) Scope added in v8.1.0

OAuth scope to be used for generating OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.

func (QueueHttpTargetOauthTokenPtrOutput) ServiceAccountEmail added in v8.1.0

Service account email to be used for generating OAuth token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.

func (QueueHttpTargetOauthTokenPtrOutput) ToQueueHttpTargetOauthTokenPtrOutput added in v8.1.0

func (o QueueHttpTargetOauthTokenPtrOutput) ToQueueHttpTargetOauthTokenPtrOutput() QueueHttpTargetOauthTokenPtrOutput

func (QueueHttpTargetOauthTokenPtrOutput) ToQueueHttpTargetOauthTokenPtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetOauthTokenPtrOutput) ToQueueHttpTargetOauthTokenPtrOutputWithContext(ctx context.Context) QueueHttpTargetOauthTokenPtrOutput

type QueueHttpTargetOidcToken added in v8.1.0

type QueueHttpTargetOidcToken struct {
	// Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.
	Audience *string `pulumi:"audience"`
	// Service account email to be used for generating OIDC token.
	// The service account must be within the same project as the queue.
	// The caller must have iam.serviceAccounts.actAs permission for the service account.
	ServiceAccountEmail string `pulumi:"serviceAccountEmail"`
}

type QueueHttpTargetOidcTokenArgs added in v8.1.0

type QueueHttpTargetOidcTokenArgs struct {
	// Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.
	Audience pulumi.StringPtrInput `pulumi:"audience"`
	// Service account email to be used for generating OIDC token.
	// The service account must be within the same project as the queue.
	// The caller must have iam.serviceAccounts.actAs permission for the service account.
	ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"`
}

func (QueueHttpTargetOidcTokenArgs) ElementType added in v8.1.0

func (QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenOutput added in v8.1.0

func (i QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenOutput() QueueHttpTargetOidcTokenOutput

func (QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenOutputWithContext added in v8.1.0

func (i QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenOutputWithContext(ctx context.Context) QueueHttpTargetOidcTokenOutput

func (QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenPtrOutput added in v8.1.0

func (i QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenPtrOutput() QueueHttpTargetOidcTokenPtrOutput

func (QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenPtrOutputWithContext added in v8.1.0

func (i QueueHttpTargetOidcTokenArgs) ToQueueHttpTargetOidcTokenPtrOutputWithContext(ctx context.Context) QueueHttpTargetOidcTokenPtrOutput

type QueueHttpTargetOidcTokenInput added in v8.1.0

type QueueHttpTargetOidcTokenInput interface {
	pulumi.Input

	ToQueueHttpTargetOidcTokenOutput() QueueHttpTargetOidcTokenOutput
	ToQueueHttpTargetOidcTokenOutputWithContext(context.Context) QueueHttpTargetOidcTokenOutput
}

QueueHttpTargetOidcTokenInput is an input type that accepts QueueHttpTargetOidcTokenArgs and QueueHttpTargetOidcTokenOutput values. You can construct a concrete instance of `QueueHttpTargetOidcTokenInput` via:

QueueHttpTargetOidcTokenArgs{...}

type QueueHttpTargetOidcTokenOutput added in v8.1.0

type QueueHttpTargetOidcTokenOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetOidcTokenOutput) Audience added in v8.1.0

Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.

func (QueueHttpTargetOidcTokenOutput) ElementType added in v8.1.0

func (QueueHttpTargetOidcTokenOutput) ServiceAccountEmail added in v8.1.0

func (o QueueHttpTargetOidcTokenOutput) ServiceAccountEmail() pulumi.StringOutput

Service account email to be used for generating OIDC token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.

func (QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenOutput added in v8.1.0

func (o QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenOutput() QueueHttpTargetOidcTokenOutput

func (QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenOutputWithContext added in v8.1.0

func (o QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenOutputWithContext(ctx context.Context) QueueHttpTargetOidcTokenOutput

func (QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenPtrOutput added in v8.1.0

func (o QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenPtrOutput() QueueHttpTargetOidcTokenPtrOutput

func (QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenPtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetOidcTokenOutput) ToQueueHttpTargetOidcTokenPtrOutputWithContext(ctx context.Context) QueueHttpTargetOidcTokenPtrOutput

type QueueHttpTargetOidcTokenPtrInput added in v8.1.0

type QueueHttpTargetOidcTokenPtrInput interface {
	pulumi.Input

	ToQueueHttpTargetOidcTokenPtrOutput() QueueHttpTargetOidcTokenPtrOutput
	ToQueueHttpTargetOidcTokenPtrOutputWithContext(context.Context) QueueHttpTargetOidcTokenPtrOutput
}

QueueHttpTargetOidcTokenPtrInput is an input type that accepts QueueHttpTargetOidcTokenArgs, QueueHttpTargetOidcTokenPtr and QueueHttpTargetOidcTokenPtrOutput values. You can construct a concrete instance of `QueueHttpTargetOidcTokenPtrInput` via:

        QueueHttpTargetOidcTokenArgs{...}

or:

        nil

func QueueHttpTargetOidcTokenPtr added in v8.1.0

func QueueHttpTargetOidcTokenPtr(v *QueueHttpTargetOidcTokenArgs) QueueHttpTargetOidcTokenPtrInput

type QueueHttpTargetOidcTokenPtrOutput added in v8.1.0

type QueueHttpTargetOidcTokenPtrOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetOidcTokenPtrOutput) Audience added in v8.1.0

Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.

func (QueueHttpTargetOidcTokenPtrOutput) Elem added in v8.1.0

func (QueueHttpTargetOidcTokenPtrOutput) ElementType added in v8.1.0

func (QueueHttpTargetOidcTokenPtrOutput) ServiceAccountEmail added in v8.1.0

Service account email to be used for generating OIDC token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.

func (QueueHttpTargetOidcTokenPtrOutput) ToQueueHttpTargetOidcTokenPtrOutput added in v8.1.0

func (o QueueHttpTargetOidcTokenPtrOutput) ToQueueHttpTargetOidcTokenPtrOutput() QueueHttpTargetOidcTokenPtrOutput

func (QueueHttpTargetOidcTokenPtrOutput) ToQueueHttpTargetOidcTokenPtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetOidcTokenPtrOutput) ToQueueHttpTargetOidcTokenPtrOutputWithContext(ctx context.Context) QueueHttpTargetOidcTokenPtrOutput

type QueueHttpTargetOutput added in v8.1.0

type QueueHttpTargetOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetOutput) ElementType added in v8.1.0

func (QueueHttpTargetOutput) ElementType() reflect.Type

func (QueueHttpTargetOutput) HeaderOverrides added in v8.1.0

HTTP target headers. This map contains the header field names and values. Headers will be set when running the CreateTask and/or BufferTask. These headers represent a subset of the headers that will be configured for the task's HTTP request. Some HTTP request headers will be ignored or replaced. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue. Structure is documented below.

func (QueueHttpTargetOutput) HttpMethod added in v8.1.0

The HTTP method to use for the request. When specified, it overrides HttpRequest for the task. Note that if the value is set to GET the body of the task will be ignored at execution time. Possible values are: `HTTP_METHOD_UNSPECIFIED`, `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.

func (QueueHttpTargetOutput) OauthToken added in v8.1.0

If specified, an OAuth token is generated and attached as the Authorization header in the HTTP request. This type of authorization should generally be used only when calling Google APIs hosted on *.googleapis.com. Note that both the service account email and the scope MUST be specified when using the queue-level authorization override. Structure is documented below.

func (QueueHttpTargetOutput) OidcToken added in v8.1.0

If specified, an OIDC token is generated and attached as an Authorization header in the HTTP request. This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself. Note that both the service account email and the audience MUST be specified when using the queue-level authorization override. Structure is documented below.

func (QueueHttpTargetOutput) ToQueueHttpTargetOutput added in v8.1.0

func (o QueueHttpTargetOutput) ToQueueHttpTargetOutput() QueueHttpTargetOutput

func (QueueHttpTargetOutput) ToQueueHttpTargetOutputWithContext added in v8.1.0

func (o QueueHttpTargetOutput) ToQueueHttpTargetOutputWithContext(ctx context.Context) QueueHttpTargetOutput

func (QueueHttpTargetOutput) ToQueueHttpTargetPtrOutput added in v8.1.0

func (o QueueHttpTargetOutput) ToQueueHttpTargetPtrOutput() QueueHttpTargetPtrOutput

func (QueueHttpTargetOutput) ToQueueHttpTargetPtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetOutput) ToQueueHttpTargetPtrOutputWithContext(ctx context.Context) QueueHttpTargetPtrOutput

func (QueueHttpTargetOutput) UriOverride added in v8.1.0

URI override. When specified, overrides the execution URI for all the tasks in the queue. Structure is documented below.

type QueueHttpTargetPtrInput added in v8.1.0

type QueueHttpTargetPtrInput interface {
	pulumi.Input

	ToQueueHttpTargetPtrOutput() QueueHttpTargetPtrOutput
	ToQueueHttpTargetPtrOutputWithContext(context.Context) QueueHttpTargetPtrOutput
}

QueueHttpTargetPtrInput is an input type that accepts QueueHttpTargetArgs, QueueHttpTargetPtr and QueueHttpTargetPtrOutput values. You can construct a concrete instance of `QueueHttpTargetPtrInput` via:

        QueueHttpTargetArgs{...}

or:

        nil

func QueueHttpTargetPtr added in v8.1.0

func QueueHttpTargetPtr(v *QueueHttpTargetArgs) QueueHttpTargetPtrInput

type QueueHttpTargetPtrOutput added in v8.1.0

type QueueHttpTargetPtrOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetPtrOutput) Elem added in v8.1.0

func (QueueHttpTargetPtrOutput) ElementType added in v8.1.0

func (QueueHttpTargetPtrOutput) ElementType() reflect.Type

func (QueueHttpTargetPtrOutput) HeaderOverrides added in v8.1.0

HTTP target headers. This map contains the header field names and values. Headers will be set when running the CreateTask and/or BufferTask. These headers represent a subset of the headers that will be configured for the task's HTTP request. Some HTTP request headers will be ignored or replaced. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. Queue-level headers to override headers of all the tasks in the queue. Structure is documented below.

func (QueueHttpTargetPtrOutput) HttpMethod added in v8.1.0

The HTTP method to use for the request. When specified, it overrides HttpRequest for the task. Note that if the value is set to GET the body of the task will be ignored at execution time. Possible values are: `HTTP_METHOD_UNSPECIFIED`, `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.

func (QueueHttpTargetPtrOutput) OauthToken added in v8.1.0

If specified, an OAuth token is generated and attached as the Authorization header in the HTTP request. This type of authorization should generally be used only when calling Google APIs hosted on *.googleapis.com. Note that both the service account email and the scope MUST be specified when using the queue-level authorization override. Structure is documented below.

func (QueueHttpTargetPtrOutput) OidcToken added in v8.1.0

If specified, an OIDC token is generated and attached as an Authorization header in the HTTP request. This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself. Note that both the service account email and the audience MUST be specified when using the queue-level authorization override. Structure is documented below.

func (QueueHttpTargetPtrOutput) ToQueueHttpTargetPtrOutput added in v8.1.0

func (o QueueHttpTargetPtrOutput) ToQueueHttpTargetPtrOutput() QueueHttpTargetPtrOutput

func (QueueHttpTargetPtrOutput) ToQueueHttpTargetPtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetPtrOutput) ToQueueHttpTargetPtrOutputWithContext(ctx context.Context) QueueHttpTargetPtrOutput

func (QueueHttpTargetPtrOutput) UriOverride added in v8.1.0

URI override. When specified, overrides the execution URI for all the tasks in the queue. Structure is documented below.

type QueueHttpTargetUriOverride added in v8.1.0

type QueueHttpTargetUriOverride struct {
	// Host override.
	// When specified, replaces the host part of the task URL.
	// For example, if the task URL is "https://www.google.com", and host value
	// is set to "example.net", the overridden URI will be changed to "https://example.net".
	// Host value cannot be an empty string (INVALID_ARGUMENT).
	Host *string `pulumi:"host"`
	// URI path.
	// When specified, replaces the existing path of the task URL.
	// Setting the path value to an empty string clears the URI path segment.
	// Structure is documented below.
	PathOverride *QueueHttpTargetUriOverridePathOverride `pulumi:"pathOverride"`
	// Port override.
	// When specified, replaces the port part of the task URI.
	// For instance, for a URI http://www.google.com/foo and port=123, the overridden URI becomes http://www.google.com:123/foo.
	// Note that the port value must be a positive integer.
	// Setting the port to 0 (Zero) clears the URI port.
	Port *string `pulumi:"port"`
	// URI query.
	// When specified, replaces the query part of the task URI. Setting the query value to an empty string clears the URI query segment.
	// Structure is documented below.
	QueryOverride *QueueHttpTargetUriOverrideQueryOverride `pulumi:"queryOverride"`
	// Scheme override.
	// When specified, the task URI scheme is replaced by the provided value (HTTP or HTTPS).
	// Possible values are: `HTTP`, `HTTPS`.
	Scheme *string `pulumi:"scheme"`
	// URI Override Enforce Mode
	// When specified, determines the Target UriOverride mode. If not specified, it defaults to ALWAYS.
	// Possible values are: `ALWAYS`, `IF_NOT_EXISTS`.
	UriOverrideEnforceMode *string `pulumi:"uriOverrideEnforceMode"`
}

type QueueHttpTargetUriOverrideArgs added in v8.1.0

type QueueHttpTargetUriOverrideArgs struct {
	// Host override.
	// When specified, replaces the host part of the task URL.
	// For example, if the task URL is "https://www.google.com", and host value
	// is set to "example.net", the overridden URI will be changed to "https://example.net".
	// Host value cannot be an empty string (INVALID_ARGUMENT).
	Host pulumi.StringPtrInput `pulumi:"host"`
	// URI path.
	// When specified, replaces the existing path of the task URL.
	// Setting the path value to an empty string clears the URI path segment.
	// Structure is documented below.
	PathOverride QueueHttpTargetUriOverridePathOverridePtrInput `pulumi:"pathOverride"`
	// Port override.
	// When specified, replaces the port part of the task URI.
	// For instance, for a URI http://www.google.com/foo and port=123, the overridden URI becomes http://www.google.com:123/foo.
	// Note that the port value must be a positive integer.
	// Setting the port to 0 (Zero) clears the URI port.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// URI query.
	// When specified, replaces the query part of the task URI. Setting the query value to an empty string clears the URI query segment.
	// Structure is documented below.
	QueryOverride QueueHttpTargetUriOverrideQueryOverridePtrInput `pulumi:"queryOverride"`
	// Scheme override.
	// When specified, the task URI scheme is replaced by the provided value (HTTP or HTTPS).
	// Possible values are: `HTTP`, `HTTPS`.
	Scheme pulumi.StringPtrInput `pulumi:"scheme"`
	// URI Override Enforce Mode
	// When specified, determines the Target UriOverride mode. If not specified, it defaults to ALWAYS.
	// Possible values are: `ALWAYS`, `IF_NOT_EXISTS`.
	UriOverrideEnforceMode pulumi.StringPtrInput `pulumi:"uriOverrideEnforceMode"`
}

func (QueueHttpTargetUriOverrideArgs) ElementType added in v8.1.0

func (QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverrideOutput added in v8.1.0

func (i QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverrideOutput() QueueHttpTargetUriOverrideOutput

func (QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverrideOutputWithContext added in v8.1.0

func (i QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverrideOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideOutput

func (QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverridePtrOutput added in v8.1.0

func (i QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverridePtrOutput() QueueHttpTargetUriOverridePtrOutput

func (QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverridePtrOutputWithContext added in v8.1.0

func (i QueueHttpTargetUriOverrideArgs) ToQueueHttpTargetUriOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePtrOutput

type QueueHttpTargetUriOverrideInput added in v8.1.0

type QueueHttpTargetUriOverrideInput interface {
	pulumi.Input

	ToQueueHttpTargetUriOverrideOutput() QueueHttpTargetUriOverrideOutput
	ToQueueHttpTargetUriOverrideOutputWithContext(context.Context) QueueHttpTargetUriOverrideOutput
}

QueueHttpTargetUriOverrideInput is an input type that accepts QueueHttpTargetUriOverrideArgs and QueueHttpTargetUriOverrideOutput values. You can construct a concrete instance of `QueueHttpTargetUriOverrideInput` via:

QueueHttpTargetUriOverrideArgs{...}

type QueueHttpTargetUriOverrideOutput added in v8.1.0

type QueueHttpTargetUriOverrideOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetUriOverrideOutput) ElementType added in v8.1.0

func (QueueHttpTargetUriOverrideOutput) Host added in v8.1.0

Host override. When specified, replaces the host part of the task URL. For example, if the task URL is "https://www.google.com", and host value is set to "example.net", the overridden URI will be changed to "https://example.net". Host value cannot be an empty string (INVALID_ARGUMENT).

func (QueueHttpTargetUriOverrideOutput) PathOverride added in v8.1.0

URI path. When specified, replaces the existing path of the task URL. Setting the path value to an empty string clears the URI path segment. Structure is documented below.

func (QueueHttpTargetUriOverrideOutput) Port added in v8.1.0

Port override. When specified, replaces the port part of the task URI. For instance, for a URI http://www.google.com/foo and port=123, the overridden URI becomes http://www.google.com:123/foo. Note that the port value must be a positive integer. Setting the port to 0 (Zero) clears the URI port.

func (QueueHttpTargetUriOverrideOutput) QueryOverride added in v8.1.0

URI query. When specified, replaces the query part of the task URI. Setting the query value to an empty string clears the URI query segment. Structure is documented below.

func (QueueHttpTargetUriOverrideOutput) Scheme added in v8.1.0

Scheme override. When specified, the task URI scheme is replaced by the provided value (HTTP or HTTPS). Possible values are: `HTTP`, `HTTPS`.

func (QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverrideOutput added in v8.1.0

func (o QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverrideOutput() QueueHttpTargetUriOverrideOutput

func (QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverrideOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverrideOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideOutput

func (QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverridePtrOutput added in v8.1.0

func (o QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverridePtrOutput() QueueHttpTargetUriOverridePtrOutput

func (QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverridePtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverrideOutput) ToQueueHttpTargetUriOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePtrOutput

func (QueueHttpTargetUriOverrideOutput) UriOverrideEnforceMode added in v8.1.0

func (o QueueHttpTargetUriOverrideOutput) UriOverrideEnforceMode() pulumi.StringPtrOutput

URI Override Enforce Mode When specified, determines the Target UriOverride mode. If not specified, it defaults to ALWAYS. Possible values are: `ALWAYS`, `IF_NOT_EXISTS`.

type QueueHttpTargetUriOverridePathOverride added in v8.1.0

type QueueHttpTargetUriOverridePathOverride struct {
	// The URI path (e.g., /users/1234). Default is an empty string.
	Path *string `pulumi:"path"`
}

type QueueHttpTargetUriOverridePathOverrideArgs added in v8.1.0

type QueueHttpTargetUriOverridePathOverrideArgs struct {
	// The URI path (e.g., /users/1234). Default is an empty string.
	Path pulumi.StringPtrInput `pulumi:"path"`
}

func (QueueHttpTargetUriOverridePathOverrideArgs) ElementType added in v8.1.0

func (QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverrideOutput added in v8.1.0

func (i QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverrideOutput() QueueHttpTargetUriOverridePathOverrideOutput

func (QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverrideOutputWithContext added in v8.1.0

func (i QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverrideOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePathOverrideOutput

func (QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverridePtrOutput added in v8.1.0

func (i QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverridePtrOutput() QueueHttpTargetUriOverridePathOverridePtrOutput

func (QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext added in v8.1.0

func (i QueueHttpTargetUriOverridePathOverrideArgs) ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePathOverridePtrOutput

type QueueHttpTargetUriOverridePathOverrideInput added in v8.1.0

type QueueHttpTargetUriOverridePathOverrideInput interface {
	pulumi.Input

	ToQueueHttpTargetUriOverridePathOverrideOutput() QueueHttpTargetUriOverridePathOverrideOutput
	ToQueueHttpTargetUriOverridePathOverrideOutputWithContext(context.Context) QueueHttpTargetUriOverridePathOverrideOutput
}

QueueHttpTargetUriOverridePathOverrideInput is an input type that accepts QueueHttpTargetUriOverridePathOverrideArgs and QueueHttpTargetUriOverridePathOverrideOutput values. You can construct a concrete instance of `QueueHttpTargetUriOverridePathOverrideInput` via:

QueueHttpTargetUriOverridePathOverrideArgs{...}

type QueueHttpTargetUriOverridePathOverrideOutput added in v8.1.0

type QueueHttpTargetUriOverridePathOverrideOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetUriOverridePathOverrideOutput) ElementType added in v8.1.0

func (QueueHttpTargetUriOverridePathOverrideOutput) Path added in v8.1.0

The URI path (e.g., /users/1234). Default is an empty string.

func (QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverrideOutput added in v8.1.0

func (o QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverrideOutput() QueueHttpTargetUriOverridePathOverrideOutput

func (QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverrideOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverrideOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePathOverrideOutput

func (QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutput added in v8.1.0

func (o QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutput() QueueHttpTargetUriOverridePathOverridePtrOutput

func (QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverridePathOverrideOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePathOverridePtrOutput

type QueueHttpTargetUriOverridePathOverridePtrInput added in v8.1.0

type QueueHttpTargetUriOverridePathOverridePtrInput interface {
	pulumi.Input

	ToQueueHttpTargetUriOverridePathOverridePtrOutput() QueueHttpTargetUriOverridePathOverridePtrOutput
	ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext(context.Context) QueueHttpTargetUriOverridePathOverridePtrOutput
}

QueueHttpTargetUriOverridePathOverridePtrInput is an input type that accepts QueueHttpTargetUriOverridePathOverrideArgs, QueueHttpTargetUriOverridePathOverridePtr and QueueHttpTargetUriOverridePathOverridePtrOutput values. You can construct a concrete instance of `QueueHttpTargetUriOverridePathOverridePtrInput` via:

        QueueHttpTargetUriOverridePathOverrideArgs{...}

or:

        nil

type QueueHttpTargetUriOverridePathOverridePtrOutput added in v8.1.0

type QueueHttpTargetUriOverridePathOverridePtrOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetUriOverridePathOverridePtrOutput) Elem added in v8.1.0

func (QueueHttpTargetUriOverridePathOverridePtrOutput) ElementType added in v8.1.0

func (QueueHttpTargetUriOverridePathOverridePtrOutput) Path added in v8.1.0

The URI path (e.g., /users/1234). Default is an empty string.

func (QueueHttpTargetUriOverridePathOverridePtrOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutput added in v8.1.0

func (o QueueHttpTargetUriOverridePathOverridePtrOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutput() QueueHttpTargetUriOverridePathOverridePtrOutput

func (QueueHttpTargetUriOverridePathOverridePtrOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverridePathOverridePtrOutput) ToQueueHttpTargetUriOverridePathOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePathOverridePtrOutput

type QueueHttpTargetUriOverridePtrInput added in v8.1.0

type QueueHttpTargetUriOverridePtrInput interface {
	pulumi.Input

	ToQueueHttpTargetUriOverridePtrOutput() QueueHttpTargetUriOverridePtrOutput
	ToQueueHttpTargetUriOverridePtrOutputWithContext(context.Context) QueueHttpTargetUriOverridePtrOutput
}

QueueHttpTargetUriOverridePtrInput is an input type that accepts QueueHttpTargetUriOverrideArgs, QueueHttpTargetUriOverridePtr and QueueHttpTargetUriOverridePtrOutput values. You can construct a concrete instance of `QueueHttpTargetUriOverridePtrInput` via:

        QueueHttpTargetUriOverrideArgs{...}

or:

        nil

func QueueHttpTargetUriOverridePtr added in v8.1.0

type QueueHttpTargetUriOverridePtrOutput added in v8.1.0

type QueueHttpTargetUriOverridePtrOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetUriOverridePtrOutput) Elem added in v8.1.0

func (QueueHttpTargetUriOverridePtrOutput) ElementType added in v8.1.0

func (QueueHttpTargetUriOverridePtrOutput) Host added in v8.1.0

Host override. When specified, replaces the host part of the task URL. For example, if the task URL is "https://www.google.com", and host value is set to "example.net", the overridden URI will be changed to "https://example.net". Host value cannot be an empty string (INVALID_ARGUMENT).

func (QueueHttpTargetUriOverridePtrOutput) PathOverride added in v8.1.0

URI path. When specified, replaces the existing path of the task URL. Setting the path value to an empty string clears the URI path segment. Structure is documented below.

func (QueueHttpTargetUriOverridePtrOutput) Port added in v8.1.0

Port override. When specified, replaces the port part of the task URI. For instance, for a URI http://www.google.com/foo and port=123, the overridden URI becomes http://www.google.com:123/foo. Note that the port value must be a positive integer. Setting the port to 0 (Zero) clears the URI port.

func (QueueHttpTargetUriOverridePtrOutput) QueryOverride added in v8.1.0

URI query. When specified, replaces the query part of the task URI. Setting the query value to an empty string clears the URI query segment. Structure is documented below.

func (QueueHttpTargetUriOverridePtrOutput) Scheme added in v8.1.0

Scheme override. When specified, the task URI scheme is replaced by the provided value (HTTP or HTTPS). Possible values are: `HTTP`, `HTTPS`.

func (QueueHttpTargetUriOverridePtrOutput) ToQueueHttpTargetUriOverridePtrOutput added in v8.1.0

func (o QueueHttpTargetUriOverridePtrOutput) ToQueueHttpTargetUriOverridePtrOutput() QueueHttpTargetUriOverridePtrOutput

func (QueueHttpTargetUriOverridePtrOutput) ToQueueHttpTargetUriOverridePtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverridePtrOutput) ToQueueHttpTargetUriOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverridePtrOutput

func (QueueHttpTargetUriOverridePtrOutput) UriOverrideEnforceMode added in v8.1.0

func (o QueueHttpTargetUriOverridePtrOutput) UriOverrideEnforceMode() pulumi.StringPtrOutput

URI Override Enforce Mode When specified, determines the Target UriOverride mode. If not specified, it defaults to ALWAYS. Possible values are: `ALWAYS`, `IF_NOT_EXISTS`.

type QueueHttpTargetUriOverrideQueryOverride added in v8.1.0

type QueueHttpTargetUriOverrideQueryOverride struct {
	// The query parameters (e.g., qparam1=123&qparam2=456). Default is an empty string.
	QueryParams *string `pulumi:"queryParams"`
}

type QueueHttpTargetUriOverrideQueryOverrideArgs added in v8.1.0

type QueueHttpTargetUriOverrideQueryOverrideArgs struct {
	// The query parameters (e.g., qparam1=123&qparam2=456). Default is an empty string.
	QueryParams pulumi.StringPtrInput `pulumi:"queryParams"`
}

func (QueueHttpTargetUriOverrideQueryOverrideArgs) ElementType added in v8.1.0

func (QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverrideOutput added in v8.1.0

func (i QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverrideOutput() QueueHttpTargetUriOverrideQueryOverrideOutput

func (QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverrideOutputWithContext added in v8.1.0

func (i QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverrideOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideQueryOverrideOutput

func (QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverridePtrOutput added in v8.1.0

func (i QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverridePtrOutput() QueueHttpTargetUriOverrideQueryOverridePtrOutput

func (QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext added in v8.1.0

func (i QueueHttpTargetUriOverrideQueryOverrideArgs) ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideQueryOverridePtrOutput

type QueueHttpTargetUriOverrideQueryOverrideInput added in v8.1.0

type QueueHttpTargetUriOverrideQueryOverrideInput interface {
	pulumi.Input

	ToQueueHttpTargetUriOverrideQueryOverrideOutput() QueueHttpTargetUriOverrideQueryOverrideOutput
	ToQueueHttpTargetUriOverrideQueryOverrideOutputWithContext(context.Context) QueueHttpTargetUriOverrideQueryOverrideOutput
}

QueueHttpTargetUriOverrideQueryOverrideInput is an input type that accepts QueueHttpTargetUriOverrideQueryOverrideArgs and QueueHttpTargetUriOverrideQueryOverrideOutput values. You can construct a concrete instance of `QueueHttpTargetUriOverrideQueryOverrideInput` via:

QueueHttpTargetUriOverrideQueryOverrideArgs{...}

type QueueHttpTargetUriOverrideQueryOverrideOutput added in v8.1.0

type QueueHttpTargetUriOverrideQueryOverrideOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetUriOverrideQueryOverrideOutput) ElementType added in v8.1.0

func (QueueHttpTargetUriOverrideQueryOverrideOutput) QueryParams added in v8.1.0

The query parameters (e.g., qparam1=123&qparam2=456). Default is an empty string.

func (QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverrideOutput added in v8.1.0

func (o QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverrideOutput() QueueHttpTargetUriOverrideQueryOverrideOutput

func (QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverrideOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverrideOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideQueryOverrideOutput

func (QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutput added in v8.1.0

func (o QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutput() QueueHttpTargetUriOverrideQueryOverridePtrOutput

func (QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverrideQueryOverrideOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideQueryOverridePtrOutput

type QueueHttpTargetUriOverrideQueryOverridePtrInput added in v8.1.0

type QueueHttpTargetUriOverrideQueryOverridePtrInput interface {
	pulumi.Input

	ToQueueHttpTargetUriOverrideQueryOverridePtrOutput() QueueHttpTargetUriOverrideQueryOverridePtrOutput
	ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext(context.Context) QueueHttpTargetUriOverrideQueryOverridePtrOutput
}

QueueHttpTargetUriOverrideQueryOverridePtrInput is an input type that accepts QueueHttpTargetUriOverrideQueryOverrideArgs, QueueHttpTargetUriOverrideQueryOverridePtr and QueueHttpTargetUriOverrideQueryOverridePtrOutput values. You can construct a concrete instance of `QueueHttpTargetUriOverrideQueryOverridePtrInput` via:

        QueueHttpTargetUriOverrideQueryOverrideArgs{...}

or:

        nil

type QueueHttpTargetUriOverrideQueryOverridePtrOutput added in v8.1.0

type QueueHttpTargetUriOverrideQueryOverridePtrOutput struct{ *pulumi.OutputState }

func (QueueHttpTargetUriOverrideQueryOverridePtrOutput) Elem added in v8.1.0

func (QueueHttpTargetUriOverrideQueryOverridePtrOutput) ElementType added in v8.1.0

func (QueueHttpTargetUriOverrideQueryOverridePtrOutput) QueryParams added in v8.1.0

The query parameters (e.g., qparam1=123&qparam2=456). Default is an empty string.

func (QueueHttpTargetUriOverrideQueryOverridePtrOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutput added in v8.1.0

func (o QueueHttpTargetUriOverrideQueryOverridePtrOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutput() QueueHttpTargetUriOverrideQueryOverridePtrOutput

func (QueueHttpTargetUriOverrideQueryOverridePtrOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext added in v8.1.0

func (o QueueHttpTargetUriOverrideQueryOverridePtrOutput) ToQueueHttpTargetUriOverrideQueryOverridePtrOutputWithContext(ctx context.Context) QueueHttpTargetUriOverrideQueryOverridePtrOutput

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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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.

## cloudtasks.QueueIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## This resource supports User Project Overrides.

-

# IAM policy for Cloud Tasks Queue 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.

## cloudtasks.QueueIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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. If not specified, the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no location is specified, it is taken from the provider configuration.

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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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.

## cloudtasks.QueueIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## This resource supports User Project Overrides.

-

# IAM policy for Cloud Tasks Queue 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.

## cloudtasks.QueueIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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. If not specified, the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no location is specified, it is taken from the provider configuration.

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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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.

## cloudtasks.QueueIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## This resource supports User Project Overrides.

-

# IAM policy for Cloud Tasks Queue 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.

## cloudtasks.QueueIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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
	})
}

```

## cloudtasks.QueueIamMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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. If not specified, the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no location is specified, it is taken from the provider configuration.

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. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
	// location is specified, it is taken from the provider configuration.
	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) HttpTarget added in v8.1.0

func (o QueueOutput) HttpTarget() QueueHttpTargetPtrOutput

Modifies HTTP target for HTTP tasks. Structure is documented below.

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
	// Modifies HTTP target for HTTP tasks.
	// Structure is documented below.
	HttpTarget QueueHttpTargetPtrInput
	// 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