1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. cloudrun
  5. Service
Google Cloud v8.25.1 published on Wednesday, Apr 9, 2025 by Pulumi

gcp.cloudrun.Service

Explore with Pulumi AI

A Cloud Run service has a unique endpoint and autoscales containers.

To get more information about Service, see:

Warning: We recommend using the gcp.cloudrunv2.Service resource which offers a better developer experience and broader support of Cloud Run features.

Example Usage

Cloud Run Service Pubsub

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.cloudrun.Service("default", {
    name: "cloud_run_service_name",
    location: "us-central1",
    template: {
        spec: {
            containers: [{
                image: "gcr.io/cloudrun/hello",
            }],
        },
    },
    traffics: [{
        percent: 100,
        latestRevision: true,
    }],
});
const sa = new gcp.serviceaccount.Account("sa", {
    accountId: "cloud-run-pubsub-invoker",
    displayName: "Cloud Run Pub/Sub Invoker",
});
const binding = new gcp.cloudrun.IamBinding("binding", {
    location: _default.location,
    service: _default.name,
    role: "roles/run.invoker",
    members: [pulumi.interpolate`serviceAccount:${sa.email}`],
});
const project = new gcp.projects.IAMBinding("project", {
    role: "roles/iam.serviceAccountTokenCreator",
    members: [pulumi.interpolate`serviceAccount:${sa.email}`],
});
const topic = new gcp.pubsub.Topic("topic", {name: "pubsub_topic"});
const subscription = new gcp.pubsub.Subscription("subscription", {
    name: "pubsub_subscription",
    topic: topic.name,
    pushConfig: {
        pushEndpoint: _default.statuses.apply(statuses => statuses[0].url),
        oidcToken: {
            serviceAccountEmail: sa.email,
        },
        attributes: {
            "x-goog-version": "v1",
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.cloudrun.Service("default",
    name="cloud_run_service_name",
    location="us-central1",
    template={
        "spec": {
            "containers": [{
                "image": "gcr.io/cloudrun/hello",
            }],
        },
    },
    traffics=[{
        "percent": 100,
        "latest_revision": True,
    }])
sa = gcp.serviceaccount.Account("sa",
    account_id="cloud-run-pubsub-invoker",
    display_name="Cloud Run Pub/Sub Invoker")
binding = gcp.cloudrun.IamBinding("binding",
    location=default.location,
    service=default.name,
    role="roles/run.invoker",
    members=[sa.email.apply(lambda email: f"serviceAccount:{email}")])
project = gcp.projects.IAMBinding("project",
    role="roles/iam.serviceAccountTokenCreator",
    members=[sa.email.apply(lambda email: f"serviceAccount:{email}")])
topic = gcp.pubsub.Topic("topic", name="pubsub_topic")
subscription = gcp.pubsub.Subscription("subscription",
    name="pubsub_subscription",
    topic=topic.name,
    push_config={
        "push_endpoint": default.statuses[0].url,
        "oidc_token": {
            "service_account_email": sa.email,
        },
        "attributes": {
            "x-goog-version": "v1",
        },
    })
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/projects"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/pubsub"
	"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 {
		_default, err := cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloud_run_service_name"),
			Location: pulumi.String("us-central1"),
			Template: &cloudrun.ServiceTemplateArgs{
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Image: pulumi.String("gcr.io/cloudrun/hello"),
						},
					},
				},
			},
			Traffics: cloudrun.ServiceTrafficArray{
				&cloudrun.ServiceTrafficArgs{
					Percent:        pulumi.Int(100),
					LatestRevision: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		sa, err := serviceaccount.NewAccount(ctx, "sa", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("cloud-run-pubsub-invoker"),
			DisplayName: pulumi.String("Cloud Run Pub/Sub Invoker"),
		})
		if err != nil {
			return err
		}
		_, err = cloudrun.NewIamBinding(ctx, "binding", &cloudrun.IamBindingArgs{
			Location: _default.Location,
			Service:  _default.Name,
			Role:     pulumi.String("roles/run.invoker"),
			Members: pulumi.StringArray{
				sa.Email.ApplyT(func(email string) (string, error) {
					return fmt.Sprintf("serviceAccount:%v", email), nil
				}).(pulumi.StringOutput),
			},
		})
		if err != nil {
			return err
		}
		_, err = projects.NewIAMBinding(ctx, "project", &projects.IAMBindingArgs{
			Role: pulumi.String("roles/iam.serviceAccountTokenCreator"),
			Members: pulumi.StringArray{
				sa.Email.ApplyT(func(email string) (string, error) {
					return fmt.Sprintf("serviceAccount:%v", email), nil
				}).(pulumi.StringOutput),
			},
		})
		if err != nil {
			return err
		}
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("pubsub_topic"),
		})
		if err != nil {
			return err
		}
		_, err = pubsub.NewSubscription(ctx, "subscription", &pubsub.SubscriptionArgs{
			Name:  pulumi.String("pubsub_subscription"),
			Topic: topic.Name,
			PushConfig: &pubsub.SubscriptionPushConfigArgs{
				PushEndpoint: _default.Statuses.ApplyT(func(statuses []cloudrun.ServiceStatus) (*string, error) {
					return &statuses[0].Url, nil
				}).(pulumi.StringPtrOutput),
				OidcToken: &pubsub.SubscriptionPushConfigOidcTokenArgs{
					ServiceAccountEmail: sa.Email,
				},
				Attributes: pulumi.StringMap{
					"x-goog-version": pulumi.String("v1"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloud_run_service_name",
        Location = "us-central1",
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Image = "gcr.io/cloudrun/hello",
                    },
                },
            },
        },
        Traffics = new[]
        {
            new Gcp.CloudRun.Inputs.ServiceTrafficArgs
            {
                Percent = 100,
                LatestRevision = true,
            },
        },
    });

    var sa = new Gcp.ServiceAccount.Account("sa", new()
    {
        AccountId = "cloud-run-pubsub-invoker",
        DisplayName = "Cloud Run Pub/Sub Invoker",
    });

    var binding = new Gcp.CloudRun.IamBinding("binding", new()
    {
        Location = @default.Location,
        Service = @default.Name,
        Role = "roles/run.invoker",
        Members = new[]
        {
            sa.Email.Apply(email => $"serviceAccount:{email}"),
        },
    });

    var project = new Gcp.Projects.IAMBinding("project", new()
    {
        Role = "roles/iam.serviceAccountTokenCreator",
        Members = new[]
        {
            sa.Email.Apply(email => $"serviceAccount:{email}"),
        },
    });

    var topic = new Gcp.PubSub.Topic("topic", new()
    {
        Name = "pubsub_topic",
    });

    var subscription = new Gcp.PubSub.Subscription("subscription", new()
    {
        Name = "pubsub_subscription",
        Topic = topic.Name,
        PushConfig = new Gcp.PubSub.Inputs.SubscriptionPushConfigArgs
        {
            PushEndpoint = @default.Statuses.Apply(statuses => statuses[0].Url),
            OidcToken = new Gcp.PubSub.Inputs.SubscriptionPushConfigOidcTokenArgs
            {
                ServiceAccountEmail = sa.Email,
            },
            Attributes = 
            {
                { "x-goog-version", "v1" },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTrafficArgs;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.cloudrun.IamBinding;
import com.pulumi.gcp.cloudrun.IamBindingArgs;
import com.pulumi.gcp.projects.IAMBinding;
import com.pulumi.gcp.projects.IAMBindingArgs;
import com.pulumi.gcp.pubsub.Topic;
import com.pulumi.gcp.pubsub.TopicArgs;
import com.pulumi.gcp.pubsub.Subscription;
import com.pulumi.gcp.pubsub.SubscriptionArgs;
import com.pulumi.gcp.pubsub.inputs.SubscriptionPushConfigArgs;
import com.pulumi.gcp.pubsub.inputs.SubscriptionPushConfigOidcTokenArgs;
import java.util.List;
import java.util.ArrayList;
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 Service("default", ServiceArgs.builder()
            .name("cloud_run_service_name")
            .location("us-central1")
            .template(ServiceTemplateArgs.builder()
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(ServiceTemplateSpecContainerArgs.builder()
                        .image("gcr.io/cloudrun/hello")
                        .build())
                    .build())
                .build())
            .traffics(ServiceTrafficArgs.builder()
                .percent(100)
                .latestRevision(true)
                .build())
            .build());

        var sa = new Account("sa", AccountArgs.builder()
            .accountId("cloud-run-pubsub-invoker")
            .displayName("Cloud Run Pub/Sub Invoker")
            .build());

        var binding = new IamBinding("binding", IamBindingArgs.builder()
            .location(default_.location())
            .service(default_.name())
            .role("roles/run.invoker")
            .members(sa.email().applyValue(_email -> String.format("serviceAccount:%s", _email)))
            .build());

        var project = new IAMBinding("project", IAMBindingArgs.builder()
            .role("roles/iam.serviceAccountTokenCreator")
            .members(sa.email().applyValue(_email -> String.format("serviceAccount:%s", _email)))
            .build());

        var topic = new Topic("topic", TopicArgs.builder()
            .name("pubsub_topic")
            .build());

        var subscription = new Subscription("subscription", SubscriptionArgs.builder()
            .name("pubsub_subscription")
            .topic(topic.name())
            .pushConfig(SubscriptionPushConfigArgs.builder()
                .pushEndpoint(default_.statuses().applyValue(_statuses -> _statuses[0].url()))
                .oidcToken(SubscriptionPushConfigOidcTokenArgs.builder()
                    .serviceAccountEmail(sa.email())
                    .build())
                .attributes(Map.of("x-goog-version", "v1"))
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloud_run_service_name
      location: us-central1
      template:
        spec:
          containers:
            - image: gcr.io/cloudrun/hello
      traffics:
        - percent: 100
          latestRevision: true
  sa:
    type: gcp:serviceaccount:Account
    properties:
      accountId: cloud-run-pubsub-invoker
      displayName: Cloud Run Pub/Sub Invoker
  binding:
    type: gcp:cloudrun:IamBinding
    properties:
      location: ${default.location}
      service: ${default.name}
      role: roles/run.invoker
      members:
        - serviceAccount:${sa.email}
  project:
    type: gcp:projects:IAMBinding
    properties:
      role: roles/iam.serviceAccountTokenCreator
      members:
        - serviceAccount:${sa.email}
  topic:
    type: gcp:pubsub:Topic
    properties:
      name: pubsub_topic
  subscription:
    type: gcp:pubsub:Subscription
    properties:
      name: pubsub_subscription
      topic: ${topic.name}
      pushConfig:
        pushEndpoint: ${default.statuses[0].url}
        oidcToken:
          serviceAccountEmail: ${sa.email}
        attributes:
          x-goog-version: v1
Copy

Cloud Run Service Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.cloudrun.Service("default", {
    name: "cloudrun-srv",
    location: "us-central1",
    template: {
        spec: {
            containers: [{
                image: "us-docker.pkg.dev/cloudrun/container/hello",
            }],
        },
    },
    traffics: [{
        percent: 100,
        latestRevision: true,
    }],
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.cloudrun.Service("default",
    name="cloudrun-srv",
    location="us-central1",
    template={
        "spec": {
            "containers": [{
                "image": "us-docker.pkg.dev/cloudrun/container/hello",
            }],
        },
    },
    traffics=[{
        "percent": 100,
        "latest_revision": True,
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloudrun-srv"),
			Location: pulumi.String("us-central1"),
			Template: &cloudrun.ServiceTemplateArgs{
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
						},
					},
				},
			},
			Traffics: cloudrun.ServiceTrafficArray{
				&cloudrun.ServiceTrafficArgs{
					Percent:        pulumi.Int(100),
					LatestRevision: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloudrun-srv",
        Location = "us-central1",
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Image = "us-docker.pkg.dev/cloudrun/container/hello",
                    },
                },
            },
        },
        Traffics = new[]
        {
            new Gcp.CloudRun.Inputs.ServiceTrafficArgs
            {
                Percent = 100,
                LatestRevision = true,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTrafficArgs;
import java.util.List;
import java.util.ArrayList;
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 Service("default", ServiceArgs.builder()
            .name("cloudrun-srv")
            .location("us-central1")
            .template(ServiceTemplateArgs.builder()
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(ServiceTemplateSpecContainerArgs.builder()
                        .image("us-docker.pkg.dev/cloudrun/container/hello")
                        .build())
                    .build())
                .build())
            .traffics(ServiceTrafficArgs.builder()
                .percent(100)
                .latestRevision(true)
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloudrun-srv
      location: us-central1
      template:
        spec:
          containers:
            - image: us-docker.pkg.dev/cloudrun/container/hello
      traffics:
        - percent: 100
          latestRevision: true
Copy

Cloud Run Service Gpu

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.cloudrun.Service("default", {
    name: "cloudrun-srv",
    location: "us-central1",
    metadata: {
        annotations: {
            "run.googleapis.com/launch-stage": "BETA",
        },
    },
    template: {
        metadata: {
            annotations: {
                "autoscaling.knative.dev/maxScale": "1",
                "run.googleapis.com/cpu-throttling": "false",
            },
        },
        spec: {
            containers: [{
                image: "gcr.io/cloudrun/hello",
                resources: {
                    limits: {
                        cpu: "4",
                        memory: "16Gi",
                        "nvidia.com/gpu": "1",
                    },
                },
            }],
            nodeSelector: {
                "run.googleapis.com/accelerator": "nvidia-l4",
            },
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.cloudrun.Service("default",
    name="cloudrun-srv",
    location="us-central1",
    metadata={
        "annotations": {
            "run.googleapis.com/launch-stage": "BETA",
        },
    },
    template={
        "metadata": {
            "annotations": {
                "autoscaling.knative.dev/maxScale": "1",
                "run.googleapis.com/cpu-throttling": "false",
            },
        },
        "spec": {
            "containers": [{
                "image": "gcr.io/cloudrun/hello",
                "resources": {
                    "limits": {
                        "cpu": "4",
                        "memory": "16Gi",
                        "nvidia.com/gpu": "1",
                    },
                },
            }],
            "node_selector": {
                "run.googleapis.com/accelerator": "nvidia-l4",
            },
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloudrun-srv"),
			Location: pulumi.String("us-central1"),
			Metadata: &cloudrun.ServiceMetadataArgs{
				Annotations: pulumi.StringMap{
					"run.googleapis.com/launch-stage": pulumi.String("BETA"),
				},
			},
			Template: &cloudrun.ServiceTemplateArgs{
				Metadata: &cloudrun.ServiceTemplateMetadataArgs{
					Annotations: pulumi.StringMap{
						"autoscaling.knative.dev/maxScale":  pulumi.String("1"),
						"run.googleapis.com/cpu-throttling": pulumi.String("false"),
					},
				},
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Image: pulumi.String("gcr.io/cloudrun/hello"),
							Resources: &cloudrun.ServiceTemplateSpecContainerResourcesArgs{
								Limits: pulumi.StringMap{
									"cpu":            pulumi.String("4"),
									"memory":         pulumi.String("16Gi"),
									"nvidia.com/gpu": pulumi.String("1"),
								},
							},
						},
					},
					NodeSelector: pulumi.StringMap{
						"run.googleapis.com/accelerator": pulumi.String("nvidia-l4"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloudrun-srv",
        Location = "us-central1",
        Metadata = new Gcp.CloudRun.Inputs.ServiceMetadataArgs
        {
            Annotations = 
            {
                { "run.googleapis.com/launch-stage", "BETA" },
            },
        },
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Metadata = new Gcp.CloudRun.Inputs.ServiceTemplateMetadataArgs
            {
                Annotations = 
                {
                    { "autoscaling.knative.dev/maxScale", "1" },
                    { "run.googleapis.com/cpu-throttling", "false" },
                },
            },
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Image = "gcr.io/cloudrun/hello",
                        Resources = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerResourcesArgs
                        {
                            Limits = 
                            {
                                { "cpu", "4" },
                                { "memory", "16Gi" },
                                { "nvidia.com/gpu", "1" },
                            },
                        },
                    },
                },
                NodeSelector = 
                {
                    { "run.googleapis.com/accelerator", "nvidia-l4" },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceMetadataArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateMetadataArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import java.util.List;
import java.util.ArrayList;
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 Service("default", ServiceArgs.builder()
            .name("cloudrun-srv")
            .location("us-central1")
            .metadata(ServiceMetadataArgs.builder()
                .annotations(Map.of("run.googleapis.com/launch-stage", "BETA"))
                .build())
            .template(ServiceTemplateArgs.builder()
                .metadata(ServiceTemplateMetadataArgs.builder()
                    .annotations(Map.ofEntries(
                        Map.entry("autoscaling.knative.dev/maxScale", "1"),
                        Map.entry("run.googleapis.com/cpu-throttling", "false")
                    ))
                    .build())
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(ServiceTemplateSpecContainerArgs.builder()
                        .image("gcr.io/cloudrun/hello")
                        .resources(ServiceTemplateSpecContainerResourcesArgs.builder()
                            .limits(Map.ofEntries(
                                Map.entry("cpu", "4"),
                                Map.entry("memory", "16Gi"),
                                Map.entry("nvidia.com/gpu", "1")
                            ))
                            .build())
                        .build())
                    .nodeSelector(Map.of("run.googleapis.com/accelerator", "nvidia-l4"))
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloudrun-srv
      location: us-central1
      metadata:
        annotations:
          run.googleapis.com/launch-stage: BETA
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: '1'
            run.googleapis.com/cpu-throttling: 'false'
        spec:
          containers:
            - image: gcr.io/cloudrun/hello
              resources:
                limits:
                  cpu: '4'
                  memory: 16Gi
                  nvidia.com/gpu: '1'
          nodeSelector:
            run.googleapis.com/accelerator: nvidia-l4
Copy

Cloud Run Service Sql

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const instance = new gcp.sql.DatabaseInstance("instance", {
    name: "cloudrun-sql",
    region: "us-east1",
    databaseVersion: "MYSQL_5_7",
    settings: {
        tier: "db-f1-micro",
    },
    deletionProtection: true,
});
const _default = new gcp.cloudrun.Service("default", {
    name: "cloudrun-srv",
    location: "us-central1",
    template: {
        spec: {
            containers: [{
                image: "us-docker.pkg.dev/cloudrun/container/hello",
            }],
        },
        metadata: {
            annotations: {
                "autoscaling.knative.dev/maxScale": "1000",
                "run.googleapis.com/cloudsql-instances": instance.connectionName,
                "run.googleapis.com/client-name": "demo",
            },
        },
    },
    autogenerateRevisionName: true,
});
Copy
import pulumi
import pulumi_gcp as gcp

instance = gcp.sql.DatabaseInstance("instance",
    name="cloudrun-sql",
    region="us-east1",
    database_version="MYSQL_5_7",
    settings={
        "tier": "db-f1-micro",
    },
    deletion_protection=True)
default = gcp.cloudrun.Service("default",
    name="cloudrun-srv",
    location="us-central1",
    template={
        "spec": {
            "containers": [{
                "image": "us-docker.pkg.dev/cloudrun/container/hello",
            }],
        },
        "metadata": {
            "annotations": {
                "autoscaling.knative.dev/maxScale": "1000",
                "run.googleapis.com/cloudsql-instances": instance.connection_name,
                "run.googleapis.com/client-name": "demo",
            },
        },
    },
    autogenerate_revision_name=True)
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/sql"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := sql.NewDatabaseInstance(ctx, "instance", &sql.DatabaseInstanceArgs{
			Name:            pulumi.String("cloudrun-sql"),
			Region:          pulumi.String("us-east1"),
			DatabaseVersion: pulumi.String("MYSQL_5_7"),
			Settings: &sql.DatabaseInstanceSettingsArgs{
				Tier: pulumi.String("db-f1-micro"),
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloudrun-srv"),
			Location: pulumi.String("us-central1"),
			Template: &cloudrun.ServiceTemplateArgs{
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
						},
					},
				},
				Metadata: &cloudrun.ServiceTemplateMetadataArgs{
					Annotations: pulumi.StringMap{
						"autoscaling.knative.dev/maxScale":      pulumi.String("1000"),
						"run.googleapis.com/cloudsql-instances": instance.ConnectionName,
						"run.googleapis.com/client-name":        pulumi.String("demo"),
					},
				},
			},
			AutogenerateRevisionName: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.Sql.DatabaseInstance("instance", new()
    {
        Name = "cloudrun-sql",
        Region = "us-east1",
        DatabaseVersion = "MYSQL_5_7",
        Settings = new Gcp.Sql.Inputs.DatabaseInstanceSettingsArgs
        {
            Tier = "db-f1-micro",
        },
        DeletionProtection = true,
    });

    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloudrun-srv",
        Location = "us-central1",
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Image = "us-docker.pkg.dev/cloudrun/container/hello",
                    },
                },
            },
            Metadata = new Gcp.CloudRun.Inputs.ServiceTemplateMetadataArgs
            {
                Annotations = 
                {
                    { "autoscaling.knative.dev/maxScale", "1000" },
                    { "run.googleapis.com/cloudsql-instances", instance.ConnectionName },
                    { "run.googleapis.com/client-name", "demo" },
                },
            },
        },
        AutogenerateRevisionName = true,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.sql.DatabaseInstance;
import com.pulumi.gcp.sql.DatabaseInstanceArgs;
import com.pulumi.gcp.sql.inputs.DatabaseInstanceSettingsArgs;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateMetadataArgs;
import java.util.List;
import java.util.ArrayList;
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 instance = new DatabaseInstance("instance", DatabaseInstanceArgs.builder()
            .name("cloudrun-sql")
            .region("us-east1")
            .databaseVersion("MYSQL_5_7")
            .settings(DatabaseInstanceSettingsArgs.builder()
                .tier("db-f1-micro")
                .build())
            .deletionProtection(true)
            .build());

        var default_ = new Service("default", ServiceArgs.builder()
            .name("cloudrun-srv")
            .location("us-central1")
            .template(ServiceTemplateArgs.builder()
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(ServiceTemplateSpecContainerArgs.builder()
                        .image("us-docker.pkg.dev/cloudrun/container/hello")
                        .build())
                    .build())
                .metadata(ServiceTemplateMetadataArgs.builder()
                    .annotations(Map.ofEntries(
                        Map.entry("autoscaling.knative.dev/maxScale", "1000"),
                        Map.entry("run.googleapis.com/cloudsql-instances", instance.connectionName()),
                        Map.entry("run.googleapis.com/client-name", "demo")
                    ))
                    .build())
                .build())
            .autogenerateRevisionName(true)
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloudrun-srv
      location: us-central1
      template:
        spec:
          containers:
            - image: us-docker.pkg.dev/cloudrun/container/hello
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: '1000'
            run.googleapis.com/cloudsql-instances: ${instance.connectionName}
            run.googleapis.com/client-name: demo
      autogenerateRevisionName: true
  instance:
    type: gcp:sql:DatabaseInstance
    properties:
      name: cloudrun-sql
      region: us-east1
      databaseVersion: MYSQL_5_7
      settings:
        tier: db-f1-micro
      deletionProtection: true
Copy

Cloud Run Service Noauth

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.cloudrun.Service("default", {
    name: "cloudrun-srv",
    location: "us-central1",
    template: {
        spec: {
            containers: [{
                image: "us-docker.pkg.dev/cloudrun/container/hello",
            }],
        },
    },
});
const noauth = gcp.organizations.getIAMPolicy({
    bindings: [{
        role: "roles/run.invoker",
        members: ["allUsers"],
    }],
});
const noauthIamPolicy = new gcp.cloudrun.IamPolicy("noauth", {
    location: _default.location,
    project: _default.project,
    service: _default.name,
    policyData: noauth.then(noauth => noauth.policyData),
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.cloudrun.Service("default",
    name="cloudrun-srv",
    location="us-central1",
    template={
        "spec": {
            "containers": [{
                "image": "us-docker.pkg.dev/cloudrun/container/hello",
            }],
        },
    })
noauth = gcp.organizations.get_iam_policy(bindings=[{
    "role": "roles/run.invoker",
    "members": ["allUsers"],
}])
noauth_iam_policy = gcp.cloudrun.IamPolicy("noauth",
    location=default.location,
    project=default.project,
    service=default.name,
    policy_data=noauth.policy_data)
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"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 {
		_default, err := cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloudrun-srv"),
			Location: pulumi.String("us-central1"),
			Template: &cloudrun.ServiceTemplateArgs{
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		noauth, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/run.invoker",
					Members: []string{
						"allUsers",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudrun.NewIamPolicy(ctx, "noauth", &cloudrun.IamPolicyArgs{
			Location:   _default.Location,
			Project:    _default.Project,
			Service:    _default.Name,
			PolicyData: pulumi.String(noauth.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloudrun-srv",
        Location = "us-central1",
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Image = "us-docker.pkg.dev/cloudrun/container/hello",
                    },
                },
            },
        },
    });

    var noauth = Gcp.Organizations.GetIAMPolicy.Invoke(new()
    {
        Bindings = new[]
        {
            new Gcp.Organizations.Inputs.GetIAMPolicyBindingInputArgs
            {
                Role = "roles/run.invoker",
                Members = new[]
                {
                    "allUsers",
                },
            },
        },
    });

    var noauthIamPolicy = new Gcp.CloudRun.IamPolicy("noauth", new()
    {
        Location = @default.Location,
        Project = @default.Project,
        Service = @default.Name,
        PolicyData = noauth.Apply(getIAMPolicyResult => getIAMPolicyResult.PolicyData),
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetIAMPolicyArgs;
import com.pulumi.gcp.cloudrun.IamPolicy;
import com.pulumi.gcp.cloudrun.IamPolicyArgs;
import java.util.List;
import java.util.ArrayList;
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 Service("default", ServiceArgs.builder()
            .name("cloudrun-srv")
            .location("us-central1")
            .template(ServiceTemplateArgs.builder()
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(ServiceTemplateSpecContainerArgs.builder()
                        .image("us-docker.pkg.dev/cloudrun/container/hello")
                        .build())
                    .build())
                .build())
            .build());

        final var noauth = OrganizationsFunctions.getIAMPolicy(GetIAMPolicyArgs.builder()
            .bindings(GetIAMPolicyBindingArgs.builder()
                .role("roles/run.invoker")
                .members("allUsers")
                .build())
            .build());

        var noauthIamPolicy = new IamPolicy("noauthIamPolicy", IamPolicyArgs.builder()
            .location(default_.location())
            .project(default_.project())
            .service(default_.name())
            .policyData(noauth.policyData())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloudrun-srv
      location: us-central1
      template:
        spec:
          containers:
            - image: us-docker.pkg.dev/cloudrun/container/hello
  noauthIamPolicy:
    type: gcp:cloudrun:IamPolicy
    name: noauth
    properties:
      location: ${default.location}
      project: ${default.project}
      service: ${default.name}
      policyData: ${noauth.policyData}
variables:
  noauth:
    fn::invoke:
      function: gcp:organizations:getIAMPolicy
      arguments:
        bindings:
          - role: roles/run.invoker
            members:
              - allUsers
Copy

Cloud Run Service Probes

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.cloudrun.Service("default", {
    name: "cloudrun-srv",
    location: "us-central1",
    template: {
        spec: {
            containers: [{
                image: "us-docker.pkg.dev/cloudrun/container/hello",
                startupProbe: {
                    initialDelaySeconds: 0,
                    timeoutSeconds: 1,
                    periodSeconds: 3,
                    failureThreshold: 1,
                    tcpSocket: {
                        port: 8080,
                    },
                },
                livenessProbe: {
                    httpGet: {
                        path: "/",
                    },
                },
            }],
        },
    },
    traffics: [{
        percent: 100,
        latestRevision: true,
    }],
});
Copy
import pulumi
import pulumi_gcp as gcp

default = gcp.cloudrun.Service("default",
    name="cloudrun-srv",
    location="us-central1",
    template={
        "spec": {
            "containers": [{
                "image": "us-docker.pkg.dev/cloudrun/container/hello",
                "startup_probe": {
                    "initial_delay_seconds": 0,
                    "timeout_seconds": 1,
                    "period_seconds": 3,
                    "failure_threshold": 1,
                    "tcp_socket": {
                        "port": 8080,
                    },
                },
                "liveness_probe": {
                    "http_get": {
                        "path": "/",
                    },
                },
            }],
        },
    },
    traffics=[{
        "percent": 100,
        "latest_revision": True,
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloudrun-srv"),
			Location: pulumi.String("us-central1"),
			Template: &cloudrun.ServiceTemplateArgs{
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
							StartupProbe: &cloudrun.ServiceTemplateSpecContainerStartupProbeArgs{
								InitialDelaySeconds: pulumi.Int(0),
								TimeoutSeconds:      pulumi.Int(1),
								PeriodSeconds:       pulumi.Int(3),
								FailureThreshold:    pulumi.Int(1),
								TcpSocket: &cloudrun.ServiceTemplateSpecContainerStartupProbeTcpSocketArgs{
									Port: pulumi.Int(8080),
								},
							},
							LivenessProbe: &cloudrun.ServiceTemplateSpecContainerLivenessProbeArgs{
								HttpGet: &cloudrun.ServiceTemplateSpecContainerLivenessProbeHttpGetArgs{
									Path: pulumi.String("/"),
								},
							},
						},
					},
				},
			},
			Traffics: cloudrun.ServiceTrafficArray{
				&cloudrun.ServiceTrafficArgs{
					Percent:        pulumi.Int(100),
					LatestRevision: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloudrun-srv",
        Location = "us-central1",
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Image = "us-docker.pkg.dev/cloudrun/container/hello",
                        StartupProbe = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeArgs
                        {
                            InitialDelaySeconds = 0,
                            TimeoutSeconds = 1,
                            PeriodSeconds = 3,
                            FailureThreshold = 1,
                            TcpSocket = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeTcpSocketArgs
                            {
                                Port = 8080,
                            },
                        },
                        LivenessProbe = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerLivenessProbeArgs
                        {
                            HttpGet = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerLivenessProbeHttpGetArgs
                            {
                                Path = "/",
                            },
                        },
                    },
                },
            },
        },
        Traffics = new[]
        {
            new Gcp.CloudRun.Inputs.ServiceTrafficArgs
            {
                Percent = 100,
                LatestRevision = true,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTrafficArgs;
import java.util.List;
import java.util.ArrayList;
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 Service("default", ServiceArgs.builder()
            .name("cloudrun-srv")
            .location("us-central1")
            .template(ServiceTemplateArgs.builder()
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(ServiceTemplateSpecContainerArgs.builder()
                        .image("us-docker.pkg.dev/cloudrun/container/hello")
                        .startupProbe(ServiceTemplateSpecContainerStartupProbeArgs.builder()
                            .initialDelaySeconds(0)
                            .timeoutSeconds(1)
                            .periodSeconds(3)
                            .failureThreshold(1)
                            .tcpSocket(ServiceTemplateSpecContainerStartupProbeTcpSocketArgs.builder()
                                .port(8080)
                                .build())
                            .build())
                        .livenessProbe(ServiceTemplateSpecContainerLivenessProbeArgs.builder()
                            .httpGet(ServiceTemplateSpecContainerLivenessProbeHttpGetArgs.builder()
                                .path("/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build())
            .traffics(ServiceTrafficArgs.builder()
                .percent(100)
                .latestRevision(true)
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloudrun-srv
      location: us-central1
      template:
        spec:
          containers:
            - image: us-docker.pkg.dev/cloudrun/container/hello
              startupProbe:
                initialDelaySeconds: 0
                timeoutSeconds: 1
                periodSeconds: 3
                failureThreshold: 1
                tcpSocket:
                  port: 8080
              livenessProbe:
                httpGet:
                  path: /
      traffics:
        - percent: 100
          latestRevision: true
Copy

Cloud Run Service Multicontainer

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.cloudrun.Service("default", {
    name: "cloudrun-srv",
    location: "us-central1",
    template: {
        metadata: {
            annotations: {
                "run.googleapis.com/container-dependencies": JSON.stringify({
                    "hello-1": ["hello-2"],
                }),
            },
        },
        spec: {
            containers: [
                {
                    name: "hello-1",
                    ports: [{
                        containerPort: 8080,
                    }],
                    image: "us-docker.pkg.dev/cloudrun/container/hello",
                    volumeMounts: [{
                        name: "shared-volume",
                        mountPath: "/mnt/shared",
                    }],
                },
                {
                    name: "hello-2",
                    image: "us-docker.pkg.dev/cloudrun/container/hello",
                    envs: [{
                        name: "PORT",
                        value: "8081",
                    }],
                    startupProbe: {
                        httpGet: {
                            port: 8081,
                        },
                    },
                    volumeMounts: [{
                        name: "shared-volume",
                        mountPath: "/mnt/shared",
                    }],
                },
            ],
            volumes: [{
                name: "shared-volume",
                emptyDir: {
                    medium: "Memory",
                    sizeLimit: "128Mi",
                },
            }],
        },
    },
});
Copy
import pulumi
import json
import pulumi_gcp as gcp

default = gcp.cloudrun.Service("default",
    name="cloudrun-srv",
    location="us-central1",
    template={
        "metadata": {
            "annotations": {
                "run.googleapis.com/container-dependencies": json.dumps({
                    "hello-1": ["hello-2"],
                }),
            },
        },
        "spec": {
            "containers": [
                {
                    "name": "hello-1",
                    "ports": [{
                        "container_port": 8080,
                    }],
                    "image": "us-docker.pkg.dev/cloudrun/container/hello",
                    "volume_mounts": [{
                        "name": "shared-volume",
                        "mount_path": "/mnt/shared",
                    }],
                },
                {
                    "name": "hello-2",
                    "image": "us-docker.pkg.dev/cloudrun/container/hello",
                    "envs": [{
                        "name": "PORT",
                        "value": "8081",
                    }],
                    "startup_probe": {
                        "http_get": {
                            "port": 8081,
                        },
                    },
                    "volume_mounts": [{
                        "name": "shared-volume",
                        "mount_path": "/mnt/shared",
                    }],
                },
            ],
            "volumes": [{
                "name": "shared-volume",
                "empty_dir": {
                    "medium": "Memory",
                    "size_limit": "128Mi",
                },
            }],
        },
    })
Copy
package main

import (
	"encoding/json"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/cloudrun"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"hello-1": []string{
				"hello-2",
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = cloudrun.NewService(ctx, "default", &cloudrun.ServiceArgs{
			Name:     pulumi.String("cloudrun-srv"),
			Location: pulumi.String("us-central1"),
			Template: &cloudrun.ServiceTemplateArgs{
				Metadata: &cloudrun.ServiceTemplateMetadataArgs{
					Annotations: pulumi.StringMap{
						"run.googleapis.com/container-dependencies": pulumi.String(json0),
					},
				},
				Spec: &cloudrun.ServiceTemplateSpecArgs{
					Containers: cloudrun.ServiceTemplateSpecContainerArray{
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Name: pulumi.String("hello-1"),
							Ports: cloudrun.ServiceTemplateSpecContainerPortArray{
								&cloudrun.ServiceTemplateSpecContainerPortArgs{
									ContainerPort: pulumi.Int(8080),
								},
							},
							Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
							VolumeMounts: cloudrun.ServiceTemplateSpecContainerVolumeMountArray{
								&cloudrun.ServiceTemplateSpecContainerVolumeMountArgs{
									Name:      pulumi.String("shared-volume"),
									MountPath: pulumi.String("/mnt/shared"),
								},
							},
						},
						&cloudrun.ServiceTemplateSpecContainerArgs{
							Name:  pulumi.String("hello-2"),
							Image: pulumi.String("us-docker.pkg.dev/cloudrun/container/hello"),
							Envs: cloudrun.ServiceTemplateSpecContainerEnvArray{
								&cloudrun.ServiceTemplateSpecContainerEnvArgs{
									Name:  pulumi.String("PORT"),
									Value: pulumi.String("8081"),
								},
							},
							StartupProbe: &cloudrun.ServiceTemplateSpecContainerStartupProbeArgs{
								HttpGet: &cloudrun.ServiceTemplateSpecContainerStartupProbeHttpGetArgs{
									Port: pulumi.Int(8081),
								},
							},
							VolumeMounts: cloudrun.ServiceTemplateSpecContainerVolumeMountArray{
								&cloudrun.ServiceTemplateSpecContainerVolumeMountArgs{
									Name:      pulumi.String("shared-volume"),
									MountPath: pulumi.String("/mnt/shared"),
								},
							},
						},
					},
					Volumes: cloudrun.ServiceTemplateSpecVolumeArray{
						&cloudrun.ServiceTemplateSpecVolumeArgs{
							Name: pulumi.String("shared-volume"),
							EmptyDir: &cloudrun.ServiceTemplateSpecVolumeEmptyDirArgs{
								Medium:    pulumi.String("Memory"),
								SizeLimit: pulumi.String("128Mi"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var @default = new Gcp.CloudRun.Service("default", new()
    {
        Name = "cloudrun-srv",
        Location = "us-central1",
        Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
        {
            Metadata = new Gcp.CloudRun.Inputs.ServiceTemplateMetadataArgs
            {
                Annotations = 
                {
                    { "run.googleapis.com/container-dependencies", JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["hello-1"] = new[]
                        {
                            "hello-2",
                        },
                    }) },
                },
            },
            Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
            {
                Containers = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Name = "hello-1",
                        Ports = new[]
                        {
                            new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerPortArgs
                            {
                                ContainerPort = 8080,
                            },
                        },
                        Image = "us-docker.pkg.dev/cloudrun/container/hello",
                        VolumeMounts = new[]
                        {
                            new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerVolumeMountArgs
                            {
                                Name = "shared-volume",
                                MountPath = "/mnt/shared",
                            },
                        },
                    },
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                    {
                        Name = "hello-2",
                        Image = "us-docker.pkg.dev/cloudrun/container/hello",
                        Envs = new[]
                        {
                            new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerEnvArgs
                            {
                                Name = "PORT",
                                Value = "8081",
                            },
                        },
                        StartupProbe = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeArgs
                        {
                            HttpGet = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeHttpGetArgs
                            {
                                Port = 8081,
                            },
                        },
                        VolumeMounts = new[]
                        {
                            new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerVolumeMountArgs
                            {
                                Name = "shared-volume",
                                MountPath = "/mnt/shared",
                            },
                        },
                    },
                },
                Volumes = new[]
                {
                    new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeArgs
                    {
                        Name = "shared-volume",
                        EmptyDir = new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeEmptyDirArgs
                        {
                            Medium = "Memory",
                            SizeLimit = "128Mi",
                        },
                    },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudrun.Service;
import com.pulumi.gcp.cloudrun.ServiceArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateMetadataArgs;
import com.pulumi.gcp.cloudrun.inputs.ServiceTemplateSpecArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
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 Service("default", ServiceArgs.builder()
            .name("cloudrun-srv")
            .location("us-central1")
            .template(ServiceTemplateArgs.builder()
                .metadata(ServiceTemplateMetadataArgs.builder()
                    .annotations(Map.of("run.googleapis.com/container-dependencies", serializeJson(
                        jsonObject(
                            jsonProperty("hello-1", jsonArray("hello-2"))
                        ))))
                    .build())
                .spec(ServiceTemplateSpecArgs.builder()
                    .containers(                    
                        ServiceTemplateSpecContainerArgs.builder()
                            .name("hello-1")
                            .ports(ServiceTemplateSpecContainerPortArgs.builder()
                                .containerPort(8080)
                                .build())
                            .image("us-docker.pkg.dev/cloudrun/container/hello")
                            .volumeMounts(ServiceTemplateSpecContainerVolumeMountArgs.builder()
                                .name("shared-volume")
                                .mountPath("/mnt/shared")
                                .build())
                            .build(),
                        ServiceTemplateSpecContainerArgs.builder()
                            .name("hello-2")
                            .image("us-docker.pkg.dev/cloudrun/container/hello")
                            .envs(ServiceTemplateSpecContainerEnvArgs.builder()
                                .name("PORT")
                                .value("8081")
                                .build())
                            .startupProbe(ServiceTemplateSpecContainerStartupProbeArgs.builder()
                                .httpGet(ServiceTemplateSpecContainerStartupProbeHttpGetArgs.builder()
                                    .port(8081)
                                    .build())
                                .build())
                            .volumeMounts(ServiceTemplateSpecContainerVolumeMountArgs.builder()
                                .name("shared-volume")
                                .mountPath("/mnt/shared")
                                .build())
                            .build())
                    .volumes(ServiceTemplateSpecVolumeArgs.builder()
                        .name("shared-volume")
                        .emptyDir(ServiceTemplateSpecVolumeEmptyDirArgs.builder()
                            .medium("Memory")
                            .sizeLimit("128Mi")
                            .build())
                        .build())
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  default:
    type: gcp:cloudrun:Service
    properties:
      name: cloudrun-srv
      location: us-central1
      template:
        metadata:
          annotations:
            run.googleapis.com/container-dependencies:
              fn::toJSON:
                hello-1:
                  - hello-2
        spec:
          containers:
            - name: hello-1
              ports:
                - containerPort: 8080
              image: us-docker.pkg.dev/cloudrun/container/hello
              volumeMounts:
                - name: shared-volume
                  mountPath: /mnt/shared
            - name: hello-2
              image: us-docker.pkg.dev/cloudrun/container/hello
              envs:
                - name: PORT
                  value: '8081'
              startupProbe:
                httpGet:
                  port: 8081
              volumeMounts:
                - name: shared-volume
                  mountPath: /mnt/shared
          volumes:
            - name: shared-volume
              emptyDir:
                medium: Memory
                sizeLimit: 128Mi
Copy

Create Service Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Service(name: string, args: ServiceArgs, opts?: CustomResourceOptions);
@overload
def Service(resource_name: str,
            args: ServiceArgs,
            opts: Optional[ResourceOptions] = None)

@overload
def Service(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            location: Optional[str] = None,
            autogenerate_revision_name: Optional[bool] = None,
            metadata: Optional[ServiceMetadataArgs] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            template: Optional[ServiceTemplateArgs] = None,
            traffics: Optional[Sequence[ServiceTrafficArgs]] = None)
func NewService(ctx *Context, name string, args ServiceArgs, opts ...ResourceOption) (*Service, error)
public Service(string name, ServiceArgs args, CustomResourceOptions? opts = null)
public Service(String name, ServiceArgs args)
public Service(String name, ServiceArgs args, CustomResourceOptions options)
type: gcp:cloudrun:Service
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ServiceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ServiceArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ServiceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ServiceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ServiceArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var gcpServiceResource = new Gcp.CloudRun.Service("gcpServiceResource", new()
{
    Location = "string",
    AutogenerateRevisionName = false,
    Metadata = new Gcp.CloudRun.Inputs.ServiceMetadataArgs
    {
        Annotations = 
        {
            { "string", "string" },
        },
        EffectiveAnnotations = 
        {
            { "string", "string" },
        },
        EffectiveLabels = 
        {
            { "string", "string" },
        },
        Generation = 0,
        Labels = 
        {
            { "string", "string" },
        },
        Namespace = "string",
        PulumiLabels = 
        {
            { "string", "string" },
        },
        ResourceVersion = "string",
        SelfLink = "string",
        Uid = "string",
    },
    Name = "string",
    Project = "string",
    Template = new Gcp.CloudRun.Inputs.ServiceTemplateArgs
    {
        Metadata = new Gcp.CloudRun.Inputs.ServiceTemplateMetadataArgs
        {
            Annotations = 
            {
                { "string", "string" },
            },
            Generation = 0,
            Labels = 
            {
                { "string", "string" },
            },
            Name = "string",
            Namespace = "string",
            ResourceVersion = "string",
            SelfLink = "string",
            Uid = "string",
        },
        Spec = new Gcp.CloudRun.Inputs.ServiceTemplateSpecArgs
        {
            ContainerConcurrency = 0,
            Containers = new[]
            {
                new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerArgs
                {
                    Image = "string",
                    Args = new[]
                    {
                        "string",
                    },
                    Commands = new[]
                    {
                        "string",
                    },
                    Envs = new[]
                    {
                        new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerEnvArgs
                        {
                            Name = "string",
                            Value = "string",
                            ValueFrom = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerEnvValueFromArgs
                            {
                                SecretKeyRef = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerEnvValueFromSecretKeyRefArgs
                                {
                                    Key = "string",
                                    Name = "string",
                                },
                            },
                        },
                    },
                    LivenessProbe = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerLivenessProbeArgs
                    {
                        FailureThreshold = 0,
                        Grpc = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerLivenessProbeGrpcArgs
                        {
                            Port = 0,
                            Service = "string",
                        },
                        HttpGet = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerLivenessProbeHttpGetArgs
                        {
                            HttpHeaders = new[]
                            {
                                new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Port = 0,
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    Name = "string",
                    Ports = new[]
                    {
                        new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerPortArgs
                        {
                            ContainerPort = 0,
                            Name = "string",
                            Protocol = "string",
                        },
                    },
                    Resources = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerResourcesArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                    StartupProbe = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeArgs
                    {
                        FailureThreshold = 0,
                        Grpc = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeGrpcArgs
                        {
                            Port = 0,
                            Service = "string",
                        },
                        HttpGet = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeHttpGetArgs
                        {
                            HttpHeaders = new[]
                            {
                                new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Port = 0,
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        TcpSocket = new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerStartupProbeTcpSocketArgs
                        {
                            Port = 0,
                        },
                        TimeoutSeconds = 0,
                    },
                    VolumeMounts = new[]
                    {
                        new Gcp.CloudRun.Inputs.ServiceTemplateSpecContainerVolumeMountArgs
                        {
                            MountPath = "string",
                            Name = "string",
                        },
                    },
                },
            },
            NodeSelector = 
            {
                { "string", "string" },
            },
            ServiceAccountName = "string",
            TimeoutSeconds = 0,
            Volumes = new[]
            {
                new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeArgs
                {
                    Name = "string",
                    Csi = new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeCsiArgs
                    {
                        Driver = "string",
                        ReadOnly = false,
                        VolumeAttributes = 
                        {
                            { "string", "string" },
                        },
                    },
                    EmptyDir = new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeEmptyDirArgs
                    {
                        Medium = "string",
                        SizeLimit = "string",
                    },
                    Nfs = new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeNfsArgs
                    {
                        Path = "string",
                        Server = "string",
                        ReadOnly = false,
                    },
                    Secret = new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeSecretArgs
                    {
                        SecretName = "string",
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Gcp.CloudRun.Inputs.ServiceTemplateSpecVolumeSecretItemArgs
                            {
                                Key = "string",
                                Path = "string",
                                Mode = 0,
                            },
                        },
                    },
                },
            },
        },
    },
    Traffics = new[]
    {
        new Gcp.CloudRun.Inputs.ServiceTrafficArgs
        {
            Percent = 0,
            LatestRevision = false,
            RevisionName = "string",
            Tag = "string",
            Url = "string",
        },
    },
});
Copy
example, err := cloudrun.NewService(ctx, "gcpServiceResource", &cloudrun.ServiceArgs{
	Location:                 pulumi.String("string"),
	AutogenerateRevisionName: pulumi.Bool(false),
	Metadata: &cloudrun.ServiceMetadataArgs{
		Annotations: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		EffectiveAnnotations: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		EffectiveLabels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Generation: pulumi.Int(0),
		Labels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Namespace: pulumi.String("string"),
		PulumiLabels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		ResourceVersion: pulumi.String("string"),
		SelfLink:        pulumi.String("string"),
		Uid:             pulumi.String("string"),
	},
	Name:    pulumi.String("string"),
	Project: pulumi.String("string"),
	Template: &cloudrun.ServiceTemplateArgs{
		Metadata: &cloudrun.ServiceTemplateMetadataArgs{
			Annotations: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Generation: pulumi.Int(0),
			Labels: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Name:            pulumi.String("string"),
			Namespace:       pulumi.String("string"),
			ResourceVersion: pulumi.String("string"),
			SelfLink:        pulumi.String("string"),
			Uid:             pulumi.String("string"),
		},
		Spec: &cloudrun.ServiceTemplateSpecArgs{
			ContainerConcurrency: pulumi.Int(0),
			Containers: cloudrun.ServiceTemplateSpecContainerArray{
				&cloudrun.ServiceTemplateSpecContainerArgs{
					Image: pulumi.String("string"),
					Args: pulumi.StringArray{
						pulumi.String("string"),
					},
					Commands: pulumi.StringArray{
						pulumi.String("string"),
					},
					Envs: cloudrun.ServiceTemplateSpecContainerEnvArray{
						&cloudrun.ServiceTemplateSpecContainerEnvArgs{
							Name:  pulumi.String("string"),
							Value: pulumi.String("string"),
							ValueFrom: &cloudrun.ServiceTemplateSpecContainerEnvValueFromArgs{
								SecretKeyRef: &cloudrun.ServiceTemplateSpecContainerEnvValueFromSecretKeyRefArgs{
									Key:  pulumi.String("string"),
									Name: pulumi.String("string"),
								},
							},
						},
					},
					LivenessProbe: &cloudrun.ServiceTemplateSpecContainerLivenessProbeArgs{
						FailureThreshold: pulumi.Int(0),
						Grpc: &cloudrun.ServiceTemplateSpecContainerLivenessProbeGrpcArgs{
							Port:    pulumi.Int(0),
							Service: pulumi.String("string"),
						},
						HttpGet: &cloudrun.ServiceTemplateSpecContainerLivenessProbeHttpGetArgs{
							HttpHeaders: cloudrun.ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeaderArray{
								&cloudrun.ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeaderArgs{
									Name:  pulumi.String("string"),
									Value: pulumi.String("string"),
								},
							},
							Path: pulumi.String("string"),
							Port: pulumi.Int(0),
						},
						InitialDelaySeconds: pulumi.Int(0),
						PeriodSeconds:       pulumi.Int(0),
						TimeoutSeconds:      pulumi.Int(0),
					},
					Name: pulumi.String("string"),
					Ports: cloudrun.ServiceTemplateSpecContainerPortArray{
						&cloudrun.ServiceTemplateSpecContainerPortArgs{
							ContainerPort: pulumi.Int(0),
							Name:          pulumi.String("string"),
							Protocol:      pulumi.String("string"),
						},
					},
					Resources: &cloudrun.ServiceTemplateSpecContainerResourcesArgs{
						Limits: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
						Requests: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
					},
					StartupProbe: &cloudrun.ServiceTemplateSpecContainerStartupProbeArgs{
						FailureThreshold: pulumi.Int(0),
						Grpc: &cloudrun.ServiceTemplateSpecContainerStartupProbeGrpcArgs{
							Port:    pulumi.Int(0),
							Service: pulumi.String("string"),
						},
						HttpGet: &cloudrun.ServiceTemplateSpecContainerStartupProbeHttpGetArgs{
							HttpHeaders: cloudrun.ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeaderArray{
								&cloudrun.ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeaderArgs{
									Name:  pulumi.String("string"),
									Value: pulumi.String("string"),
								},
							},
							Path: pulumi.String("string"),
							Port: pulumi.Int(0),
						},
						InitialDelaySeconds: pulumi.Int(0),
						PeriodSeconds:       pulumi.Int(0),
						TcpSocket: &cloudrun.ServiceTemplateSpecContainerStartupProbeTcpSocketArgs{
							Port: pulumi.Int(0),
						},
						TimeoutSeconds: pulumi.Int(0),
					},
					VolumeMounts: cloudrun.ServiceTemplateSpecContainerVolumeMountArray{
						&cloudrun.ServiceTemplateSpecContainerVolumeMountArgs{
							MountPath: pulumi.String("string"),
							Name:      pulumi.String("string"),
						},
					},
				},
			},
			NodeSelector: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			ServiceAccountName: pulumi.String("string"),
			TimeoutSeconds:     pulumi.Int(0),
			Volumes: cloudrun.ServiceTemplateSpecVolumeArray{
				&cloudrun.ServiceTemplateSpecVolumeArgs{
					Name: pulumi.String("string"),
					Csi: &cloudrun.ServiceTemplateSpecVolumeCsiArgs{
						Driver:   pulumi.String("string"),
						ReadOnly: pulumi.Bool(false),
						VolumeAttributes: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
					},
					EmptyDir: &cloudrun.ServiceTemplateSpecVolumeEmptyDirArgs{
						Medium:    pulumi.String("string"),
						SizeLimit: pulumi.String("string"),
					},
					Nfs: &cloudrun.ServiceTemplateSpecVolumeNfsArgs{
						Path:     pulumi.String("string"),
						Server:   pulumi.String("string"),
						ReadOnly: pulumi.Bool(false),
					},
					Secret: &cloudrun.ServiceTemplateSpecVolumeSecretArgs{
						SecretName:  pulumi.String("string"),
						DefaultMode: pulumi.Int(0),
						Items: cloudrun.ServiceTemplateSpecVolumeSecretItemArray{
							&cloudrun.ServiceTemplateSpecVolumeSecretItemArgs{
								Key:  pulumi.String("string"),
								Path: pulumi.String("string"),
								Mode: pulumi.Int(0),
							},
						},
					},
				},
			},
		},
	},
	Traffics: cloudrun.ServiceTrafficArray{
		&cloudrun.ServiceTrafficArgs{
			Percent:        pulumi.Int(0),
			LatestRevision: pulumi.Bool(false),
			RevisionName:   pulumi.String("string"),
			Tag:            pulumi.String("string"),
			Url:            pulumi.String("string"),
		},
	},
})
Copy
var gcpServiceResource = new Service("gcpServiceResource", ServiceArgs.builder()
    .location("string")
    .autogenerateRevisionName(false)
    .metadata(ServiceMetadataArgs.builder()
        .annotations(Map.of("string", "string"))
        .effectiveAnnotations(Map.of("string", "string"))
        .effectiveLabels(Map.of("string", "string"))
        .generation(0)
        .labels(Map.of("string", "string"))
        .namespace("string")
        .pulumiLabels(Map.of("string", "string"))
        .resourceVersion("string")
        .selfLink("string")
        .uid("string")
        .build())
    .name("string")
    .project("string")
    .template(ServiceTemplateArgs.builder()
        .metadata(ServiceTemplateMetadataArgs.builder()
            .annotations(Map.of("string", "string"))
            .generation(0)
            .labels(Map.of("string", "string"))
            .name("string")
            .namespace("string")
            .resourceVersion("string")
            .selfLink("string")
            .uid("string")
            .build())
        .spec(ServiceTemplateSpecArgs.builder()
            .containerConcurrency(0)
            .containers(ServiceTemplateSpecContainerArgs.builder()
                .image("string")
                .args("string")
                .commands("string")
                .envs(ServiceTemplateSpecContainerEnvArgs.builder()
                    .name("string")
                    .value("string")
                    .valueFrom(ServiceTemplateSpecContainerEnvValueFromArgs.builder()
                        .secretKeyRef(ServiceTemplateSpecContainerEnvValueFromSecretKeyRefArgs.builder()
                            .key("string")
                            .name("string")
                            .build())
                        .build())
                    .build())
                .livenessProbe(ServiceTemplateSpecContainerLivenessProbeArgs.builder()
                    .failureThreshold(0)
                    .grpc(ServiceTemplateSpecContainerLivenessProbeGrpcArgs.builder()
                        .port(0)
                        .service("string")
                        .build())
                    .httpGet(ServiceTemplateSpecContainerLivenessProbeHttpGetArgs.builder()
                        .httpHeaders(ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .port(0)
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .name("string")
                .ports(ServiceTemplateSpecContainerPortArgs.builder()
                    .containerPort(0)
                    .name("string")
                    .protocol("string")
                    .build())
                .resources(ServiceTemplateSpecContainerResourcesArgs.builder()
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .startupProbe(ServiceTemplateSpecContainerStartupProbeArgs.builder()
                    .failureThreshold(0)
                    .grpc(ServiceTemplateSpecContainerStartupProbeGrpcArgs.builder()
                        .port(0)
                        .service("string")
                        .build())
                    .httpGet(ServiceTemplateSpecContainerStartupProbeHttpGetArgs.builder()
                        .httpHeaders(ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .port(0)
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .tcpSocket(ServiceTemplateSpecContainerStartupProbeTcpSocketArgs.builder()
                        .port(0)
                        .build())
                    .timeoutSeconds(0)
                    .build())
                .volumeMounts(ServiceTemplateSpecContainerVolumeMountArgs.builder()
                    .mountPath("string")
                    .name("string")
                    .build())
                .build())
            .nodeSelector(Map.of("string", "string"))
            .serviceAccountName("string")
            .timeoutSeconds(0)
            .volumes(ServiceTemplateSpecVolumeArgs.builder()
                .name("string")
                .csi(ServiceTemplateSpecVolumeCsiArgs.builder()
                    .driver("string")
                    .readOnly(false)
                    .volumeAttributes(Map.of("string", "string"))
                    .build())
                .emptyDir(ServiceTemplateSpecVolumeEmptyDirArgs.builder()
                    .medium("string")
                    .sizeLimit("string")
                    .build())
                .nfs(ServiceTemplateSpecVolumeNfsArgs.builder()
                    .path("string")
                    .server("string")
                    .readOnly(false)
                    .build())
                .secret(ServiceTemplateSpecVolumeSecretArgs.builder()
                    .secretName("string")
                    .defaultMode(0)
                    .items(ServiceTemplateSpecVolumeSecretItemArgs.builder()
                        .key("string")
                        .path("string")
                        .mode(0)
                        .build())
                    .build())
                .build())
            .build())
        .build())
    .traffics(ServiceTrafficArgs.builder()
        .percent(0)
        .latestRevision(false)
        .revisionName("string")
        .tag("string")
        .url("string")
        .build())
    .build());
Copy
gcp_service_resource = gcp.cloudrun.Service("gcpServiceResource",
    location="string",
    autogenerate_revision_name=False,
    metadata={
        "annotations": {
            "string": "string",
        },
        "effective_annotations": {
            "string": "string",
        },
        "effective_labels": {
            "string": "string",
        },
        "generation": 0,
        "labels": {
            "string": "string",
        },
        "namespace": "string",
        "pulumi_labels": {
            "string": "string",
        },
        "resource_version": "string",
        "self_link": "string",
        "uid": "string",
    },
    name="string",
    project="string",
    template={
        "metadata": {
            "annotations": {
                "string": "string",
            },
            "generation": 0,
            "labels": {
                "string": "string",
            },
            "name": "string",
            "namespace": "string",
            "resource_version": "string",
            "self_link": "string",
            "uid": "string",
        },
        "spec": {
            "container_concurrency": 0,
            "containers": [{
                "image": "string",
                "args": ["string"],
                "commands": ["string"],
                "envs": [{
                    "name": "string",
                    "value": "string",
                    "value_from": {
                        "secret_key_ref": {
                            "key": "string",
                            "name": "string",
                        },
                    },
                }],
                "liveness_probe": {
                    "failure_threshold": 0,
                    "grpc": {
                        "port": 0,
                        "service": "string",
                    },
                    "http_get": {
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "port": 0,
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "name": "string",
                "ports": [{
                    "container_port": 0,
                    "name": "string",
                    "protocol": "string",
                }],
                "resources": {
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
                "startup_probe": {
                    "failure_threshold": 0,
                    "grpc": {
                        "port": 0,
                        "service": "string",
                    },
                    "http_get": {
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "port": 0,
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "tcp_socket": {
                        "port": 0,
                    },
                    "timeout_seconds": 0,
                },
                "volume_mounts": [{
                    "mount_path": "string",
                    "name": "string",
                }],
            }],
            "node_selector": {
                "string": "string",
            },
            "service_account_name": "string",
            "timeout_seconds": 0,
            "volumes": [{
                "name": "string",
                "csi": {
                    "driver": "string",
                    "read_only": False,
                    "volume_attributes": {
                        "string": "string",
                    },
                },
                "empty_dir": {
                    "medium": "string",
                    "size_limit": "string",
                },
                "nfs": {
                    "path": "string",
                    "server": "string",
                    "read_only": False,
                },
                "secret": {
                    "secret_name": "string",
                    "default_mode": 0,
                    "items": [{
                        "key": "string",
                        "path": "string",
                        "mode": 0,
                    }],
                },
            }],
        },
    },
    traffics=[{
        "percent": 0,
        "latest_revision": False,
        "revision_name": "string",
        "tag": "string",
        "url": "string",
    }])
Copy
const gcpServiceResource = new gcp.cloudrun.Service("gcpServiceResource", {
    location: "string",
    autogenerateRevisionName: false,
    metadata: {
        annotations: {
            string: "string",
        },
        effectiveAnnotations: {
            string: "string",
        },
        effectiveLabels: {
            string: "string",
        },
        generation: 0,
        labels: {
            string: "string",
        },
        namespace: "string",
        pulumiLabels: {
            string: "string",
        },
        resourceVersion: "string",
        selfLink: "string",
        uid: "string",
    },
    name: "string",
    project: "string",
    template: {
        metadata: {
            annotations: {
                string: "string",
            },
            generation: 0,
            labels: {
                string: "string",
            },
            name: "string",
            namespace: "string",
            resourceVersion: "string",
            selfLink: "string",
            uid: "string",
        },
        spec: {
            containerConcurrency: 0,
            containers: [{
                image: "string",
                args: ["string"],
                commands: ["string"],
                envs: [{
                    name: "string",
                    value: "string",
                    valueFrom: {
                        secretKeyRef: {
                            key: "string",
                            name: "string",
                        },
                    },
                }],
                livenessProbe: {
                    failureThreshold: 0,
                    grpc: {
                        port: 0,
                        service: "string",
                    },
                    httpGet: {
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        port: 0,
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    timeoutSeconds: 0,
                },
                name: "string",
                ports: [{
                    containerPort: 0,
                    name: "string",
                    protocol: "string",
                }],
                resources: {
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
                startupProbe: {
                    failureThreshold: 0,
                    grpc: {
                        port: 0,
                        service: "string",
                    },
                    httpGet: {
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        port: 0,
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    tcpSocket: {
                        port: 0,
                    },
                    timeoutSeconds: 0,
                },
                volumeMounts: [{
                    mountPath: "string",
                    name: "string",
                }],
            }],
            nodeSelector: {
                string: "string",
            },
            serviceAccountName: "string",
            timeoutSeconds: 0,
            volumes: [{
                name: "string",
                csi: {
                    driver: "string",
                    readOnly: false,
                    volumeAttributes: {
                        string: "string",
                    },
                },
                emptyDir: {
                    medium: "string",
                    sizeLimit: "string",
                },
                nfs: {
                    path: "string",
                    server: "string",
                    readOnly: false,
                },
                secret: {
                    secretName: "string",
                    defaultMode: 0,
                    items: [{
                        key: "string",
                        path: "string",
                        mode: 0,
                    }],
                },
            }],
        },
    },
    traffics: [{
        percent: 0,
        latestRevision: false,
        revisionName: "string",
        tag: "string",
        url: "string",
    }],
});
Copy
type: gcp:cloudrun:Service
properties:
    autogenerateRevisionName: false
    location: string
    metadata:
        annotations:
            string: string
        effectiveAnnotations:
            string: string
        effectiveLabels:
            string: string
        generation: 0
        labels:
            string: string
        namespace: string
        pulumiLabels:
            string: string
        resourceVersion: string
        selfLink: string
        uid: string
    name: string
    project: string
    template:
        metadata:
            annotations:
                string: string
            generation: 0
            labels:
                string: string
            name: string
            namespace: string
            resourceVersion: string
            selfLink: string
            uid: string
        spec:
            containerConcurrency: 0
            containers:
                - args:
                    - string
                  commands:
                    - string
                  envs:
                    - name: string
                      value: string
                      valueFrom:
                        secretKeyRef:
                            key: string
                            name: string
                  image: string
                  livenessProbe:
                    failureThreshold: 0
                    grpc:
                        port: 0
                        service: string
                    httpGet:
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    timeoutSeconds: 0
                  name: string
                  ports:
                    - containerPort: 0
                      name: string
                      protocol: string
                  resources:
                    limits:
                        string: string
                    requests:
                        string: string
                  startupProbe:
                    failureThreshold: 0
                    grpc:
                        port: 0
                        service: string
                    httpGet:
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    tcpSocket:
                        port: 0
                    timeoutSeconds: 0
                  volumeMounts:
                    - mountPath: string
                      name: string
            nodeSelector:
                string: string
            serviceAccountName: string
            timeoutSeconds: 0
            volumes:
                - csi:
                    driver: string
                    readOnly: false
                    volumeAttributes:
                        string: string
                  emptyDir:
                    medium: string
                    sizeLimit: string
                  name: string
                  nfs:
                    path: string
                    readOnly: false
                    server: string
                  secret:
                    defaultMode: 0
                    items:
                        - key: string
                          mode: 0
                          path: string
                    secretName: string
    traffics:
        - latestRevision: false
          percent: 0
          revisionName: string
          tag: string
          url: string
Copy

Service Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Service resource accepts the following input properties:

Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the cloud run instance. eg us-central1
AutogenerateRevisionName bool
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
Metadata ServiceMetadata
Metadata associated with this Service, including name, namespace, labels, and annotations.
Name Changes to this property will trigger replacement. string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Project Changes to this property will trigger replacement. string
Template ServiceTemplate
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
Traffics List<ServiceTraffic>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the cloud run instance. eg us-central1
AutogenerateRevisionName bool
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
Metadata ServiceMetadataArgs
Metadata associated with this Service, including name, namespace, labels, and annotations.
Name Changes to this property will trigger replacement. string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Project Changes to this property will trigger replacement. string
Template ServiceTemplateArgs
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
Traffics []ServiceTrafficArgs
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the cloud run instance. eg us-central1
autogenerateRevisionName Boolean
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
metadata ServiceMetadata
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. String
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. String
template ServiceTemplate
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics List<ServiceTraffic>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
string
The location of the cloud run instance. eg us-central1
autogenerateRevisionName boolean
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
metadata ServiceMetadata
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. string
template ServiceTemplate
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics ServiceTraffic[]
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
str
The location of the cloud run instance. eg us-central1
autogenerate_revision_name bool
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
metadata ServiceMetadataArgs
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. str
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. str
template ServiceTemplateArgs
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics Sequence[ServiceTrafficArgs]
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the cloud run instance. eg us-central1
autogenerateRevisionName Boolean
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
metadata Property Map
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. String
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. String
template Property Map
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics List<Property Map>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.

Outputs

All input properties are implicitly available as output properties. Additionally, the Service resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Statuses List<ServiceStatus>
(Output) Status of the condition, one of True, False, Unknown.
Id string
The provider-assigned unique ID for this managed resource.
Statuses []ServiceStatus
(Output) Status of the condition, one of True, False, Unknown.
id String
The provider-assigned unique ID for this managed resource.
statuses List<ServiceStatus>
(Output) Status of the condition, one of True, False, Unknown.
id string
The provider-assigned unique ID for this managed resource.
statuses ServiceStatus[]
(Output) Status of the condition, one of True, False, Unknown.
id str
The provider-assigned unique ID for this managed resource.
statuses Sequence[ServiceStatus]
(Output) Status of the condition, one of True, False, Unknown.
id String
The provider-assigned unique ID for this managed resource.
statuses List<Property Map>
(Output) Status of the condition, one of True, False, Unknown.

Look up Existing Service Resource

Get an existing Service resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ServiceState, opts?: CustomResourceOptions): Service
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        autogenerate_revision_name: Optional[bool] = None,
        location: Optional[str] = None,
        metadata: Optional[ServiceMetadataArgs] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        statuses: Optional[Sequence[ServiceStatusArgs]] = None,
        template: Optional[ServiceTemplateArgs] = None,
        traffics: Optional[Sequence[ServiceTrafficArgs]] = None) -> Service
func GetService(ctx *Context, name string, id IDInput, state *ServiceState, opts ...ResourceOption) (*Service, error)
public static Service Get(string name, Input<string> id, ServiceState? state, CustomResourceOptions? opts = null)
public static Service get(String name, Output<String> id, ServiceState state, CustomResourceOptions options)
resources:  _:    type: gcp:cloudrun:Service    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AutogenerateRevisionName bool
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
Location Changes to this property will trigger replacement. string
The location of the cloud run instance. eg us-central1
Metadata ServiceMetadata
Metadata associated with this Service, including name, namespace, labels, and annotations.
Name Changes to this property will trigger replacement. string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Project Changes to this property will trigger replacement. string
Statuses List<ServiceStatus>
(Output) Status of the condition, one of True, False, Unknown.
Template ServiceTemplate
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
Traffics List<ServiceTraffic>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
AutogenerateRevisionName bool
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
Location Changes to this property will trigger replacement. string
The location of the cloud run instance. eg us-central1
Metadata ServiceMetadataArgs
Metadata associated with this Service, including name, namespace, labels, and annotations.
Name Changes to this property will trigger replacement. string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Project Changes to this property will trigger replacement. string
Statuses []ServiceStatusArgs
(Output) Status of the condition, one of True, False, Unknown.
Template ServiceTemplateArgs
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
Traffics []ServiceTrafficArgs
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
autogenerateRevisionName Boolean
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
location Changes to this property will trigger replacement. String
The location of the cloud run instance. eg us-central1
metadata ServiceMetadata
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. String
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. String
statuses List<ServiceStatus>
(Output) Status of the condition, one of True, False, Unknown.
template ServiceTemplate
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics List<ServiceTraffic>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
autogenerateRevisionName boolean
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
location Changes to this property will trigger replacement. string
The location of the cloud run instance. eg us-central1
metadata ServiceMetadata
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. string
statuses ServiceStatus[]
(Output) Status of the condition, one of True, False, Unknown.
template ServiceTemplate
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics ServiceTraffic[]
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
autogenerate_revision_name bool
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
location Changes to this property will trigger replacement. str
The location of the cloud run instance. eg us-central1
metadata ServiceMetadataArgs
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. str
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. str
statuses Sequence[ServiceStatusArgs]
(Output) Status of the condition, one of True, False, Unknown.
template ServiceTemplateArgs
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics Sequence[ServiceTrafficArgs]
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
autogenerateRevisionName Boolean
If set to 'true', the revision name (template.metadata.name) will be omitted and autogenerated by Cloud Run. This cannot be set to 'true' while 'template.metadata.name' is also set. (For legacy support, if 'template.metadata.name' is unset in state while this field is set to false, the revision name will still autogenerate.)
location Changes to this property will trigger replacement. String
The location of the cloud run instance. eg us-central1
metadata Property Map
Metadata associated with this Service, including name, namespace, labels, and annotations.
name Changes to this property will trigger replacement. String
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
project Changes to this property will trigger replacement. String
statuses List<Property Map>
(Output) Status of the condition, one of True, False, Unknown.
template Property Map
template holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/main/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source.
traffics List<Property Map>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.

Supporting Types

ServiceMetadata
, ServiceMetadataArgs

Annotations Dictionary<string, string>
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
EffectiveAnnotations Dictionary<string, string>
EffectiveLabels Dictionary<string, string>
(Output) All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Generation int
(Output) A sequence number representing a specific generation of the desired state.
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Namespace string
In Cloud Run the namespace must be equal to either the project ID or project number.
PulumiLabels Dictionary<string, string>
(Output) The combination of labels configured directly on the resource and default labels configured on the provider.
ResourceVersion string
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
SelfLink string
(Output) SelfLink is a URL representing this object.
Uid string
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
Annotations map[string]string
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
EffectiveAnnotations map[string]string
EffectiveLabels map[string]string
(Output) All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Generation int
(Output) A sequence number representing a specific generation of the desired state.
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Namespace string
In Cloud Run the namespace must be equal to either the project ID or project number.
PulumiLabels map[string]string
(Output) The combination of labels configured directly on the resource and default labels configured on the provider.
ResourceVersion string
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
SelfLink string
(Output) SelfLink is a URL representing this object.
Uid string
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations Map<String,String>
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
effectiveAnnotations Map<String,String>
effectiveLabels Map<String,String>
(Output) All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
generation Integer
(Output) A sequence number representing a specific generation of the desired state.
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
namespace String
In Cloud Run the namespace must be equal to either the project ID or project number.
pulumiLabels Map<String,String>
(Output) The combination of labels configured directly on the resource and default labels configured on the provider.
resourceVersion String
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
selfLink String
(Output) SelfLink is a URL representing this object.
uid String
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations {[key: string]: string}
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
effectiveAnnotations {[key: string]: string}
effectiveLabels {[key: string]: string}
(Output) All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
generation number
(Output) A sequence number representing a specific generation of the desired state.
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
namespace string
In Cloud Run the namespace must be equal to either the project ID or project number.
pulumiLabels {[key: string]: string}
(Output) The combination of labels configured directly on the resource and default labels configured on the provider.
resourceVersion string
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
selfLink string
(Output) SelfLink is a URL representing this object.
uid string
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations Mapping[str, str]
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
effective_annotations Mapping[str, str]
effective_labels Mapping[str, str]
(Output) All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
generation int
(Output) A sequence number representing a specific generation of the desired state.
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
namespace str
In Cloud Run the namespace must be equal to either the project ID or project number.
pulumi_labels Mapping[str, str]
(Output) The combination of labels configured directly on the resource and default labels configured on the provider.
resource_version str
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
self_link str
(Output) SelfLink is a URL representing this object.
uid str
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations Map<String>
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
effectiveAnnotations Map<String>
effectiveLabels Map<String>
(Output) All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
generation Number
(Output) A sequence number representing a specific generation of the desired state.
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
namespace String
In Cloud Run the namespace must be equal to either the project ID or project number.
pulumiLabels Map<String>
(Output) The combination of labels configured directly on the resource and default labels configured on the provider.
resourceVersion String
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
selfLink String
(Output) SelfLink is a URL representing this object.
uid String
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

ServiceStatus
, ServiceStatusArgs

Conditions List<ServiceStatusCondition>
(Output) Array of observed Service Conditions, indicating the current ready state of the service. Structure is documented below.
LatestCreatedRevisionName string
(Output) From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
LatestReadyRevisionName string
(Output) From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True".
ObservedGeneration int
(Output) ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
Traffics List<ServiceStatusTraffic>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
Url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
Conditions []ServiceStatusCondition
(Output) Array of observed Service Conditions, indicating the current ready state of the service. Structure is documented below.
LatestCreatedRevisionName string
(Output) From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
LatestReadyRevisionName string
(Output) From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True".
ObservedGeneration int
(Output) ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
Traffics []ServiceStatusTraffic
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
Url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
conditions List<ServiceStatusCondition>
(Output) Array of observed Service Conditions, indicating the current ready state of the service. Structure is documented below.
latestCreatedRevisionName String
(Output) From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
latestReadyRevisionName String
(Output) From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True".
observedGeneration Integer
(Output) ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
traffics List<ServiceStatusTraffic>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
url String
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
conditions ServiceStatusCondition[]
(Output) Array of observed Service Conditions, indicating the current ready state of the service. Structure is documented below.
latestCreatedRevisionName string
(Output) From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
latestReadyRevisionName string
(Output) From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True".
observedGeneration number
(Output) ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
traffics ServiceStatusTraffic[]
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
conditions Sequence[ServiceStatusCondition]
(Output) Array of observed Service Conditions, indicating the current ready state of the service. Structure is documented below.
latest_created_revision_name str
(Output) From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
latest_ready_revision_name str
(Output) From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True".
observed_generation int
(Output) ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
traffics Sequence[ServiceStatusTraffic]
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
url str
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
conditions List<Property Map>
(Output) Array of observed Service Conditions, indicating the current ready state of the service. Structure is documented below.
latestCreatedRevisionName String
(Output) From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.
latestReadyRevisionName String
(Output) From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True".
observedGeneration Number
(Output) ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.
traffics List<Property Map>
(Output) Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations Structure is documented below.
url String
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)

ServiceStatusCondition
, ServiceStatusConditionArgs

Message string
(Output) Human readable message indicating details about the current status.
Reason string
(Output) One-word CamelCase reason for the condition's current status.
Status string
(Output) Status of the condition, one of True, False, Unknown.
Type string
(Output) Type of domain mapping condition.
Message string
(Output) Human readable message indicating details about the current status.
Reason string
(Output) One-word CamelCase reason for the condition's current status.
Status string
(Output) Status of the condition, one of True, False, Unknown.
Type string
(Output) Type of domain mapping condition.
message String
(Output) Human readable message indicating details about the current status.
reason String
(Output) One-word CamelCase reason for the condition's current status.
status String
(Output) Status of the condition, one of True, False, Unknown.
type String
(Output) Type of domain mapping condition.
message string
(Output) Human readable message indicating details about the current status.
reason string
(Output) One-word CamelCase reason for the condition's current status.
status string
(Output) Status of the condition, one of True, False, Unknown.
type string
(Output) Type of domain mapping condition.
message str
(Output) Human readable message indicating details about the current status.
reason str
(Output) One-word CamelCase reason for the condition's current status.
status str
(Output) Status of the condition, one of True, False, Unknown.
type str
(Output) Type of domain mapping condition.
message String
(Output) Human readable message indicating details about the current status.
reason String
(Output) One-word CamelCase reason for the condition's current status.
status String
(Output) Status of the condition, one of True, False, Unknown.
type String
(Output) Type of domain mapping condition.

ServiceStatusTraffic
, ServiceStatusTrafficArgs

LatestRevision bool
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
Percent int
Percent specifies percent of the traffic to this Revision or Configuration.
RevisionName string
RevisionName of a specific revision to which to send this portion of traffic.
Tag string
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
Url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
LatestRevision bool
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
Percent int
Percent specifies percent of the traffic to this Revision or Configuration.
RevisionName string
RevisionName of a specific revision to which to send this portion of traffic.
Tag string
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
Url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
latestRevision Boolean
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
percent Integer
Percent specifies percent of the traffic to this Revision or Configuration.
revisionName String
RevisionName of a specific revision to which to send this portion of traffic.
tag String
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url String
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
latestRevision boolean
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
percent number
Percent specifies percent of the traffic to this Revision or Configuration.
revisionName string
RevisionName of a specific revision to which to send this portion of traffic.
tag string
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
latest_revision bool
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
percent int
Percent specifies percent of the traffic to this Revision or Configuration.
revision_name str
RevisionName of a specific revision to which to send this portion of traffic.
tag str
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url str
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
latestRevision Boolean
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
percent Number
Percent specifies percent of the traffic to this Revision or Configuration.
revisionName String
RevisionName of a specific revision to which to send this portion of traffic.
tag String
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url String
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)

ServiceTemplate
, ServiceTemplateArgs

Metadata ServiceTemplateMetadata
Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the "autoscaling.knative.dev/minScale" annotation key. To set maximum instances for this revision, use the "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" annotation key. Structure is documented below.
Spec ServiceTemplateSpec
RevisionSpec holds the desired state of the Revision (from the client). Structure is documented below.
Metadata ServiceTemplateMetadata
Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the "autoscaling.knative.dev/minScale" annotation key. To set maximum instances for this revision, use the "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" annotation key. Structure is documented below.
Spec ServiceTemplateSpec
RevisionSpec holds the desired state of the Revision (from the client). Structure is documented below.
metadata ServiceTemplateMetadata
Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the "autoscaling.knative.dev/minScale" annotation key. To set maximum instances for this revision, use the "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" annotation key. Structure is documented below.
spec ServiceTemplateSpec
RevisionSpec holds the desired state of the Revision (from the client). Structure is documented below.
metadata ServiceTemplateMetadata
Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the "autoscaling.knative.dev/minScale" annotation key. To set maximum instances for this revision, use the "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" annotation key. Structure is documented below.
spec ServiceTemplateSpec
RevisionSpec holds the desired state of the Revision (from the client). Structure is documented below.
metadata ServiceTemplateMetadata
Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the "autoscaling.knative.dev/minScale" annotation key. To set maximum instances for this revision, use the "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" annotation key. Structure is documented below.
spec ServiceTemplateSpec
RevisionSpec holds the desired state of the Revision (from the client). Structure is documented below.
metadata Property Map
Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the "autoscaling.knative.dev/minScale" annotation key. To set maximum instances for this revision, use the "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" annotation key. Structure is documented below.
spec Property Map
RevisionSpec holds the desired state of the Revision (from the client). Structure is documented below.

ServiceTemplateMetadata
, ServiceTemplateMetadataArgs

Annotations Dictionary<string, string>
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
Generation int
(Output) A sequence number representing a specific generation of the desired state.
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Name string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated.
Namespace string
In Cloud Run the namespace must be equal to either the project ID or project number.
ResourceVersion string
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
SelfLink string
(Output) SelfLink is a URL representing this object.
Uid string
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
Annotations map[string]string
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
Generation int
(Output) A sequence number representing a specific generation of the desired state.
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Name string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated.
Namespace string
In Cloud Run the namespace must be equal to either the project ID or project number.
ResourceVersion string
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
SelfLink string
(Output) SelfLink is a URL representing this object.
Uid string
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations Map<String,String>
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
generation Integer
(Output) A sequence number representing a specific generation of the desired state.
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name String
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated.
namespace String
In Cloud Run the namespace must be equal to either the project ID or project number.
resourceVersion String
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
selfLink String
(Output) SelfLink is a URL representing this object.
uid String
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations {[key: string]: string}
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
generation number
(Output) A sequence number representing a specific generation of the desired state.
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name string
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated.
namespace string
In Cloud Run the namespace must be equal to either the project ID or project number.
resourceVersion string
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
selfLink string
(Output) SelfLink is a URL representing this object.
uid string
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations Mapping[str, str]
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
generation int
(Output) A sequence number representing a specific generation of the desired state.
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name str
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated.
namespace str
In Cloud Run the namespace must be equal to either the project ID or project number.
resource_version str
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
self_link str
(Output) SelfLink is a URL representing this object.
uid str
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
annotations Map<String>
Annotations is a key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations Note: The Cloud Run API may add additional annotations that were not provided in your config. If the provider plan shows a diff where a server-side annotation is added, you can add it to your config or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. Annotations with run.googleapis.com/ and autoscaling.knative.dev are restricted. Use the following annotation keys to configure features on a Service:

  • run.googleapis.com/binary-authorization-breakglass sets the Binary Authorization breakglass.
  • run.googleapis.com/binary-authorization sets the Binary Authorization.
  • run.googleapis.com/client-name sets the client name calling the Cloud Run API.
  • run.googleapis.com/custom-audiences sets the custom audiences that can be used in the audience field of ID token for authenticated requests.
  • run.googleapis.com/description sets a user defined description for the Service.
  • run.googleapis.com/ingress sets the ingress settings for the Service. For example, "run.googleapis.com/ingress" = "all".
  • run.googleapis.com/launch-stage sets the launch stage when a preview feature is used. For example, "run.googleapis.com/launch-stage": "BETA" Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
generation Number
(Output) A sequence number representing a specific generation of the desired state.
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name String
Name must be unique within a Google Cloud project and region. Is required when creating resources. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated.
namespace String
In Cloud Run the namespace must be equal to either the project ID or project number.
resourceVersion String
(Output) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. They may only be valid for a particular resource or set of resources.
selfLink String
(Output) SelfLink is a URL representing this object.
uid String
(Output) UID is a unique id generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

ServiceTemplateSpec
, ServiceTemplateSpecArgs

ContainerConcurrency int
ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
Containers List<ServiceTemplateSpecContainer>
Containers defines the unit of execution for this Revision. Structure is documented below.
NodeSelector Dictionary<string, string>
Node Selector describes the hardware requirements of the resources. Use the following node selector keys to configure features on a Revision:

  • run.googleapis.com/accelerator sets the type of GPU required by the Revision to run.
ServiceAccountName string
Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
ServingState string

(Output, Deprecated) ServingState holds a value describing the state the resources are in for this Revision. It is expected that the system will manipulate this based on routability and load.

Warning: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

TimeoutSeconds int
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
Volumes List<ServiceTemplateSpecVolume>
Volume represents a named volume in a container. Structure is documented below.
ContainerConcurrency int
ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
Containers []ServiceTemplateSpecContainer
Containers defines the unit of execution for this Revision. Structure is documented below.
NodeSelector map[string]string
Node Selector describes the hardware requirements of the resources. Use the following node selector keys to configure features on a Revision:

  • run.googleapis.com/accelerator sets the type of GPU required by the Revision to run.
ServiceAccountName string
Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
ServingState string

(Output, Deprecated) ServingState holds a value describing the state the resources are in for this Revision. It is expected that the system will manipulate this based on routability and load.

Warning: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

TimeoutSeconds int
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
Volumes []ServiceTemplateSpecVolume
Volume represents a named volume in a container. Structure is documented below.
containerConcurrency Integer
ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
containers List<ServiceTemplateSpecContainer>
Containers defines the unit of execution for this Revision. Structure is documented below.
nodeSelector Map<String,String>
Node Selector describes the hardware requirements of the resources. Use the following node selector keys to configure features on a Revision:

  • run.googleapis.com/accelerator sets the type of GPU required by the Revision to run.
serviceAccountName String
Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
servingState String

(Output, Deprecated) ServingState holds a value describing the state the resources are in for this Revision. It is expected that the system will manipulate this based on routability and load.

Warning: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

timeoutSeconds Integer
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
volumes List<ServiceTemplateSpecVolume>
Volume represents a named volume in a container. Structure is documented below.
containerConcurrency number
ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
containers ServiceTemplateSpecContainer[]
Containers defines the unit of execution for this Revision. Structure is documented below.
nodeSelector {[key: string]: string}
Node Selector describes the hardware requirements of the resources. Use the following node selector keys to configure features on a Revision:

  • run.googleapis.com/accelerator sets the type of GPU required by the Revision to run.
serviceAccountName string
Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
servingState string

(Output, Deprecated) ServingState holds a value describing the state the resources are in for this Revision. It is expected that the system will manipulate this based on routability and load.

Warning: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

timeoutSeconds number
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
volumes ServiceTemplateSpecVolume[]
Volume represents a named volume in a container. Structure is documented below.
container_concurrency int
ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
containers Sequence[ServiceTemplateSpecContainer]
Containers defines the unit of execution for this Revision. Structure is documented below.
node_selector Mapping[str, str]
Node Selector describes the hardware requirements of the resources. Use the following node selector keys to configure features on a Revision:

  • run.googleapis.com/accelerator sets the type of GPU required by the Revision to run.
service_account_name str
Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
serving_state str

(Output, Deprecated) ServingState holds a value describing the state the resources are in for this Revision. It is expected that the system will manipulate this based on routability and load.

Warning: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

timeout_seconds int
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
volumes Sequence[ServiceTemplateSpecVolume]
Volume represents a named volume in a container. Structure is documented below.
containerConcurrency Number
ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
containers List<Property Map>
Containers defines the unit of execution for this Revision. Structure is documented below.
nodeSelector Map<String>
Node Selector describes the hardware requirements of the resources. Use the following node selector keys to configure features on a Revision:

  • run.googleapis.com/accelerator sets the type of GPU required by the Revision to run.
serviceAccountName String
Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
servingState String

(Output, Deprecated) ServingState holds a value describing the state the resources are in for this Revision. It is expected that the system will manipulate this based on routability and load.

Warning: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: serving_state is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

timeoutSeconds Number
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
volumes List<Property Map>
Volume represents a named volume in a container. Structure is documented below.

ServiceTemplateSpecContainer
, ServiceTemplateSpecContainerArgs

Image This property is required. string
Docker image name. This is most often a reference to a container located in the container registry, such as gcr.io/cloudrun/hello
Args List<string>
Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
Commands List<string>
Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
EnvFroms Changes to this property will trigger replacement. List<ServiceTemplateSpecContainerEnvFrom>

(Optional, Deprecated) List of sources to populate environment variables in the container. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Structure is documented below.

Warning: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Envs List<ServiceTemplateSpecContainerEnv>
List of environment variables to set in the container. Structure is documented below.
LivenessProbe ServiceTemplateSpecContainerLivenessProbe
Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Structure is documented below.
Name string
Name of the container
Ports List<ServiceTemplateSpecContainerPort>
List of open ports in the container. Structure is documented below.
Resources ServiceTemplateSpecContainerResources
Compute Resources required by this container. Used to set values such as max memory Structure is documented below.
StartupProbe ServiceTemplateSpecContainerStartupProbe
Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. Structure is documented below.
VolumeMounts List<ServiceTemplateSpecContainerVolumeMount>
Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Structure is documented below.
WorkingDir Changes to this property will trigger replacement. string

(Optional, Deprecated) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Warning: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Image This property is required. string
Docker image name. This is most often a reference to a container located in the container registry, such as gcr.io/cloudrun/hello
Args []string
Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
Commands []string
Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
EnvFroms Changes to this property will trigger replacement. []ServiceTemplateSpecContainerEnvFrom

(Optional, Deprecated) List of sources to populate environment variables in the container. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Structure is documented below.

Warning: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Envs []ServiceTemplateSpecContainerEnv
List of environment variables to set in the container. Structure is documented below.
LivenessProbe ServiceTemplateSpecContainerLivenessProbe
Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Structure is documented below.
Name string
Name of the container
Ports []ServiceTemplateSpecContainerPort
List of open ports in the container. Structure is documented below.
Resources ServiceTemplateSpecContainerResources
Compute Resources required by this container. Used to set values such as max memory Structure is documented below.
StartupProbe ServiceTemplateSpecContainerStartupProbe
Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. Structure is documented below.
VolumeMounts []ServiceTemplateSpecContainerVolumeMount
Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Structure is documented below.
WorkingDir Changes to this property will trigger replacement. string

(Optional, Deprecated) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Warning: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

image This property is required. String
Docker image name. This is most often a reference to a container located in the container registry, such as gcr.io/cloudrun/hello
args List<String>
Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
commands List<String>
Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
envFroms Changes to this property will trigger replacement. List<ServiceTemplateSpecContainerEnvFrom>

(Optional, Deprecated) List of sources to populate environment variables in the container. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Structure is documented below.

Warning: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

envs List<ServiceTemplateSpecContainerEnv>
List of environment variables to set in the container. Structure is documented below.
livenessProbe ServiceTemplateSpecContainerLivenessProbe
Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Structure is documented below.
name String
Name of the container
ports List<ServiceTemplateSpecContainerPort>
List of open ports in the container. Structure is documented below.
resources ServiceTemplateSpecContainerResources
Compute Resources required by this container. Used to set values such as max memory Structure is documented below.
startupProbe ServiceTemplateSpecContainerStartupProbe
Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. Structure is documented below.
volumeMounts List<ServiceTemplateSpecContainerVolumeMount>
Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Structure is documented below.
workingDir Changes to this property will trigger replacement. String

(Optional, Deprecated) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Warning: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

image This property is required. string
Docker image name. This is most often a reference to a container located in the container registry, such as gcr.io/cloudrun/hello
args string[]
Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
commands string[]
Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
envFroms Changes to this property will trigger replacement. ServiceTemplateSpecContainerEnvFrom[]

(Optional, Deprecated) List of sources to populate environment variables in the container. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Structure is documented below.

Warning: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

envs ServiceTemplateSpecContainerEnv[]
List of environment variables to set in the container. Structure is documented below.
livenessProbe ServiceTemplateSpecContainerLivenessProbe
Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Structure is documented below.
name string
Name of the container
ports ServiceTemplateSpecContainerPort[]
List of open ports in the container. Structure is documented below.
resources ServiceTemplateSpecContainerResources
Compute Resources required by this container. Used to set values such as max memory Structure is documented below.
startupProbe ServiceTemplateSpecContainerStartupProbe
Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. Structure is documented below.
volumeMounts ServiceTemplateSpecContainerVolumeMount[]
Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Structure is documented below.
workingDir Changes to this property will trigger replacement. string

(Optional, Deprecated) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Warning: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

image This property is required. str
Docker image name. This is most often a reference to a container located in the container registry, such as gcr.io/cloudrun/hello
args Sequence[str]
Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
commands Sequence[str]
Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
env_froms Changes to this property will trigger replacement. Sequence[ServiceTemplateSpecContainerEnvFrom]

(Optional, Deprecated) List of sources to populate environment variables in the container. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Structure is documented below.

Warning: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

envs Sequence[ServiceTemplateSpecContainerEnv]
List of environment variables to set in the container. Structure is documented below.
liveness_probe ServiceTemplateSpecContainerLivenessProbe
Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Structure is documented below.
name str
Name of the container
ports Sequence[ServiceTemplateSpecContainerPort]
List of open ports in the container. Structure is documented below.
resources ServiceTemplateSpecContainerResources
Compute Resources required by this container. Used to set values such as max memory Structure is documented below.
startup_probe ServiceTemplateSpecContainerStartupProbe
Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. Structure is documented below.
volume_mounts Sequence[ServiceTemplateSpecContainerVolumeMount]
Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Structure is documented below.
working_dir Changes to this property will trigger replacement. str

(Optional, Deprecated) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Warning: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

image This property is required. String
Docker image name. This is most often a reference to a container located in the container registry, such as gcr.io/cloudrun/hello
args List<String>
Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
commands List<String>
Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
envFroms Changes to this property will trigger replacement. List<Property Map>

(Optional, Deprecated) List of sources to populate environment variables in the container. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Structure is documented below.

Warning: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: env_from is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

envs List<Property Map>
List of environment variables to set in the container. Structure is documented below.
livenessProbe Property Map
Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Structure is documented below.
name String
Name of the container
ports List<Property Map>
List of open ports in the container. Structure is documented below.
resources Property Map
Compute Resources required by this container. Used to set values such as max memory Structure is documented below.
startupProbe Property Map
Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. Structure is documented below.
volumeMounts List<Property Map>
Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Structure is documented below.
workingDir Changes to this property will trigger replacement. String

(Optional, Deprecated) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.

Warning: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

Deprecated: working_dir is deprecated and will be removed in a future major release. This field is not supported by the Cloud Run API.

ServiceTemplateSpecContainerEnv
, ServiceTemplateSpecContainerEnvArgs

Name string
Name of the environment variable.
Value string
Defaults to "".
ValueFrom ServiceTemplateSpecContainerEnvValueFrom
Source for the environment variable's value. Only supports secret_key_ref. Structure is documented below.
Name string
Name of the environment variable.
Value string
Defaults to "".
ValueFrom ServiceTemplateSpecContainerEnvValueFrom
Source for the environment variable's value. Only supports secret_key_ref. Structure is documented below.
name String
Name of the environment variable.
value String
Defaults to "".
valueFrom ServiceTemplateSpecContainerEnvValueFrom
Source for the environment variable's value. Only supports secret_key_ref. Structure is documented below.
name string
Name of the environment variable.
value string
Defaults to "".
valueFrom ServiceTemplateSpecContainerEnvValueFrom
Source for the environment variable's value. Only supports secret_key_ref. Structure is documented below.
name str
Name of the environment variable.
value str
Defaults to "".
value_from ServiceTemplateSpecContainerEnvValueFrom
Source for the environment variable's value. Only supports secret_key_ref. Structure is documented below.
name String
Name of the environment variable.
value String
Defaults to "".
valueFrom Property Map
Source for the environment variable's value. Only supports secret_key_ref. Structure is documented below.

ServiceTemplateSpecContainerEnvFrom
, ServiceTemplateSpecContainerEnvFromArgs

ConfigMapRef ServiceTemplateSpecContainerEnvFromConfigMapRef
The ConfigMap to select from. Structure is documented below.
Prefix string
An optional identifier to prepend to each key in the ConfigMap.
SecretRef ServiceTemplateSpecContainerEnvFromSecretRef
The Secret to select from. Structure is documented below.
ConfigMapRef ServiceTemplateSpecContainerEnvFromConfigMapRef
The ConfigMap to select from. Structure is documented below.
Prefix string
An optional identifier to prepend to each key in the ConfigMap.
SecretRef ServiceTemplateSpecContainerEnvFromSecretRef
The Secret to select from. Structure is documented below.
configMapRef ServiceTemplateSpecContainerEnvFromConfigMapRef
The ConfigMap to select from. Structure is documented below.
prefix String
An optional identifier to prepend to each key in the ConfigMap.
secretRef ServiceTemplateSpecContainerEnvFromSecretRef
The Secret to select from. Structure is documented below.
configMapRef ServiceTemplateSpecContainerEnvFromConfigMapRef
The ConfigMap to select from. Structure is documented below.
prefix string
An optional identifier to prepend to each key in the ConfigMap.
secretRef ServiceTemplateSpecContainerEnvFromSecretRef
The Secret to select from. Structure is documented below.
config_map_ref ServiceTemplateSpecContainerEnvFromConfigMapRef
The ConfigMap to select from. Structure is documented below.
prefix str
An optional identifier to prepend to each key in the ConfigMap.
secret_ref ServiceTemplateSpecContainerEnvFromSecretRef
The Secret to select from. Structure is documented below.
configMapRef Property Map
The ConfigMap to select from. Structure is documented below.
prefix String
An optional identifier to prepend to each key in the ConfigMap.
secretRef Property Map
The Secret to select from. Structure is documented below.

ServiceTemplateSpecContainerEnvFromConfigMapRef
, ServiceTemplateSpecContainerEnvFromConfigMapRefArgs

LocalObjectReference ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReference
The ConfigMap to select from. Structure is documented below.
Optional bool
Specify whether the ConfigMap must be defined
LocalObjectReference ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReference
The ConfigMap to select from. Structure is documented below.
Optional bool
Specify whether the ConfigMap must be defined
localObjectReference ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReference
The ConfigMap to select from. Structure is documented below.
optional Boolean
Specify whether the ConfigMap must be defined
localObjectReference ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReference
The ConfigMap to select from. Structure is documented below.
optional boolean
Specify whether the ConfigMap must be defined
local_object_reference ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReference
The ConfigMap to select from. Structure is documented below.
optional bool
Specify whether the ConfigMap must be defined
localObjectReference Property Map
The ConfigMap to select from. Structure is documented below.
optional Boolean
Specify whether the ConfigMap must be defined

ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReference
, ServiceTemplateSpecContainerEnvFromConfigMapRefLocalObjectReferenceArgs

Name This property is required. string
Name of the referent.
Name This property is required. string
Name of the referent.
name This property is required. String
Name of the referent.
name This property is required. string
Name of the referent.
name This property is required. str
Name of the referent.
name This property is required. String
Name of the referent.

ServiceTemplateSpecContainerEnvFromSecretRef
, ServiceTemplateSpecContainerEnvFromSecretRefArgs

LocalObjectReference ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReference
The Secret to select from. Structure is documented below.
Optional bool
Specify whether the Secret must be defined
LocalObjectReference ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReference
The Secret to select from. Structure is documented below.
Optional bool
Specify whether the Secret must be defined
localObjectReference ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReference
The Secret to select from. Structure is documented below.
optional Boolean
Specify whether the Secret must be defined
localObjectReference ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReference
The Secret to select from. Structure is documented below.
optional boolean
Specify whether the Secret must be defined
local_object_reference ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReference
The Secret to select from. Structure is documented below.
optional bool
Specify whether the Secret must be defined
localObjectReference Property Map
The Secret to select from. Structure is documented below.
optional Boolean
Specify whether the Secret must be defined

ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReference
, ServiceTemplateSpecContainerEnvFromSecretRefLocalObjectReferenceArgs

Name This property is required. string
Name of the referent.
Name This property is required. string
Name of the referent.
name This property is required. String
Name of the referent.
name This property is required. string
Name of the referent.
name This property is required. str
Name of the referent.
name This property is required. String
Name of the referent.

ServiceTemplateSpecContainerEnvValueFrom
, ServiceTemplateSpecContainerEnvValueFromArgs

SecretKeyRef This property is required. ServiceTemplateSpecContainerEnvValueFromSecretKeyRef
Selects a key (version) of a secret in Secret Manager. Structure is documented below.
SecretKeyRef This property is required. ServiceTemplateSpecContainerEnvValueFromSecretKeyRef
Selects a key (version) of a secret in Secret Manager. Structure is documented below.
secretKeyRef This property is required. ServiceTemplateSpecContainerEnvValueFromSecretKeyRef
Selects a key (version) of a secret in Secret Manager. Structure is documented below.
secretKeyRef This property is required. ServiceTemplateSpecContainerEnvValueFromSecretKeyRef
Selects a key (version) of a secret in Secret Manager. Structure is documented below.
secret_key_ref This property is required. ServiceTemplateSpecContainerEnvValueFromSecretKeyRef
Selects a key (version) of a secret in Secret Manager. Structure is documented below.
secretKeyRef This property is required. Property Map
Selects a key (version) of a secret in Secret Manager. Structure is documented below.

ServiceTemplateSpecContainerEnvValueFromSecretKeyRef
, ServiceTemplateSpecContainerEnvValueFromSecretKeyRefArgs

Key This property is required. string
A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.
Name This property is required. string
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
Key This property is required. string
A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.
Name This property is required. string
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
key This property is required. String
A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.
name This property is required. String
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
key This property is required. string
A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.
name This property is required. string
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
key This property is required. str
A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.
name This property is required. str
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
key This property is required. String
A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version.
name This property is required. String
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.

ServiceTemplateSpecContainerLivenessProbe
, ServiceTemplateSpecContainerLivenessProbeArgs

FailureThreshold int
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
Grpc ServiceTemplateSpecContainerLivenessProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
HttpGet ServiceTemplateSpecContainerLivenessProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
InitialDelaySeconds int
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
PeriodSeconds int
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
TimeoutSeconds int
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
FailureThreshold int
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
Grpc ServiceTemplateSpecContainerLivenessProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
HttpGet ServiceTemplateSpecContainerLivenessProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
InitialDelaySeconds int
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
PeriodSeconds int
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
TimeoutSeconds int
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
failureThreshold Integer
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc ServiceTemplateSpecContainerLivenessProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
httpGet ServiceTemplateSpecContainerLivenessProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
initialDelaySeconds Integer
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
periodSeconds Integer
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
timeoutSeconds Integer
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
failureThreshold number
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc ServiceTemplateSpecContainerLivenessProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
httpGet ServiceTemplateSpecContainerLivenessProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
initialDelaySeconds number
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
periodSeconds number
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
timeoutSeconds number
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
failure_threshold int
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc ServiceTemplateSpecContainerLivenessProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
http_get ServiceTemplateSpecContainerLivenessProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
initial_delay_seconds int
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
period_seconds int
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
timeout_seconds int
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
failureThreshold Number
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc Property Map
GRPC specifies an action involving a GRPC port. Structure is documented below.
httpGet Property Map
HttpGet specifies the http request to perform. Structure is documented below.
initialDelaySeconds Number
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 3600.
periodSeconds Number
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
timeoutSeconds Number
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.

ServiceTemplateSpecContainerLivenessProbeGrpc
, ServiceTemplateSpecContainerLivenessProbeGrpcArgs

Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
Service string
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
Service string
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port Integer
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service String
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service string
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service str
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port Number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service String
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.

ServiceTemplateSpecContainerLivenessProbeHttpGet
, ServiceTemplateSpecContainerLivenessProbeHttpGetArgs

HttpHeaders List<ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeader>
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
Path string
Path to access on the HTTP server. If set, it should not be empty string.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
HttpHeaders []ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeader
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
Path string
Path to access on the HTTP server. If set, it should not be empty string.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
httpHeaders List<ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeader>
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path String
Path to access on the HTTP server. If set, it should not be empty string.
port Integer
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
httpHeaders ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeader[]
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path string
Path to access on the HTTP server. If set, it should not be empty string.
port number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
http_headers Sequence[ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeader]
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path str
Path to access on the HTTP server. If set, it should not be empty string.
port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
httpHeaders List<Property Map>
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path String
Path to access on the HTTP server. If set, it should not be empty string.
port Number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.

ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeader
, ServiceTemplateSpecContainerLivenessProbeHttpGetHttpHeaderArgs

Name This property is required. string
The header field name.
Value string
The header field value.
Name This property is required. string
The header field name.
Value string
The header field value.
name This property is required. String
The header field name.
value String
The header field value.
name This property is required. string
The header field name.
value string
The header field value.
name This property is required. str
The header field name.
value str
The header field value.
name This property is required. String
The header field name.
value String
The header field value.

ServiceTemplateSpecContainerPort
, ServiceTemplateSpecContainerPortArgs

ContainerPort int
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
Name string
If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
Protocol string
Protocol for port. Must be "TCP". Defaults to "TCP".
ContainerPort int
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
Name string
If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
Protocol string
Protocol for port. Must be "TCP". Defaults to "TCP".
containerPort Integer
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
name String
If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
protocol String
Protocol for port. Must be "TCP". Defaults to "TCP".
containerPort number
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
name string
If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
protocol string
Protocol for port. Must be "TCP". Defaults to "TCP".
container_port int
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
name str
If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
protocol str
Protocol for port. Must be "TCP". Defaults to "TCP".
containerPort Number
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
name String
If specified, used to specify which protocol to use. Allowed values are "http1" (HTTP/1) and "h2c" (HTTP/2 end-to-end). Defaults to "http1".
protocol String
Protocol for port. Must be "TCP". Defaults to "TCP".

ServiceTemplateSpecContainerResources
, ServiceTemplateSpecContainerResourcesArgs

Limits Dictionary<string, string>
Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Requests Dictionary<string, string>
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Limits map[string]string
Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Requests map[string]string
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
limits Map<String,String>
Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
requests Map<String,String>
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
limits {[key: string]: string}
Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
requests {[key: string]: string}
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
limits Mapping[str, str]
Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
requests Mapping[str, str]
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
limits Map<String>
Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
requests Map<String>
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go

ServiceTemplateSpecContainerStartupProbe
, ServiceTemplateSpecContainerStartupProbeArgs

FailureThreshold int
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
Grpc ServiceTemplateSpecContainerStartupProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
HttpGet ServiceTemplateSpecContainerStartupProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
InitialDelaySeconds int
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
PeriodSeconds int
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
TcpSocket ServiceTemplateSpecContainerStartupProbeTcpSocket
TcpSocket specifies an action involving a TCP port. Structure is documented below.
TimeoutSeconds int
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds.
FailureThreshold int
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
Grpc ServiceTemplateSpecContainerStartupProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
HttpGet ServiceTemplateSpecContainerStartupProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
InitialDelaySeconds int
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
PeriodSeconds int
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
TcpSocket ServiceTemplateSpecContainerStartupProbeTcpSocket
TcpSocket specifies an action involving a TCP port. Structure is documented below.
TimeoutSeconds int
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds.
failureThreshold Integer
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc ServiceTemplateSpecContainerStartupProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
httpGet ServiceTemplateSpecContainerStartupProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
initialDelaySeconds Integer
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
periodSeconds Integer
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
tcpSocket ServiceTemplateSpecContainerStartupProbeTcpSocket
TcpSocket specifies an action involving a TCP port. Structure is documented below.
timeoutSeconds Integer
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds.
failureThreshold number
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc ServiceTemplateSpecContainerStartupProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
httpGet ServiceTemplateSpecContainerStartupProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
initialDelaySeconds number
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
periodSeconds number
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
tcpSocket ServiceTemplateSpecContainerStartupProbeTcpSocket
TcpSocket specifies an action involving a TCP port. Structure is documented below.
timeoutSeconds number
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds.
failure_threshold int
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc ServiceTemplateSpecContainerStartupProbeGrpc
GRPC specifies an action involving a GRPC port. Structure is documented below.
http_get ServiceTemplateSpecContainerStartupProbeHttpGet
HttpGet specifies the http request to perform. Structure is documented below.
initial_delay_seconds int
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
period_seconds int
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
tcp_socket ServiceTemplateSpecContainerStartupProbeTcpSocket
TcpSocket specifies an action involving a TCP port. Structure is documented below.
timeout_seconds int
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds.
failureThreshold Number
Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
grpc Property Map
GRPC specifies an action involving a GRPC port. Structure is documented below.
httpGet Property Map
HttpGet specifies the http request to perform. Structure is documented below.
initialDelaySeconds Number
Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value is 240.
periodSeconds Number
How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
tcpSocket Property Map
TcpSocket specifies an action involving a TCP port. Structure is documented below.
timeoutSeconds Number
Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds.

ServiceTemplateSpecContainerStartupProbeGrpc
, ServiceTemplateSpecContainerStartupProbeGrpcArgs

Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
Service string
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
Service string
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port Integer
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service String
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service string
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service str
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
port Number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
service String
The name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.

ServiceTemplateSpecContainerStartupProbeHttpGet
, ServiceTemplateSpecContainerStartupProbeHttpGetArgs

HttpHeaders List<ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeader>
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
Path string
Path to access on the HTTP server. If set, it should not be empty string.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
HttpHeaders []ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeader
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
Path string
Path to access on the HTTP server. If set, it should not be empty string.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
httpHeaders List<ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeader>
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path String
Path to access on the HTTP server. If set, it should not be empty string.
port Integer
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
httpHeaders ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeader[]
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path string
Path to access on the HTTP server. If set, it should not be empty string.
port number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
http_headers Sequence[ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeader]
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path str
Path to access on the HTTP server. If set, it should not be empty string.
port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
httpHeaders List<Property Map>
Custom headers to set in the request. HTTP allows repeated headers. Structure is documented below.
path String
Path to access on the HTTP server. If set, it should not be empty string.
port Number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.

ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeader
, ServiceTemplateSpecContainerStartupProbeHttpGetHttpHeaderArgs

Name This property is required. string
The header field name.
Value string
The header field value.
Name This property is required. string
The header field name.
Value string
The header field value.
name This property is required. String
The header field name.
value String
The header field value.
name This property is required. string
The header field name.
value string
The header field value.
name This property is required. str
The header field name.
value str
The header field value.
name This property is required. String
The header field name.
value String
The header field value.

ServiceTemplateSpecContainerStartupProbeTcpSocket
, ServiceTemplateSpecContainerStartupProbeTcpSocketArgs

Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
Port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
port Integer
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
port number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
port int
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.
port Number
Port number to access on the container. Number must be in the range 1 to 65535. If not specified, defaults to the same value as container.ports[0].containerPort.

ServiceTemplateSpecContainerVolumeMount
, ServiceTemplateSpecContainerVolumeMountArgs

MountPath This property is required. string
Path within the container at which the volume should be mounted. Must not contain ':'.
Name This property is required. string
This must match the Name of a Volume.
MountPath This property is required. string
Path within the container at which the volume should be mounted. Must not contain ':'.
Name This property is required. string
This must match the Name of a Volume.
mountPath This property is required. String
Path within the container at which the volume should be mounted. Must not contain ':'.
name This property is required. String
This must match the Name of a Volume.
mountPath This property is required. string
Path within the container at which the volume should be mounted. Must not contain ':'.
name This property is required. string
This must match the Name of a Volume.
mount_path This property is required. str
Path within the container at which the volume should be mounted. Must not contain ':'.
name This property is required. str
This must match the Name of a Volume.
mountPath This property is required. String
Path within the container at which the volume should be mounted. Must not contain ':'.
name This property is required. String
This must match the Name of a Volume.

ServiceTemplateSpecVolume
, ServiceTemplateSpecVolumeArgs

Name This property is required. string
Volume's name.
Csi ServiceTemplateSpecVolumeCsi
A filesystem specified by the Container Storage Interface (CSI). Structure is documented below.
EmptyDir ServiceTemplateSpecVolumeEmptyDir
Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs). Structure is documented below.
Nfs ServiceTemplateSpecVolumeNfs
A filesystem backed by a Network File System share. This filesystem requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2" Structure is documented below.
Secret ServiceTemplateSpecVolumeSecret
The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Structure is documented below.
Name This property is required. string
Volume's name.
Csi ServiceTemplateSpecVolumeCsi
A filesystem specified by the Container Storage Interface (CSI). Structure is documented below.
EmptyDir ServiceTemplateSpecVolumeEmptyDir
Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs). Structure is documented below.
Nfs ServiceTemplateSpecVolumeNfs
A filesystem backed by a Network File System share. This filesystem requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2" Structure is documented below.
Secret ServiceTemplateSpecVolumeSecret
The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Structure is documented below.
name This property is required. String
Volume's name.
csi ServiceTemplateSpecVolumeCsi
A filesystem specified by the Container Storage Interface (CSI). Structure is documented below.
emptyDir ServiceTemplateSpecVolumeEmptyDir
Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs). Structure is documented below.
nfs ServiceTemplateSpecVolumeNfs
A filesystem backed by a Network File System share. This filesystem requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2" Structure is documented below.
secret ServiceTemplateSpecVolumeSecret
The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Structure is documented below.
name This property is required. string
Volume's name.
csi ServiceTemplateSpecVolumeCsi
A filesystem specified by the Container Storage Interface (CSI). Structure is documented below.
emptyDir ServiceTemplateSpecVolumeEmptyDir
Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs). Structure is documented below.
nfs ServiceTemplateSpecVolumeNfs
A filesystem backed by a Network File System share. This filesystem requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2" Structure is documented below.
secret ServiceTemplateSpecVolumeSecret
The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Structure is documented below.
name This property is required. str
Volume's name.
csi ServiceTemplateSpecVolumeCsi
A filesystem specified by the Container Storage Interface (CSI). Structure is documented below.
empty_dir ServiceTemplateSpecVolumeEmptyDir
Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs). Structure is documented below.
nfs ServiceTemplateSpecVolumeNfs
A filesystem backed by a Network File System share. This filesystem requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2" Structure is documented below.
secret ServiceTemplateSpecVolumeSecret
The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Structure is documented below.
name This property is required. String
Volume's name.
csi Property Map
A filesystem specified by the Container Storage Interface (CSI). Structure is documented below.
emptyDir Property Map
Ephemeral storage which can be backed by real disks (HD, SSD), network storage or memory (i.e. tmpfs). For now only in memory (tmpfs) is supported. It is ephemeral in the sense that when the sandbox is taken down, the data is destroyed with it (it does not persist across sandbox runs). Structure is documented below.
nfs Property Map
A filesystem backed by a Network File System share. This filesystem requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2" Structure is documented below.
secret Property Map
The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Structure is documented below.

ServiceTemplateSpecVolumeCsi
, ServiceTemplateSpecVolumeCsiArgs

Driver This property is required. string
Unique name representing the type of file system to be created. Cloud Run supports the following values:

  • gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
ReadOnly bool
If true, all mounts created from this volume will be read-only.
VolumeAttributes Dictionary<string, string>
Driver-specific attributes. The following options are supported for available drivers:

  • gcsfuse.run.googleapis.com
  • bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
Driver This property is required. string
Unique name representing the type of file system to be created. Cloud Run supports the following values:

  • gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
ReadOnly bool
If true, all mounts created from this volume will be read-only.
VolumeAttributes map[string]string
Driver-specific attributes. The following options are supported for available drivers:

  • gcsfuse.run.googleapis.com
  • bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
driver This property is required. String
Unique name representing the type of file system to be created. Cloud Run supports the following values:

  • gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
readOnly Boolean
If true, all mounts created from this volume will be read-only.
volumeAttributes Map<String,String>
Driver-specific attributes. The following options are supported for available drivers:

  • gcsfuse.run.googleapis.com
  • bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
driver This property is required. string
Unique name representing the type of file system to be created. Cloud Run supports the following values:

  • gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
readOnly boolean
If true, all mounts created from this volume will be read-only.
volumeAttributes {[key: string]: string}
Driver-specific attributes. The following options are supported for available drivers:

  • gcsfuse.run.googleapis.com
  • bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
driver This property is required. str
Unique name representing the type of file system to be created. Cloud Run supports the following values:

  • gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
read_only bool
If true, all mounts created from this volume will be read-only.
volume_attributes Mapping[str, str]
Driver-specific attributes. The following options are supported for available drivers:

  • gcsfuse.run.googleapis.com
  • bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.
driver This property is required. String
Unique name representing the type of file system to be created. Cloud Run supports the following values:

  • gcsfuse.run.googleapis.com: Mount a Google Cloud Storage bucket using GCSFuse. This driver requires the run.googleapis.com/execution-environment annotation to be unset or set to "gen2"
readOnly Boolean
If true, all mounts created from this volume will be read-only.
volumeAttributes Map<String>
Driver-specific attributes. The following options are supported for available drivers:

  • gcsfuse.run.googleapis.com
  • bucketName: The name of the Cloud Storage Bucket that backs this volume. The Cloud Run Service identity must have access to this bucket.

ServiceTemplateSpecVolumeEmptyDir
, ServiceTemplateSpecVolumeEmptyDirArgs

Medium string
The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
SizeLimit string
Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
Medium string
The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
SizeLimit string
Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
medium String
The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
sizeLimit String
Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
medium string
The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
sizeLimit string
Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
medium str
The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
size_limit str
Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
medium String
The medium on which the data is stored. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory.
sizeLimit String
Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.

ServiceTemplateSpecVolumeNfs
, ServiceTemplateSpecVolumeNfsArgs

Path This property is required. string
Path exported by the NFS server
Server This property is required. string
IP address or hostname of the NFS server
ReadOnly bool
If true, mount the NFS volume as read only in all mounts. Defaults to false.


Path This property is required. string
Path exported by the NFS server
Server This property is required. string
IP address or hostname of the NFS server
ReadOnly bool
If true, mount the NFS volume as read only in all mounts. Defaults to false.


path This property is required. String
Path exported by the NFS server
server This property is required. String
IP address or hostname of the NFS server
readOnly Boolean
If true, mount the NFS volume as read only in all mounts. Defaults to false.


path This property is required. string
Path exported by the NFS server
server This property is required. string
IP address or hostname of the NFS server
readOnly boolean
If true, mount the NFS volume as read only in all mounts. Defaults to false.


path This property is required. str
Path exported by the NFS server
server This property is required. str
IP address or hostname of the NFS server
read_only bool
If true, mount the NFS volume as read only in all mounts. Defaults to false.


path This property is required. String
Path exported by the NFS server
server This property is required. String
IP address or hostname of the NFS server
readOnly Boolean
If true, mount the NFS volume as read only in all mounts. Defaults to false.


ServiceTemplateSpecVolumeSecret
, ServiceTemplateSpecVolumeSecretArgs

SecretName This property is required. string
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
DefaultMode int
Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
Items List<ServiceTemplateSpecVolumeSecretItem>
If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Structure is documented below.
SecretName This property is required. string
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
DefaultMode int
Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
Items []ServiceTemplateSpecVolumeSecretItem
If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Structure is documented below.
secretName This property is required. String
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
defaultMode Integer
Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items List<ServiceTemplateSpecVolumeSecretItem>
If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Structure is documented below.
secretName This property is required. string
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
defaultMode number
Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items ServiceTemplateSpecVolumeSecretItem[]
If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Structure is documented below.
secret_name This property is required. str
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
default_mode int
Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items Sequence[ServiceTemplateSpecVolumeSecretItem]
If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Structure is documented below.
secretName This property is required. String
The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: {alias}:projects/{project-id|project-number}/secrets/{secret-name}. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation.
defaultMode Number
Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items List<Property Map>
If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Structure is documented below.

ServiceTemplateSpecVolumeSecretItem
, ServiceTemplateSpecVolumeSecretItemArgs

Key This property is required. string
The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
Path This property is required. string
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
Mode int
Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
Key This property is required. string
The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
Path This property is required. string
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
Mode int
Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
key This property is required. String
The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
path This property is required. String
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
mode Integer
Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
key This property is required. string
The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
path This property is required. string
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
mode number
Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
key This property is required. str
The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
path This property is required. str
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
mode int
Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
key This property is required. String
The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
path This property is required. String
The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
mode Number
Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

ServiceTraffic
, ServiceTrafficArgs

Percent This property is required. int
Percent specifies percent of the traffic to this Revision or Configuration.
LatestRevision bool
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
RevisionName string
RevisionName of a specific revision to which to send this portion of traffic.
Tag string
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
Url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
Percent This property is required. int
Percent specifies percent of the traffic to this Revision or Configuration.
LatestRevision bool
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
RevisionName string
RevisionName of a specific revision to which to send this portion of traffic.
Tag string
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
Url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
percent This property is required. Integer
Percent specifies percent of the traffic to this Revision or Configuration.
latestRevision Boolean
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
revisionName String
RevisionName of a specific revision to which to send this portion of traffic.
tag String
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url String
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
percent This property is required. number
Percent specifies percent of the traffic to this Revision or Configuration.
latestRevision boolean
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
revisionName string
RevisionName of a specific revision to which to send this portion of traffic.
tag string
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url string
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
percent This property is required. int
Percent specifies percent of the traffic to this Revision or Configuration.
latest_revision bool
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
revision_name str
RevisionName of a specific revision to which to send this portion of traffic.
tag str
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url str
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)
percent This property is required. Number
Percent specifies percent of the traffic to this Revision or Configuration.
latestRevision Boolean
LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.
revisionName String
RevisionName of a specific revision to which to send this portion of traffic.
tag String
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
url String
(Output) URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)

Import

Service can be imported using any of these accepted formats:

  • locations/{{location}}/namespaces/{{project}}/services/{{name}}

  • {{location}}/{{project}}/{{name}}

  • {{location}}/{{name}}

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

$ pulumi import gcp:cloudrun/service:Service default locations/{{location}}/namespaces/{{project}}/services/{{name}}
Copy
$ pulumi import gcp:cloudrun/service:Service default {{location}}/{{project}}/{{name}}
Copy
$ pulumi import gcp:cloudrun/service:Service default {{location}}/{{name}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.