REST Resource: projects.configs.variables

Resource: Variable

Describes a single variable within a RuntimeConfig resource. The name denotes the hierarchical variable name. For example, ports/serving_port is a valid variable name. The variable value is an opaque string and only leaf variables can have values (that is, variables that do not have any child variables).

JSON representation
  "name": string,
  "updateTime": string,
  "state": enum(VariableState),

  // Union field contents can be only one of the following:
  "value": string,
  "text": string
  // End of list of possible types for union field contents.


The name of the variable resource, in the format:


The [PROJECT_ID] must be a valid project ID, [CONFIG_NAME] must be a valid RuntimeConfig resource and [VARIABLE_NAME] follows Unix file system file path naming.

The [VARIABLE_NAME] can contain ASCII letters, numbers, slashes and dashes. Slashes are used as path element separators and are not part of the [VARIABLE_NAME] itself, so [VARIABLE_NAME] must contain at least one non-slash character. Multiple slashes are coalesced into single slash character. Each path segment should match 0-9A-Za-z? regular expression. The length of a [VARIABLE_NAME] must be less than 256 characters.

Once you create a variable, you cannot change the variable name.


string (Timestamp format)

Output only. The time of the last variable update. Timestamp will be UTC timestamp.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".



Output only. The current state of the variable. The variable state indicates the outcome of the variables().watch call and is visible through the get and list calls.

Union field contents. The value of the variable. It can be either a binary or a string value. You must specify one of either value or text. Specifying both will cause the server to return an error. contents can be only one of the following:

string (bytes format)

The binary value of the variable. The length of the value must be less than 4096 bytes. Empty values are also accepted. The value must be base64 encoded, and must comply with IETF RFC4648 ( Only one of value or text can be set.

A base64-encoded string.



The string value of the variable. The length of the value must be less than 4096 bytes. Empty values are also accepted. For example, text: "my text value". The string must be valid UTF-8.


The VariableState describes the last known state of the variable and is used during a variables().watch call to distinguish the state of the variable.

VARIABLE_STATE_UNSPECIFIED Default variable state.
UPDATED The variable was updated, while variables().watch was executing.
DELETED The variable was deleted, while variables().watch was executing.



Creates a variable within the given configuration.


Deletes a variable or multiple variables.


Gets information about a single variable.


Lists variables within given a configuration, matching any provided filters.


Returns permissions that a caller has on the specified resource.


Updates an existing variable with a new value.


Watches a specific variable and waits for a change in the variable's value.