A Cloud Run service has a unique endpoint and autoscales containers.
To get more information about Service, see:
resource "google_cloud_run_service" "default" {
name = "cloudrun-srv"
location = "us-central1"
template {
spec {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
}
}
traffic {
percent = 100
latest_revision = true
}
}
resource "google_cloud_run_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" = google_sql_database_instance.instance.connection_name
"run.googleapis.com/client-name" = "terraform"
}
}
}
autogenerate_revision_name = true
}
resource "google_sql_database_instance" "instance" {
name = "cloudrun-sql"
region = "us-east1"
database_version = "MYSQL_5_7"
settings {
tier = "db-f1-micro"
}
deletion_protection = "true"
}
resource "google_cloud_run_service" "default" {
name = "cloudrun-srv"
location = "us-central1"
template {
spec {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
}
}
}
data "google_iam_policy" "noauth" {
binding {
role = "roles/run.invoker"
members = [
"allUsers",
]
}
}
resource "google_cloud_run_service_iam_policy" "noauth" {
location = google_cloud_run_service.default.location
project = google_cloud_run_service.default.project
service = google_cloud_run_service.default.name
policy_data = data.google_iam_policy.noauth.policy_data
}
resource "google_cloud_run_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 = "/"
}
}
}
}
}
traffic {
percent = 100
latest_revision = true
}
lifecycle {
ignore_changes = [
metadata.0.annotations,
]
}
}
resource "google_cloud_run_service" "default" {
name = "cloudrun-srv"
location = "us-central1"
provider = google-beta
metadata {
annotations = {
"run.googleapis.com/launch-stage" = "BETA"
}
}
template {
metadata {
annotations = {
"run.googleapis.com/container-dependencies" = jsonencode({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"
}
}
containers {
name = "hello-2"
image = "us-docker.pkg.dev/cloudrun/container/hello"
env {
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"
}
}
}
}
lifecycle {
ignore_changes = [
metadata[0].annotations["run.googleapis.com/launch-stage"],
]
}
}
The following arguments are supported:
name
-
(Required)
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
location
-
(Required)
The location of the cloud run instance. eg us-central1
revision_name
-
(Optional)
RevisionName of a specific revision to which to send this portion of traffic.
percent
-
(Required)
Percent specifies percent of the traffic to this Revision or Configuration.
tag
-
(Optional)
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
latest_revision
-
(Optional)
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.
url
-
(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.)
metadata
-
(Optional)
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
-
(Required)
RevisionSpec holds the desired state of the Revision (from the client).
Structure is documented below.
labels
-
(Optional)
Map of string keys and values that can be used to organize and categorize
(scope and select) objects.
generation
-
(Output)
A sequence number representing a specific generation of the desired state.
resource_version
-
(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
-
(Output)
SelfLink is a URL representing this object.
uid
-
(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.
namespace
-
(Optional)
In Cloud Run the namespace must be equal to either the
project ID or project number. It will default to the resource's project.
annotations
-
(Optional)
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 terraform 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 Revision template:
autoscaling.knative.dev/maxScale
sets the maximum number of container
instances of the Revision to run.autoscaling.knative.dev/minScale
sets the minimum number of container
instances of the Revision to run.run.googleapis.com/client-name
sets the client name calling the Cloud Run API.run.googleapis.com/cloudsql-instances
sets the Cloud SQL
instances the Revision connects to.run.googleapis.com/cpu-throttling
sets whether to throttle the CPU when the container is not actively serving
requests. See https://cloud.google.com/sdk/gcloud/reference/run/deploy#--[no-]cpu-throttling.run.googleapis.com/encryption-key-shutdown-hours
sets the number of hours to wait before an automatic shutdown
server after CMEK key revocation is detected.run.googleapis.com/encryption-key
sets the CMEK key
reference to encrypt the container with.run.googleapis.com/execution-environment
sets the execution
environment
where the application will run.run.googleapis.com/post-key-revocation-action-type
sets the
action type
after CMEK key revocation.run.googleapis.com/secrets
sets a list of key-value pairs to set as
secrets.run.googleapis.com/sessionAffinity
sets whether to enable
session affinity
for connections to the Revision.run.googleapis.com/startup-cpu-boost
sets whether to allocate extra CPU to containers on startup.
See https://cloud.google.com/sdk/gcloud/reference/run/deploy#--[no-]cpu-boost.run.googleapis.com/vpc-access-connector
sets a VPC connector
for the Revision.run.googleapis.com/vpc-access-egress
sets the outbound traffic to send through the VPC connector for this resource.
See https://cloud.google.com/sdk/gcloud/reference/run/deploy#--vpc-egress.name
-
(Optional)
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.
containers
-
(Required)
Containers defines the unit of execution for this Revision.
Structure is documented below.
container_concurrency
-
(Optional)
ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
requests per container of the Revision. Values are:
0
thread-safe, the system should manage the max concurrency. This is
the default value.1
not-thread-safe. Single concurrency2-N
thread-safe, max concurrency of Ntimeout_seconds
-
(Optional)
TimeoutSeconds holds the max duration the instance is allowed for responding to a request.
service_account_name
-
(Optional)
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.
volumes
-
(Optional)
Volume represents a named volume in a container.
Structure is documented below.
serving_state
-
(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.
The containers
block supports:
name
-
(Optional)
Name of the container
working_dir
-
(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.
args
-
(Optional)
Arguments to the entrypoint.
The docker image's CMD is used if this is not provided.
env_from
-
(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.
image
-
(Required)
Docker image name. This is most often a reference to a container located
in the container registry, such as gcr.io/cloudrun/hello
command
-
(Optional)
Entrypoint array. Not executed within a shell.
The docker image's ENTRYPOINT is used if this is not provided.
env
-
(Optional)
List of environment variables to set in the container.
Structure is documented below.
ports
-
(Optional)
List of open ports in the container.
Structure is documented below.
resources
-
(Optional)
Compute Resources required by this container. Used to set values such as max memory
Structure is documented below.
volume_mounts
-
(Optional)
Volume to mount into the container's filesystem.
Only supports SecretVolumeSources.
Structure is documented below.
startup_probe
-
(Optional)
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.
liveness_probe
-
(Optional)
Periodic probe of container liveness. Container will be restarted if the probe fails.
Structure is documented below.
prefix
-
(Optional)
An optional identifier to prepend to each key in the ConfigMap.
config_map_ref
-
(Optional)
The ConfigMap to select from.
Structure is documented below.
secret_ref
-
(Optional)
The Secret to select from.
Structure is documented below.
The config_map_ref
block supports:
optional
-
(Optional)
Specify whether the ConfigMap must be defined
local_object_reference
-
(Optional)
The ConfigMap to select from.
Structure is documented below.
The local_object_reference
block supports:
name
-
(Required)
Name of the referent.The secret_ref
block supports:
local_object_reference
-
(Optional)
The Secret to select from.
Structure is documented below.
optional
-
(Optional)
Specify whether the Secret must be defined
The local_object_reference
block supports:
name
-
(Required)
Name of the referent.name
-
(Optional)
Name of the environment variable.
value
-
(Optional)
Defaults to "".
value_from
-
(Optional)
Source for the environment variable's value. Only supports secret_key_ref.
Structure is documented below.
The value_from
block supports:
secret_key_ref
-
(Required)
Selects a key (version) of a secret in Secret Manager.
Structure is documented below.The secret_key_ref
block supports:
key
-
(Required)
A Cloud Secret Manager secret version. Must be 'latest' for the latest
version or an integer for a specific version.
name
-
(Required)
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: :projects/{project-id|project-number}/secrets/.
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.
name
-
(Optional)
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
-
(Optional)
Protocol for port. Must be "TCP". Defaults to "TCP".
container_port
-
(Optional)
Port number the container listens on. This must be a valid port number (between 1 and 65535). Defaults to "8080".
limits
-
(Optional)
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
-
(Optional)
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
The volume_mounts
block supports:
mount_path
-
(Required)
Path within the container at which the volume should be mounted. Must
not contain ':'.
name
-
(Required)
This must match the Name of a Volume.
The startup_probe
block supports:
initial_delay_seconds
-
(Optional)
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.
timeout_seconds
-
(Optional)
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.
period_seconds
-
(Optional)
How often (in seconds) to perform the probe.
Default to 10 seconds. Minimum value is 1. Maximum value is 240.
failure_threshold
-
(Optional)
Minimum consecutive failures for the probe to be considered failed after
having succeeded. Defaults to 3. Minimum value is 1.
tcp_socket
-
(Optional)
TcpSocket specifies an action involving a TCP port.
Structure is documented below.
http_get
-
(Optional)
HttpGet specifies the http request to perform.
Structure is documented below.
grpc
-
(Optional)
GRPC specifies an action involving a GRPC port.
Structure is documented below.
The tcp_socket
block supports:
port
-
(Optional)
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.path
-
(Optional)
Path to access on the HTTP server. If set, it should not be empty string.
port
-
(Optional)
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
-
(Optional)
Custom headers to set in the request. HTTP allows repeated headers.
Structure is documented below.
The http_headers
block supports:
name
-
(Required)
The header field name.
value
-
(Optional)
The header field value.
port
-
(Optional)
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
-
(Optional)
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.
The liveness_probe
block supports:
initial_delay_seconds
-
(Optional)
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.
timeout_seconds
-
(Optional)
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.
period_seconds
-
(Optional)
How often (in seconds) to perform the probe.
Default to 10 seconds. Minimum value is 1. Maximum value is 3600.
failure_threshold
-
(Optional)
Minimum consecutive failures for the probe to be considered failed after
having succeeded. Defaults to 3. Minimum value is 1.
http_get
-
(Optional)
HttpGet specifies the http request to perform.
Structure is documented below.
grpc
-
(Optional)
GRPC specifies an action involving a GRPC port.
Structure is documented below.
path
-
(Optional)
Path to access on the HTTP server. If set, it should not be empty string.
port
-
(Optional)
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
-
(Optional)
Custom headers to set in the request. HTTP allows repeated headers.
Structure is documented below.
The http_headers
block supports:
name
-
(Required)
The header field name.
value
-
(Optional)
The header field value.
port
-
(Optional)
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
-
(Optional)
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.
name
-
(Required)
Volume's name.
secret
-
(Optional)
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.
empty_dir
-
(Optional, Beta)
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.
csi
-
(Optional, Beta)
A filesystem specified by the Container Storage Interface (CSI).
Structure is documented below.
secret_name
-
(Required)
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
-
(Optional)
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
-
(Optional)
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.
key
-
(Required)
The Cloud Secret Manager secret version.
Can be 'latest' for the latest value or an integer for a specific version.
path
-
(Required)
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
-
(Optional)
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.
medium
-
(Optional)
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
-
(Optional)
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.
driver
-
(Required)
Unique name representing the type of file system to be created. Cloud Run supports the following values:
read_only
-
(Optional)
If true, all mounts created from this volume will be read-only.
volume_attributes
-
(Optional)
Driver-specific attributes. The following options are supported for available drivers:
traffic
-
(Optional)
Traffic specifies how to distribute traffic over a collection of Knative Revisions
and Configurations
Structure is documented below.
template
-
(Optional)
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.
Structure is documented below.
metadata
-
(Optional)
Metadata associated with this Service, including name, namespace, labels,
and annotations.
Structure is documented below.
project
- (Optional) The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
autogenerate_revision_name
- (Optional) 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.)
labels
-
(Optional)
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.
generation
-
(Output)
A sequence number representing a specific generation of the desired state.
resource_version
-
(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
-
(Output)
SelfLink is a URL representing this object.
uid
-
(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.
namespace
-
(Optional)
In Cloud Run the namespace must be equal to either the
project ID or project number.
annotations
-
(Optional)
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 terraform 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.terraform_labels
-
(Output)
The combination of labels configured directly on the resource
and default labels configured on the provider.
effective_labels
-
(Output)
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services.
effective_annotations
-
(Output)
All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format locations/{{location}}/namespaces/{{project}}/services/{{name}}
status
-
The current status of the Service.
Structure is documented below.
conditions
-
(Output)
Array of observed Service Conditions, indicating the current ready state of the service.
Structure is documented below.
url
-
(Output)
From RouteStatus. URL holds the url that will distribute traffic over the provided traffic
targets. It generally has the form
https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app
observed_generation
-
(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.
latest_created_revision_name
-
(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
-
(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".
traffic
-
(Output)
Traffic specifies how to distribute traffic over a collection of Knative Revisions
and Configurations
Structure is documented below.
The conditions
block contains:
message
-
(Output)
Human readable message indicating details about the current status.
status
-
(Output)
Status of the condition, one of True, False, Unknown.
reason
-
(Output)
One-word CamelCase reason for the condition's current status.
type
-
(Output)
Type of domain mapping condition.
revision_name
-
(Output)
RevisionName of a specific revision to which to send this portion of traffic.
percent
-
(Output)
Percent specifies percent of the traffic to this Revision or Configuration.
tag
-
(Output)
Tag is optionally used to expose a dedicated url for referencing this target exclusively.
latest_revision
-
(Output)
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.
url
-
(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.)
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Service can be imported using any of these accepted formats:
locations/{{location}}/namespaces/{{project}}/services/{{name}}
{{location}}/{{project}}/{{name}}
{{location}}/{{name}}
In Terraform v1.5.0 and later, use an import
block to import Service using one of the formats above. For example:
import {
id = "locations/{{location}}/namespaces/{{project}}/services/{{name}}"
to = google_cloud_run_service.default
}
When using the terraform import
command, Service can be imported using one of the formats above. For example:
$ terraform import google_cloud_run_service.default locations/{{location}}/namespaces/{{project}}/services/{{name}}
$ terraform import google_cloud_run_service.default {{location}}/{{project}}/{{name}}
$ terraform import google_cloud_run_service.default {{location}}/{{name}}
This resource supports User Project Overrides.