Google Cloud RuntimeConfig API . projects . configs . variables

Instance Methods

create(parent=None, body, 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, filter=None, pageToken=None, x__xgafv=None)

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

list_next(previous_request, previous_response)

Retrieves the next page of results.

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

Updates an existing variable with a new value.

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

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

Method Details

create(parent=None, body, 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 by in the format:

`projects/[PROJECT_ID]/configs/[CONFIG_NAME]` (required)
  body: object, The request body. (required)
    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 textual value of the variable. The length of the value must be less
      # than 4096 bytes. Empty values are also accepted.
      # NB: Only one of value and string_value can be set at the same time.
  "updateTime": "A String", # [Output Only] The time of the last variable update.
  "state": "A String", # [Ouput 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.
  "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.
      # NB: Only one of value and string_value can be set at the same time.
  "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 reource 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 follow RFC 1035 segment specification.
      # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
      # 
      # Once you create a variable, you cannot change the variable name.
}

  requestId: string, An optional unique request_id. If server receives two Create requests with
the same request_id then second request will be ignored and the resource
stored in the backend will be returned. Empty request_id fields are
ignored.
It is responsibility of the client to ensure uniqueness of the request_id
strings.
The 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 textual value of the variable. The length of the value must be less
        # than 4096 bytes. Empty values are also accepted.
        # NB: Only one of value and string_value can be set at the same time.
    "updateTime": "A String", # [Output Only] The time of the last variable update.
    "state": "A String", # [Ouput 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.
    "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.
        # NB: Only one of value and string_value can be set at the same time.
    "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 reource 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 follow RFC 1035 segment specification.
        # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
        #
        # Once you create a variable, you cannot change the variable name.
  }
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 textual value of the variable. The length of the value must be less
        # than 4096 bytes. Empty values are also accepted.
        # NB: Only one of value and string_value can be set at the same time.
    "updateTime": "A String", # [Output Only] The time of the last variable update.
    "state": "A String", # [Ouput 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.
    "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.
        # NB: Only one of value and string_value can be set at the same time.
    "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 reource 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 follow RFC 1035 segment specification.
        # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
        #
        # Once you create a variable, you cannot change the variable name.
  }
list(parent=None, pageSize=None, filter=None, pageToken=None, x__xgafv=None)
Lists variables within given a configuration, matching any provided filters.
This only lists variable names, not the values.

Args:
  parent: string, The path to the RuntimeConfig resource for which you want to list variables.
The configuration must exist beforehand; the path must by 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.
  filter: string, Filters variables by matching the specified filter. For example:

`projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.
  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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

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 textual value of the variable. The length of the value must be less
            # than 4096 bytes. Empty values are also accepted.
            # NB: Only one of value and string_value can be set at the same time.
        "updateTime": "A String", # [Output Only] The time of the last variable update.
        "state": "A String", # [Ouput 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.
        "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.
            # NB: Only one of value and string_value can be set at the same time.
        "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 reource 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 follow RFC 1035 segment specification.
            # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
            #
            # Once you create a variable, you cannot change the variable name.
      },
    ],
  }
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.
    
update(name=None, body, 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. (required)
    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 textual value of the variable. The length of the value must be less
      # than 4096 bytes. Empty values are also accepted.
      # NB: Only one of value and string_value can be set at the same time.
  "updateTime": "A String", # [Output Only] The time of the last variable update.
  "state": "A String", # [Ouput 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.
  "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.
      # NB: Only one of value and string_value can be set at the same time.
  "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 reource 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 follow RFC 1035 segment specification.
      # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
      # 
      # Once you create a variable, you cannot change the variable name.
}

  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 textual value of the variable. The length of the value must be less
        # than 4096 bytes. Empty values are also accepted.
        # NB: Only one of value and string_value can be set at the same time.
    "updateTime": "A String", # [Output Only] The time of the last variable update.
    "state": "A String", # [Ouput 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.
    "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.
        # NB: Only one of value and string_value can be set at the same time.
    "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 reource 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 follow RFC 1035 segment specification.
        # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
        #
        # Once you create a variable, you cannot change the variable name.
  }
watch(name=None, body, 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. (required)
    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 textual value of the variable. The length of the value must be less
        # than 4096 bytes. Empty values are also accepted.
        # NB: Only one of value and string_value can be set at the same time.
    "updateTime": "A String", # [Output Only] The time of the last variable update.
    "state": "A String", # [Ouput 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.
    "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.
        # NB: Only one of value and string_value can be set at the same time.
    "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 reource 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 follow RFC 1035 segment specification.
        # The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
        #
        # Once you create a variable, you cannot change the variable name.
  }