Queue class
A named resource to which messages are sent by publishers.
Example Usage
Queue Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.cloudtasks.Queue("default", {
name: "cloud-tasks-queue-test",
location: "us-central1",
});
import pulumi
import pulumi_gcp as gcp
default = gcp.cloudtasks.Queue("default",
name="cloud-tasks-queue-test",
location="us-central1")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.CloudTasks.Queue("default", new()
{
Name = "cloud-tasks-queue-test",
Location = "us-central1",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/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
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_cloudtasks_queue" "default" {
name = "cloud-tasks-queue-test"
location = "us-central1"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudtasks.Queue;
import com.pulumi.gcp.cloudtasks.QueueArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Queue("default", QueueArgs.builder()
.name("cloud-tasks-queue-test")
.location("us-central1")
.build());
}
}
resources:
default:
type: gcp:cloudtasks:Queue
properties:
name: cloud-tasks-queue-test
location: us-central1
Cloud Tasks Queue Advanced
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const advancedConfiguration = new gcp.cloudtasks.Queue("advanced_configuration", {
name: "instance-name",
location: "us-central1",
appEngineRoutingOverride: {
service: "worker",
version: "1.0",
instance: "test",
},
rateLimits: {
maxConcurrentDispatches: 3,
maxDispatchesPerSecond: 2,
},
retryConfig: {
maxAttempts: 5,
maxRetryDuration: "4s",
maxBackoff: "3s",
minBackoff: "2s",
maxDoublings: 1,
},
stackdriverLoggingConfig: {
samplingRatio: 0.9,
},
});
import pulumi
import pulumi_gcp as gcp
advanced_configuration = gcp.cloudtasks.Queue("advanced_configuration",
name="instance-name",
location="us-central1",
app_engine_routing_override={
"service": "worker",
"version": "1.0",
"instance": "test",
},
rate_limits={
"max_concurrent_dispatches": 3,
"max_dispatches_per_second": float(2),
},
retry_config={
"max_attempts": 5,
"max_retry_duration": "4s",
"max_backoff": "3s",
"min_backoff": "2s",
"max_doublings": 1,
},
stackdriver_logging_config={
"sampling_ratio": 0.9,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var advancedConfiguration = new Gcp.CloudTasks.Queue("advanced_configuration", new()
{
Name = "instance-name",
Location = "us-central1",
AppEngineRoutingOverride = new Gcp.CloudTasks.Inputs.QueueAppEngineRoutingOverrideArgs
{
Service = "worker",
Version = "1.0",
Instance = "test",
},
RateLimits = new Gcp.CloudTasks.Inputs.QueueRateLimitsArgs
{
MaxConcurrentDispatches = 3,
MaxDispatchesPerSecond = 2.0,
},
RetryConfig = new Gcp.CloudTasks.Inputs.QueueRetryConfigArgs
{
MaxAttempts = 5,
MaxRetryDuration = "4s",
MaxBackoff = "3s",
MinBackoff = "2s",
MaxDoublings = 1,
},
StackdriverLoggingConfig = new Gcp.CloudTasks.Inputs.QueueStackdriverLoggingConfigArgs
{
SamplingRatio = 0.9,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/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
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_cloudtasks_queue" "advanced_configuration" {
name = "instance-name"
location = "us-central1"
app_engine_routing_override = {
service = "worker"
version = "1.0"
instance = "test"
}
rate_limits = {
max_concurrent_dispatches = 3
max_dispatches_per_second = 2
}
retry_config = {
max_attempts = 5
max_retry_duration = "4s"
max_backoff = "3s"
min_backoff = "2s"
max_doublings = 1
}
stackdriver_logging_config = {
sampling_ratio = 0.9
}
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudtasks.Queue;
import com.pulumi.gcp.cloudtasks.QueueArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueAppEngineRoutingOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueRateLimitsArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueRetryConfigArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueStackdriverLoggingConfigArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var advancedConfiguration = new Queue("advancedConfiguration", QueueArgs.builder()
.name("instance-name")
.location("us-central1")
.appEngineRoutingOverride(QueueAppEngineRoutingOverrideArgs.builder()
.service("worker")
.version("1.0")
.instance("test")
.build())
.rateLimits(QueueRateLimitsArgs.builder()
.maxConcurrentDispatches(3)
.maxDispatchesPerSecond(2.0)
.build())
.retryConfig(QueueRetryConfigArgs.builder()
.maxAttempts(5)
.maxRetryDuration("4s")
.maxBackoff("3s")
.minBackoff("2s")
.maxDoublings(1)
.build())
.stackdriverLoggingConfig(QueueStackdriverLoggingConfigArgs.builder()
.samplingRatio(0.9)
.build())
.build());
}
}
resources:
advancedConfiguration:
type: gcp:cloudtasks:Queue
name: advanced_configuration
properties:
name: instance-name
location: us-central1
appEngineRoutingOverride:
service: worker
version: '1.0'
instance: test
rateLimits:
maxConcurrentDispatches: 3
maxDispatchesPerSecond: 2
retryConfig:
maxAttempts: 5
maxRetryDuration: 4s
maxBackoff: 3s
minBackoff: 2s
maxDoublings: 1
stackdriverLoggingConfig:
samplingRatio: 0.9
Cloud Tasks Queue Http Target Oidc
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const oidcServiceAccount = new gcp.serviceaccount.Account("oidc_service_account", {
accountId: "example-oidc",
displayName: "Tasks Queue OIDC Service Account",
});
const httpTargetOidc = new gcp.cloudtasks.Queue("http_target_oidc", {
name: "cloud-tasks-queue-http-target-oidc",
location: "us-central1",
httpTarget: {
httpMethod: "POST",
uriOverride: {
scheme: "HTTPS",
host: "oidc.example.com",
port: "8443",
pathOverride: {
path: "/users/1234",
},
queryOverride: {
queryParams: "qparam1=123&qparam2=456",
},
uriOverrideEnforceMode: "IF_NOT_EXISTS",
},
headerOverrides: [
{
header: {
key: "AddSomethingElse",
value: "MyOtherValue",
},
},
{
header: {
key: "AddMe",
value: "MyValue",
},
},
],
oidcToken: {
serviceAccountEmail: oidcServiceAccount.email,
audience: "https://oidc.example.com",
},
},
});
import pulumi
import pulumi_gcp as gcp
oidc_service_account = gcp.serviceaccount.Account("oidc_service_account",
account_id="example-oidc",
display_name="Tasks Queue OIDC Service Account")
http_target_oidc = gcp.cloudtasks.Queue("http_target_oidc",
name="cloud-tasks-queue-http-target-oidc",
location="us-central1",
http_target={
"http_method": "POST",
"uri_override": {
"scheme": "HTTPS",
"host": "oidc.example.com",
"port": "8443",
"path_override": {
"path": "/users/1234",
},
"query_override": {
"query_params": "qparam1=123&qparam2=456",
},
"uri_override_enforce_mode": "IF_NOT_EXISTS",
},
"header_overrides": [
{
"header": {
"key": "AddSomethingElse",
"value": "MyOtherValue",
},
},
{
"header": {
"key": "AddMe",
"value": "MyValue",
},
},
],
"oidc_token": {
"service_account_email": oidc_service_account.email,
"audience": "https://oidc.example.com",
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var oidcServiceAccount = new Gcp.ServiceAccount.Account("oidc_service_account", new()
{
AccountId = "example-oidc",
DisplayName = "Tasks Queue OIDC Service Account",
});
var httpTargetOidc = new Gcp.CloudTasks.Queue("http_target_oidc", new()
{
Name = "cloud-tasks-queue-http-target-oidc",
Location = "us-central1",
HttpTarget = new Gcp.CloudTasks.Inputs.QueueHttpTargetArgs
{
HttpMethod = "POST",
UriOverride = new Gcp.CloudTasks.Inputs.QueueHttpTargetUriOverrideArgs
{
Scheme = "HTTPS",
Host = "oidc.example.com",
Port = "8443",
PathOverride = new Gcp.CloudTasks.Inputs.QueueHttpTargetUriOverridePathOverrideArgs
{
Path = "/users/1234",
},
QueryOverride = new Gcp.CloudTasks.Inputs.QueueHttpTargetUriOverrideQueryOverrideArgs
{
QueryParams = "qparam1=123&qparam2=456",
},
UriOverrideEnforceMode = "IF_NOT_EXISTS",
},
HeaderOverrides = new[]
{
new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideArgs
{
Header = new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideHeaderArgs
{
Key = "AddSomethingElse",
Value = "MyOtherValue",
},
},
new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideArgs
{
Header = new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideHeaderArgs
{
Key = "AddMe",
Value = "MyValue",
},
},
},
OidcToken = new Gcp.CloudTasks.Inputs.QueueHttpTargetOidcTokenArgs
{
ServiceAccountEmail = oidcServiceAccount.Email,
Audience = "https://oidc.example.com",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v9/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
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_cloudtasks_queue" "http_target_oidc" {
name = "cloud-tasks-queue-http-target-oidc"
location = "us-central1"
http_target = {
http_method = "POST"
uri_override = {
scheme = "HTTPS"
host = "oidc.example.com"
port = 8443
path_override = {
path = "/users/1234"
}
query_override = {
query_params = "qparam1=123&qparam2=456"
}
uri_override_enforce_mode = "IF_NOT_EXISTS"
}
header_overrides = [{
"header" = {
"key" = "AddSomethingElse"
"value" = "MyOtherValue"
}
}, {
"header" = {
"key" = "AddMe"
"value" = "MyValue"
}
}]
oidc_token = {
service_account_email = gcp_serviceaccount_account.oidc_service_account.email
audience = "https://oidc.example.com"
}
}
}
resource "gcp_serviceaccount_account" "oidc_service_account" {
account_id = "example-oidc"
display_name = "Tasks Queue OIDC Service Account"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.cloudtasks.Queue;
import com.pulumi.gcp.cloudtasks.QueueArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetUriOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetUriOverridePathOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetUriOverrideQueryOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetHeaderOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetHeaderOverrideHeaderArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetOidcTokenArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var oidcServiceAccount = new Account("oidcServiceAccount", AccountArgs.builder()
.accountId("example-oidc")
.displayName("Tasks Queue OIDC Service Account")
.build());
var httpTargetOidc = new Queue("httpTargetOidc", QueueArgs.builder()
.name("cloud-tasks-queue-http-target-oidc")
.location("us-central1")
.httpTarget(QueueHttpTargetArgs.builder()
.httpMethod("POST")
.uriOverride(QueueHttpTargetUriOverrideArgs.builder()
.scheme("HTTPS")
.host("oidc.example.com")
.port("8443")
.pathOverride(QueueHttpTargetUriOverridePathOverrideArgs.builder()
.path("/users/1234")
.build())
.queryOverride(QueueHttpTargetUriOverrideQueryOverrideArgs.builder()
.queryParams("qparam1=123&qparam2=456")
.build())
.uriOverrideEnforceMode("IF_NOT_EXISTS")
.build())
.headerOverrides(
QueueHttpTargetHeaderOverrideArgs.builder()
.header(QueueHttpTargetHeaderOverrideHeaderArgs.builder()
.key("AddSomethingElse")
.value("MyOtherValue")
.build())
.build(),
QueueHttpTargetHeaderOverrideArgs.builder()
.header(QueueHttpTargetHeaderOverrideHeaderArgs.builder()
.key("AddMe")
.value("MyValue")
.build())
.build())
.oidcToken(QueueHttpTargetOidcTokenArgs.builder()
.serviceAccountEmail(oidcServiceAccount.email())
.audience("https://oidc.example.com")
.build())
.build())
.build());
}
}
resources:
httpTargetOidc:
type: gcp:cloudtasks:Queue
name: http_target_oidc
properties:
name: cloud-tasks-queue-http-target-oidc
location: us-central1
httpTarget:
httpMethod: POST
uriOverride:
scheme: HTTPS
host: oidc.example.com
port: 8443
pathOverride:
path: /users/1234
queryOverride:
queryParams: qparam1=123&qparam2=456
uriOverrideEnforceMode: IF_NOT_EXISTS
headerOverrides:
- header:
key: AddSomethingElse
value: MyOtherValue
- header:
key: AddMe
value: MyValue
oidcToken:
serviceAccountEmail: ${oidcServiceAccount.email}
audience: https://oidc.example.com
oidcServiceAccount:
type: gcp:serviceaccount:Account
name: oidc_service_account
properties:
accountId: example-oidc
displayName: Tasks Queue OIDC Service Account
Cloud Tasks Queue Http Target Oauth
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const oauthServiceAccount = new gcp.serviceaccount.Account("oauth_service_account", {
accountId: "example-oauth",
displayName: "Tasks Queue OAuth Service Account",
});
const httpTargetOauth = new gcp.cloudtasks.Queue("http_target_oauth", {
name: "cloud-tasks-queue-http-target-oauth",
location: "us-central1",
httpTarget: {
httpMethod: "POST",
uriOverride: {
scheme: "HTTPS",
host: "oauth.example.com",
port: "8443",
pathOverride: {
path: "/users/1234",
},
queryOverride: {
queryParams: "qparam1=123&qparam2=456",
},
uriOverrideEnforceMode: "IF_NOT_EXISTS",
},
headerOverrides: [
{
header: {
key: "AddSomethingElse",
value: "MyOtherValue",
},
},
{
header: {
key: "AddMe",
value: "MyValue",
},
},
],
oauthToken: {
serviceAccountEmail: oauthServiceAccount.email,
scope: "openid https://www.googleapis.com/auth/userinfo.email",
},
},
});
import pulumi
import pulumi_gcp as gcp
oauth_service_account = gcp.serviceaccount.Account("oauth_service_account",
account_id="example-oauth",
display_name="Tasks Queue OAuth Service Account")
http_target_oauth = gcp.cloudtasks.Queue("http_target_oauth",
name="cloud-tasks-queue-http-target-oauth",
location="us-central1",
http_target={
"http_method": "POST",
"uri_override": {
"scheme": "HTTPS",
"host": "oauth.example.com",
"port": "8443",
"path_override": {
"path": "/users/1234",
},
"query_override": {
"query_params": "qparam1=123&qparam2=456",
},
"uri_override_enforce_mode": "IF_NOT_EXISTS",
},
"header_overrides": [
{
"header": {
"key": "AddSomethingElse",
"value": "MyOtherValue",
},
},
{
"header": {
"key": "AddMe",
"value": "MyValue",
},
},
],
"oauth_token": {
"service_account_email": oauth_service_account.email,
"scope": "openid https://www.googleapis.com/auth/userinfo.email",
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var oauthServiceAccount = new Gcp.ServiceAccount.Account("oauth_service_account", new()
{
AccountId = "example-oauth",
DisplayName = "Tasks Queue OAuth Service Account",
});
var httpTargetOauth = new Gcp.CloudTasks.Queue("http_target_oauth", new()
{
Name = "cloud-tasks-queue-http-target-oauth",
Location = "us-central1",
HttpTarget = new Gcp.CloudTasks.Inputs.QueueHttpTargetArgs
{
HttpMethod = "POST",
UriOverride = new Gcp.CloudTasks.Inputs.QueueHttpTargetUriOverrideArgs
{
Scheme = "HTTPS",
Host = "oauth.example.com",
Port = "8443",
PathOverride = new Gcp.CloudTasks.Inputs.QueueHttpTargetUriOverridePathOverrideArgs
{
Path = "/users/1234",
},
QueryOverride = new Gcp.CloudTasks.Inputs.QueueHttpTargetUriOverrideQueryOverrideArgs
{
QueryParams = "qparam1=123&qparam2=456",
},
UriOverrideEnforceMode = "IF_NOT_EXISTS",
},
HeaderOverrides = new[]
{
new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideArgs
{
Header = new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideHeaderArgs
{
Key = "AddSomethingElse",
Value = "MyOtherValue",
},
},
new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideArgs
{
Header = new Gcp.CloudTasks.Inputs.QueueHttpTargetHeaderOverrideHeaderArgs
{
Key = "AddMe",
Value = "MyValue",
},
},
},
OauthToken = new Gcp.CloudTasks.Inputs.QueueHttpTargetOauthTokenArgs
{
ServiceAccountEmail = oauthServiceAccount.Email,
Scope = "openid https://www.googleapis.com/auth/userinfo.email",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/cloudtasks"
"github.com/pulumi/pulumi-gcp/sdk/v9/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
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
resource "gcp_cloudtasks_queue" "http_target_oauth" {
name = "cloud-tasks-queue-http-target-oauth"
location = "us-central1"
http_target = {
http_method = "POST"
uri_override = {
scheme = "HTTPS"
host = "oauth.example.com"
port = 8443
path_override = {
path = "/users/1234"
}
query_override = {
query_params = "qparam1=123&qparam2=456"
}
uri_override_enforce_mode = "IF_NOT_EXISTS"
}
header_overrides = [{
"header" = {
"key" = "AddSomethingElse"
"value" = "MyOtherValue"
}
}, {
"header" = {
"key" = "AddMe"
"value" = "MyValue"
}
}]
oauth_token = {
service_account_email = gcp_serviceaccount_account.oauth_service_account.email
scope = "openid https://www.googleapis.com/auth/userinfo.email"
}
}
}
resource "gcp_serviceaccount_account" "oauth_service_account" {
account_id = "example-oauth"
display_name = "Tasks Queue OAuth Service Account"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.cloudtasks.Queue;
import com.pulumi.gcp.cloudtasks.QueueArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetUriOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetUriOverridePathOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetUriOverrideQueryOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetHeaderOverrideArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetHeaderOverrideHeaderArgs;
import com.pulumi.gcp.cloudtasks.inputs.QueueHttpTargetOauthTokenArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var oauthServiceAccount = new Account("oauthServiceAccount", AccountArgs.builder()
.accountId("example-oauth")
.displayName("Tasks Queue OAuth Service Account")
.build());
var httpTargetOauth = new Queue("httpTargetOauth", QueueArgs.builder()
.name("cloud-tasks-queue-http-target-oauth")
.location("us-central1")
.httpTarget(QueueHttpTargetArgs.builder()
.httpMethod("POST")
.uriOverride(QueueHttpTargetUriOverrideArgs.builder()
.scheme("HTTPS")
.host("oauth.example.com")
.port("8443")
.pathOverride(QueueHttpTargetUriOverridePathOverrideArgs.builder()
.path("/users/1234")
.build())
.queryOverride(QueueHttpTargetUriOverrideQueryOverrideArgs.builder()
.queryParams("qparam1=123&qparam2=456")
.build())
.uriOverrideEnforceMode("IF_NOT_EXISTS")
.build())
.headerOverrides(
QueueHttpTargetHeaderOverrideArgs.builder()
.header(QueueHttpTargetHeaderOverrideHeaderArgs.builder()
.key("AddSomethingElse")
.value("MyOtherValue")
.build())
.build(),
QueueHttpTargetHeaderOverrideArgs.builder()
.header(QueueHttpTargetHeaderOverrideHeaderArgs.builder()
.key("AddMe")
.value("MyValue")
.build())
.build())
.oauthToken(QueueHttpTargetOauthTokenArgs.builder()
.serviceAccountEmail(oauthServiceAccount.email())
.scope("openid https://www.googleapis.com/auth/userinfo.email")
.build())
.build())
.build());
}
}
resources:
httpTargetOauth:
type: gcp:cloudtasks:Queue
name: http_target_oauth
properties:
name: cloud-tasks-queue-http-target-oauth
location: us-central1
httpTarget:
httpMethod: POST
uriOverride:
scheme: HTTPS
host: oauth.example.com
port: 8443
pathOverride:
path: /users/1234
queryOverride:
queryParams: qparam1=123&qparam2=456
uriOverrideEnforceMode: IF_NOT_EXISTS
headerOverrides:
- header:
key: AddSomethingElse
value: MyOtherValue
- header:
key: AddMe
value: MyValue
oauthToken:
serviceAccountEmail: ${oauthServiceAccount.email}
scope: openid https://www.googleapis.com/auth/userinfo.email
oauthServiceAccount:
type: gcp:serviceaccount:Account
name: oauth_service_account
properties:
accountId: example-oauth
displayName: Tasks Queue OAuth Service Account
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:
$ pulumi import gcp:cloudtasks/queue:Queue default projects/{{project}}/locations/{{location}}/queues/{{name}}
$ pulumi import gcp:cloudtasks/queue:Queue default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:cloudtasks/queue:Queue default {{location}}/{{name}}
Constructors
- Queue(String name, {QueueArgs? args, CustomResourceOptions? options})
-
Creates a new Queue.
nameThe Pulumi resource name.argsArguments used to configure this Queue. The set of arguments for Queue.optionsResource options controlling this resource's behavior. - Queue.reference(String urn)
- Creates a typed reference to an existing Queue resource.
Properties
-
appEngineRoutingOverride
↔ Output<
QueueAppEngineRoutingOverride?> -
Overrides for task-level appEngineRouting. These settings apply only
to App Engine tasks in this queue
Structure is documented below.
latefinal
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
deletionPolicy
↔ Output<
String> -
Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
When a 'terraform destroy' or 'pulumi up' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", deleting the resource is allowed.
latefinal
-
desiredState
↔ Output<
String?> -
The desired state of the queue. Use this to pause and resume the queue.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
httpTarget
↔ Output<
QueueHttpTarget?> -
Modifies HTTP target for HTTP tasks.
Structure is documented below.
latefinal
-
id
↔ Output<
String> -
getter/setter pairinherited
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
location
↔ Output<
String> -
The location of the queue
latefinal
-
name
↔ Output<
String> -
The queue name.
latefinal
-
project
↔ Output<
String> -
The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
latefinal
-
rateLimits
↔ Output<
QueueRateLimits> -
Rate limits for task dispatches.
The queue's actual dispatch rate is the result of:
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
-
retryConfig
↔ Output<
QueueRetryConfig> -
Settings that determine the retry behavior.
Structure is documented below.
latefinal
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
stackdriverLoggingConfig
↔ Output<
QueueStackdriverLoggingConfig?> -
Configuration options for writing logs to Stackdriver Logging.
Structure is documented below.
latefinal
-
state
↔ Output<
String> -
The current state of the queue.
latefinal
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
urn
↔ Output<
String> -
latefinalinherited
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited