Cloud Runtime Configuration API . projects . configs . variables

Instance Methods

create(parent=None, body=None, requestId=None, x__xgafv=None)

Creates a variable within the given configuration. You cannot create

delete(name=None, recursive=None, x__xgafv=None)

Deletes a variable or multiple variables.

get(name=None, x__xgafv=None)

Gets information about a single variable.

list(parent=None, pageSize=None, returnValues=None, x__xgafv=None, pageToken=None, filter=None)

Lists variables within given a configuration, matching any provided

list_next(previous_request=*, previous_response=*)

Retrieves the next page of results.

testIamPermissions(resource=None, body=None, x__xgafv=None)

Returns permissions that a caller has on the specified resource.

update(name=None, body=None, x__xgafv=None)

Updates an existing variable with a new value.

watch(name=None, body=None, x__xgafv=None)

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

Method Details

create(parent=None, body=None, requestId=None, x__xgafv=None)
Creates a variable within the given configuration. You cannot create
a variable with a name that is a prefix of an existing variable name, or a
name that has an existing variable name as a prefix.

To learn more about creating a variable, read the
[Setting and Getting
Data](/deployment-manager/runtime-configurator/set-and-get-variables)
documentation.

Args:
  parent: string, The path to the RutimeConfig resource that this variable should belong to.
The configuration must exist beforehand; the path must be in the format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]` (required)
  body: object, The request body.
    The object takes the form of:

{ # 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).
  "text": "A 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.
  "updateTime": "A String", # Output only. The time of the last variable update.
      # Timestamp will be UTC timestamp.
  "name": "A String", # The name of the variable resource, in the format:
      # 
      #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
      # 
      # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
  "value": "A String", # 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
      # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
      # can be set.
  "state": "A String", # 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.
}

  requestId: string, An optional but recommended unique `request_id`. If the server
receives two `create()` requests  with the same
`request_id`, then the second request will be ignored and the
first resource created and stored in the backend is returned.
Empty `request_id` fields are ignored.

It is responsibility of the client to ensure uniqueness of the
`request_id` strings.

`request_id` strings are limited to 64 characters.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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).
    "text": "A 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.
    "updateTime": "A String", # Output only. The time of the last variable update.
        # Timestamp will be UTC timestamp.
    "name": "A String", # The name of the variable resource, in the format:
        #
        #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
        #
        # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
    "value": "A String", # 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
        # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
        # can be set.
    "state": "A String", # 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.
  }
delete(name=None, recursive=None, x__xgafv=None)
Deletes a variable or multiple variables.

If you specify a variable name, then that variable is deleted. If you
specify a prefix and `recursive` is true, then all variables with that
prefix are deleted. You must set a `recursive` to true if you delete
variables by prefix.

Args:
  name: string, The name of the variable to delete, in the format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` (required)
  recursive: boolean, Set to `true` to recursively delete multiple variables with the same
prefix.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
get(name=None, x__xgafv=None)
Gets information about a single variable.

Args:
  name: string, The name of the variable to return, in the format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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).
    "text": "A 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.
    "updateTime": "A String", # Output only. The time of the last variable update.
        # Timestamp will be UTC timestamp.
    "name": "A String", # The name of the variable resource, in the format:
        #
        #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
        #
        # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
    "value": "A String", # 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
        # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
        # can be set.
    "state": "A String", # 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.
  }
list(parent=None, pageSize=None, returnValues=None, x__xgafv=None, pageToken=None, filter=None)
Lists variables within given a configuration, matching any provided
filters. This only lists variable names, not the values, unless
`return_values` is true, in which case only variables that user has IAM
permission to GetVariable will be returned.

Args:
  parent: string, The path to the RuntimeConfig resource for which you want to list
variables. The configuration must exist beforehand; the path must be in the
format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]` (required)
  pageSize: integer, Specifies the number of results to return per page. If there are fewer
elements than the specified number, returns all elements.
  returnValues: boolean, The flag indicates whether the user wants to return values of variables.
If true, then only those variables that user has IAM GetVariable permission
will be returned along with their values.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  pageToken: string, Specifies a page token to use. Set `pageToken` to a `nextPageToken`
returned by a previous list request to get the next page of results.
  filter: string, Filters variables by matching the specified filter. For example:

`projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.

Returns:
  An object of the form:

    { # Response for the `ListVariables()` method.
    "nextPageToken": "A String", # This token allows you to get the next page of results for list requests.
        # If the number of results is larger than `pageSize`, use the `nextPageToken`
        # as a value for the query parameter `pageToken` in the next list request.
        # Subsequent list requests will have their own `nextPageToken` to continue
        # paging through the results
    "variables": [ # A list of variables and their values. The order of returned variable
        # objects is arbitrary.
      { # 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).
        "text": "A 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.
        "updateTime": "A String", # Output only. The time of the last variable update.
            # Timestamp will be UTC timestamp.
        "name": "A String", # The name of the variable resource, in the format:
            #
            #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
            #
            # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
        "value": "A String", # 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
            # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
            # can be set.
        "state": "A String", # 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.
      },
    ],
  }
list_next(previous_request=*, previous_response=*)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
testIamPermissions(resource=None, body=None, x__xgafv=None)
Returns permissions that a caller has on the specified resource.
If the resource does not exist, this will return an empty set of
permissions, not a `NOT_FOUND` error.

Note: This operation is designed to be used for building permission-aware
UIs and command-line tools, not for authorization checking. This operation
may "fail open" without warning.

Args:
  resource: string, REQUIRED: The resource for which the policy detail is being requested.
See the operation documentation for the appropriate value for this field. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for `TestIamPermissions` method.
    "permissions": [ # The set of permissions to check for the `resource`. Permissions with
        # wildcards (such as '*' or 'storage.*') are not allowed. For more
        # information see
        # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
      "A String",
    ],
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for `TestIamPermissions` method.
    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
        # allowed.
      "A String",
    ],
  }
update(name=None, body=None, x__xgafv=None)
Updates an existing variable with a new value.

Args:
  name: string, The name of the variable to update, in the format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` (required)
  body: object, The request body.
    The object takes the form of:

{ # 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).
  "text": "A 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.
  "updateTime": "A String", # Output only. The time of the last variable update.
      # Timestamp will be UTC timestamp.
  "name": "A String", # The name of the variable resource, in the format:
      # 
      #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
      # 
      # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
  "value": "A String", # 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
      # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
      # can be set.
  "state": "A String", # 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.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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).
    "text": "A 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.
    "updateTime": "A String", # Output only. The time of the last variable update.
        # Timestamp will be UTC timestamp.
    "name": "A String", # The name of the variable resource, in the format:
        #
        #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
        #
        # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
    "value": "A String", # 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
        # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
        # can be set.
    "state": "A String", # 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.
  }
watch(name=None, body=None, x__xgafv=None)
Watches a specific variable and waits for a change in the variable's value.
When there is a change, this method returns the new value or times out.

If a variable is deleted while being watched, the `variableState` state is
set to `DELETED` and the method returns the last known variable `value`.

If you set the deadline for watching to a larger value than internal
timeout (60 seconds), the current variable value is returned and the
`variableState` will be `VARIABLE_STATE_UNSPECIFIED`.

To learn more about creating a watcher, read the
[Watching a Variable for
Changes](/deployment-manager/runtime-configurator/watching-a-variable)
documentation.

Args:
  name: string, The name of the variable to watch, in the format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]` (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for the `WatchVariable()` method.
    "newerThan": "A String", # If specified, checks the current timestamp of the variable and if the
        # current timestamp is newer than `newerThan` timestamp, the method returns
        # immediately.
        # 
        # If not specified or the variable has an older timestamp, the watcher waits
        # for a the value to change before returning.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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).
    "text": "A 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.
    "updateTime": "A String", # Output only. The time of the last variable update.
        # Timestamp will be UTC timestamp.
    "name": "A String", # The name of the variable resource, in the format:
        #
        #     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
        #
        # 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](?:[_.A-Za-z0-9-]{0,62}[_.A-Za-z0-9])? 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.
    "value": "A String", # 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
        # (https://www.ietf.org/rfc/rfc4648.txt). Only one of `value` or `text`
        # can be set.
    "state": "A String", # 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.
  }