Volume

Volume represents a named volume in a container.

JSON representation
{
  "name": string,

  // Union field volume_type can be only one of the following:
  "secret": {
    object (SecretVolumeSource)
  },
  "cloudSqlInstance": {
    object (CloudSqlInstance)
  },
  "emptyDir": {
    object (EmptyDirVolumeSource)
  },
  "nfs": {
    object (NFSVolumeSource)
  },
  "gcs": {
    object (GCSVolumeSource)
  }
  // End of list of possible types for union field volume_type.
}
Fields
name

string

Required. Volume's name.

Union field volume_type.

volume_type can be only one of the following:

secret

object (SecretVolumeSource)

Secret represents a secret that should populate this volume.

cloudSqlInstance

object (CloudSqlInstance)

For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.

emptyDir

object (EmptyDirVolumeSource)

Ephemeral storage used as a shared volume.

nfs

object (NFSVolumeSource)

For NFS Voumes, contains the path to the nfs Volume

gcs

object (GCSVolumeSource)

Persistent storage backed by a Google Cloud Storage bucket.

SecretVolumeSource

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.

JSON representation
{
  "secret": string,
  "items": [
    {
      object (VersionToPath)
    }
  ],
  "defaultMode": integer
}
Fields
secret

string

Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.

items[]

object (VersionToPath)

If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. 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 path and a version.

defaultMode

integer

Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting.

Notes

  • Internally, a umask of 0222 will be applied to any non-zero value.
  • This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10).
  • This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.

VersionToPath

VersionToPath maps a specific version of a secret to a relative file to mount to, relative to VolumeMount's mountPath.

JSON representation
{
  "path": string,
  "version": string,
  "mode": integer
}
Fields
path

string

Required. The relative path of the secret in the container.

version

string

The Cloud Secret Manager secret version. Can be 'latest' for the latest value, or an integer or a secret alias for a specific version.

mode

integer

Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used.

Notes

  • Internally, a umask of 0222 will be applied to any non-zero value.
  • This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10).
  • This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

CloudSqlInstance

Represents a set of Cloud SQL instances. Each one will be available under /cloudsql/[instance]. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.

JSON representation
{
  "instances": [
    string
  ]
}
Fields
instances[]

string

The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}

EmptyDirVolumeSource

In memory (tmpfs) ephemeral storage. 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).

JSON representation
{
  "medium": enum (Medium),
  "sizeLimit": string
}
Fields
medium

enum (Medium)

The medium on which the data is stored. Acceptable values today is only MEMORY or none. When none, the default will currently be backed by memory but could change over time. +optional

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. The default is nil which means that the limit is undefined. More info: https://cloud.google.com/run/docs/configuring/in-memory-volumes#configure-volume. Info in Kubernetes: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

Medium

The different types of medium supported for EmptyDir.

Enums
MEDIUM_UNSPECIFIED When not specified, falls back to the default implementation which is currently in memory (this may change over time).
MEMORY Explicitly set the EmptyDir to be in memory. Uses tmpfs.

NFSVolumeSource

Represents an NFS mount.

JSON representation
{
  "server": string,
  "path": string,
  "readOnly": boolean
}
Fields
server

string

Hostname or IP address of the NFS server

path

string

Path that is exported by the NFS server.

readOnly

boolean

If true, the volume will be mounted as read only for all mounts.

GCSVolumeSource

Represents a volume backed by a Cloud Storage bucket using Cloud Storage FUSE.

JSON representation
{
  "bucket": string,
  "readOnly": boolean
}
Fields
bucket

string

Cloud Storage Bucket name.

readOnly

boolean

If true, the volume will be mounted as read only for all mounts.