blob: 189f6d4dd5b569fe12d6f70dab695866bda8be9d [file] [log] [blame]
{
"id": "runtimeconfig:v1beta1",
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
},
"https://www.googleapis.com/auth/cloudruntimeconfig": {
"description": "Manage your Google Cloud Platform services' runtime configuration"
}
}
}
},
"description": "Provides capabilities for dynamic configuration and coordination for applications running on Google Cloud Platform.\n",
"protocol": "rest",
"title": "Google Cloud RuntimeConfig API",
"resources": {
"projects": {
"resources": {
"configs": {
"resources": {
"variables": {
"methods": {
"watch": {
"id": "runtimeconfig.projects.configs.variables.watch",
"response": {
"$ref": "Variable"
},
"parameterOrder": [
"name"
],
"description": "Watches a specific variable and waits for a change in the variable's value.\nWhen there is a change, this method returns the new value or times out.\n\nIf a variable is deleted while being watched, the `variableState` state is\nset to `DELETED` and the method returns the last known variable `value`.\n\nIf you set the deadline for watching to a larger value than internal timeout\n(60 seconds), the current variable value is returned and the `variableState`\nwill be `VARIABLE_STATE_UNSPECIFIED`.\n\nTo learn more about creating a watcher, read the\n[Watching a Variable for Changes](/deployment-manager/runtime-configurator/watching-a-variable)\ndocumentation.",
"request": {
"$ref": "WatchVariableRequest"
},
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}:watch",
"httpMethod": "POST",
"parameters": {
"name": {
"description": "The name of the variable to watch, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/variables/.*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}:watch",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"list": {
"id": "runtimeconfig.projects.configs.variables.list",
"response": {
"$ref": "ListVariablesResponse"
},
"parameterOrder": [
"parent"
],
"description": "Lists variables within given a configuration, matching any provided filters.\nThis only lists variable names, not the values.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables",
"httpMethod": "GET",
"parameters": {
"pageSize": {
"description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.",
"location": "query",
"type": "integer",
"format": "int32"
},
"filter": {
"description": "Filters variables by matching the specified filter. For example:\n\n`projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.",
"location": "query",
"type": "string"
},
"parent": {
"description": "The path to the RuntimeConfig resource for which you want to list variables.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
},
"pageToken": {
"description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+parent}/variables",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"get": {
"id": "runtimeconfig.projects.configs.variables.get",
"response": {
"$ref": "Variable"
},
"parameterOrder": [
"name"
],
"description": "Gets information about a single variable.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}",
"httpMethod": "GET",
"parameters": {
"name": {
"description": "The name of the variable to return, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/variables/.*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"create": {
"id": "runtimeconfig.projects.configs.variables.create",
"response": {
"$ref": "Variable"
},
"parameterOrder": [
"parent"
],
"description": "Creates a variable within the given configuration. You cannot create\na variable with a name that is a prefix of an existing variable name, or a\nname that has an existing variable name as a prefix.\n\nTo learn more about creating a variable, read the\n[Setting and Getting Data](/deployment-manager/runtime-configurator/set-and-get-variables)\ndocumentation.",
"request": {
"$ref": "Variable"
},
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables",
"httpMethod": "POST",
"parameters": {
"parent": {
"description": "The path to the RutimeConfig resource that this variable should belong to.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+parent}/variables",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"update": {
"id": "runtimeconfig.projects.configs.variables.update",
"response": {
"$ref": "Variable"
},
"parameterOrder": [
"name"
],
"description": "Updates an existing variable with a new value.",
"request": {
"$ref": "Variable"
},
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}",
"httpMethod": "PUT",
"parameters": {
"name": {
"description": "The name of the variable to update, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/variables/.*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"delete": {
"id": "runtimeconfig.projects.configs.variables.delete",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"name"
],
"description": "Deletes a variable or multiple variables.\n\nIf you specify a variable name, then that variable is deleted. If you\nspecify a prefix and `recursive` is true, then all variables with that\nprefix are deleted. You must set a `recursive` to true if you delete\nvariables by prefix.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}",
"httpMethod": "DELETE",
"parameters": {
"recursive": {
"description": "Set to `true` to recursively delete multiple variables with the same\nprefix.",
"location": "query",
"type": "boolean"
},
"name": {
"description": "The name of the variable to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/variables/.*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
}
}
},
"waiters": {
"methods": {
"get": {
"id": "runtimeconfig.projects.configs.waiters.get",
"response": {
"$ref": "Waiter"
},
"parameterOrder": [
"name"
],
"description": "Gets information about a single waiter.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}",
"httpMethod": "GET",
"parameters": {
"name": {
"description": "The fully-qualified name of the Waiter resource object to retrieve, in the\nformat:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/waiters/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"create": {
"id": "runtimeconfig.projects.configs.waiters.create",
"response": {
"$ref": "Operation"
},
"parameterOrder": [
"parent"
],
"description": "Creates a Waiter resource. This operation returns a long-running Operation\nresource which can be polled for completion. However, a waiter with the\ngiven name will exist (and can be retrieved) prior to the operation\ncompleting. If the operation fails, the failed Waiter resource will\nstill exist and must be deleted prior to subsequent creation attempts.",
"request": {
"$ref": "Waiter"
},
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters",
"httpMethod": "POST",
"parameters": {
"parent": {
"description": "The path to the configuration that will own the waiter.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+parent}/waiters",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"list": {
"id": "runtimeconfig.projects.configs.waiters.list",
"response": {
"$ref": "ListWaitersResponse"
},
"parameterOrder": [
"parent"
],
"description": "List waiters within the given configuration.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters",
"httpMethod": "GET",
"parameters": {
"pageSize": {
"description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.",
"location": "query",
"type": "integer",
"format": "int32"
},
"parent": {
"description": "The path to the configuration for which you want to get a list of waiters.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
},
"pageToken": {
"description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+parent}/waiters",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"delete": {
"id": "runtimeconfig.projects.configs.waiters.delete",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"name"
],
"description": "Deletes the waiter with the specified name.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}",
"httpMethod": "DELETE",
"parameters": {
"name": {
"description": "The Waiter resource to delete, in the format:\n\n `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/waiters/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
}
}
},
"operations": {
"methods": {
"get": {
"id": "runtimeconfig.projects.configs.operations.get",
"response": {
"$ref": "Operation"
},
"parameterOrder": [
"name"
],
"description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}",
"httpMethod": "GET",
"parameters": {
"name": {
"description": "The name of the operation resource.",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*/operations/.*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
}
}
}
},
"methods": {
"update": {
"id": "runtimeconfig.projects.configs.update",
"response": {
"$ref": "RuntimeConfig"
},
"parameterOrder": [
"name"
],
"description": "Updates a RuntimeConfig resource. The configuration must exist beforehand.",
"request": {
"$ref": "RuntimeConfig"
},
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}",
"httpMethod": "PUT",
"parameters": {
"name": {
"description": "The name of the RuntimeConfig resource to update, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"get": {
"id": "runtimeconfig.projects.configs.get",
"response": {
"$ref": "RuntimeConfig"
},
"parameterOrder": [
"name"
],
"description": "Gets information about a RuntimeConfig resource.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}",
"httpMethod": "GET",
"parameters": {
"name": {
"description": "The name of the RuntimeConfig resource to retrieve, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"create": {
"id": "runtimeconfig.projects.configs.create",
"response": {
"$ref": "RuntimeConfig"
},
"parameterOrder": [
"parent"
],
"description": "Creates a new RuntimeConfig resource. The configuration name must be\nunique within project.",
"request": {
"$ref": "RuntimeConfig"
},
"flatPath": "v1beta1/projects/{projectsId}/configs",
"httpMethod": "POST",
"parameters": {
"parent": {
"description": "The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)\nfor this request, in the format `projects/[PROJECT_ID]`.",
"required": true,
"pattern": "^projects/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+parent}/configs",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"list": {
"id": "runtimeconfig.projects.configs.list",
"response": {
"$ref": "ListConfigsResponse"
},
"parameterOrder": [
"parent"
],
"description": "Lists all the RuntimeConfig resources within project.",
"flatPath": "v1beta1/projects/{projectsId}/configs",
"httpMethod": "GET",
"parameters": {
"pageSize": {
"description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.",
"location": "query",
"type": "integer",
"format": "int32"
},
"parent": {
"description": "The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)\nfor this request, in the format `projects/[PROJECT_ID]`.",
"required": true,
"pattern": "^projects/[^/]*$",
"location": "path",
"type": "string"
},
"pageToken": {
"description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+parent}/configs",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
},
"delete": {
"id": "runtimeconfig.projects.configs.delete",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"name"
],
"description": "Deletes a RuntimeConfig resource.",
"flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}",
"httpMethod": "DELETE",
"parameters": {
"name": {
"description": "The RuntimeConfig resource to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`",
"required": true,
"pattern": "^projects/[^/]*/configs/[^/]*$",
"location": "path",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudruntimeconfig"
]
}
}
}
}
}
},
"schemas": {
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` which can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting purpose.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.",
"type": "object",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"type": "integer",
"format": "int32"
},
"details": {
"description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.",
"type": "array",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
}
},
"message": {
"description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"id": "Status"
},
"ListConfigsResponse": {
"description": "`ListConfigs()` returns the following response. The order of returned\nobjects is arbitrary; that is, it is not ordered in any particular way.",
"type": "object",
"properties": {
"nextPageToken": {
"description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results",
"type": "string"
},
"configs": {
"description": "A list of the configurations in the project. The order of returned\nobjects is arbitrary; that is, it is not ordered in any particular way.",
"type": "array",
"items": {
"$ref": "RuntimeConfig"
}
}
},
"id": "ListConfigsResponse"
},
"Variable": {
"description": "Describes a single variable within a RuntimeConfig resource.\nThe name denotes the hierarchical variable name. For example,\n`ports/serving_port` is a valid variable name. The variable value is an\nopaque string and only leaf variables can have values (that is, variables\nthat do not have any child variables).",
"type": "object",
"properties": {
"value": {
"description": "The binary value of the variable. The length of the value must be less\nthan 4096 bytes. Empty values are also accepted. The value must be\nBase64 encoded.\nNB: Only one of value and string_value can be set at the same time.",
"type": "string",
"format": "byte"
},
"text": {
"description": "The textual value of the variable. The length of the value must be less\nthan 4096 bytes. Empty values are also accepted.\nNB: Only one of value and string_value can be set at the same time.",
"type": "string"
},
"updateTime": {
"description": "[Output Only] The time of the last variable update.",
"type": "string",
"format": "google-datetime"
},
"state": {
"description": "[Ouput only] The current state of the variable. The variable state indicates\nthe outcome of the `variables().watch` call and is visible through the\n`get` and `list` calls.",
"enum": [
"VARIABLE_STATE_UNSPECIFIED",
"UPDATED",
"DELETED"
],
"enumDescriptions": [
"Default variable state.",
"The variable was updated, while `variables().watch` was executing.",
"The variable was deleted, while `variables().watch` was executing."
],
"type": "string"
},
"name": {
"description": "The name of the variable resource, in the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]\n\nThe `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a\nvalid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file system\nfile path naming.\n\nThe `[VARIABLE_NAME]` can contain ASCII letters, numbers, slashes and\ndashes. Slashes are used as path element separators and are not part of the\n`[VARIABLE_NAME]` itself, so `[VARIABLE_NAME]` must contain at least one\nnon-slash character. Multiple slashes are coalesced into single slash\ncharacter. Each path segment should follow RFC 1035 segment specification.\nThe length of a `[VARIABLE_NAME]` must be less than 256 bytes.\n\nOnce you create a variable, you cannot change the variable name.",
"type": "string"
}
},
"id": "Variable"
},
"Operation": {
"description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
"type": "object",
"properties": {
"error": {
"description": "The error result of the operation in case of failure.",
"$ref": "Status"
},
"done": {
"description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.",
"type": "boolean"
},
"metadata": {
"description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"response": {
"description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"name": {
"description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
"type": "string"
}
},
"id": "Operation"
},
"Waiter": {
"description": "A Waiter resource waits for some end condition within a RuntimeConfig resource\nto be met before it returns. For example, assume you have a distributed\nsystem where each node writes to a Variable resource indidicating the node's\nreadiness as part of the startup process.\n\nYou then configure a Waiter resource with the success condition set to wait\nuntil some number of nodes have checked in. Afterwards, your application\nruns some arbitrary code after the condition has been met and the waiter\nreturns successfully.\n\nOnce created, a Waiter resource is immutable.\n\nTo learn more about using waiters, read the\n[Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)\ndocumentation.",
"type": "object",
"properties": {
"timeout": {
"description": "[Required] Specifies the timeout of the waiter in seconds, beginning from\nthe instant that `waiters().create` method is called. If this time elapses\nbefore the success or failure conditions are met, the waiter fails and sets\nthe `error` code to `DEADLINE_EXCEEDED`.",
"type": "string",
"format": "google-duration"
},
"success": {
"description": "[Required] The success condition. If this condition is met, `done` will be\nset to `true` and the `error` value will remain unset. The failure condition\ntakes precedence over the success condition. If both conditions are met, a\nfailure will be indicated.",
"$ref": "EndCondition"
},
"failure": {
"description": "[Optional] The failure condition of this waiter. If this condition is met,\n`done` will be set to `true` and the `error` code will be set to `ABORTED`.\nThe failure condition takes precedence over the success condition. If both\nconditions are met, a failure will be indicated. This value is optional; if\nno failure condition is set, the only failure scenario will be a timeout.",
"$ref": "EndCondition"
},
"createTime": {
"description": "[Output Only] The instant at which this Waiter resource was created. Adding\nthe value of `timeout` to this instant yields the timeout deadline for the\nwaiter.",
"type": "string",
"format": "google-datetime"
},
"name": {
"description": "The name of the Waiter resource, in the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]\n\nThe `[PROJECT_ID]` must be a valid Google Cloud project ID,\nthe `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the\n`[WAITER_NAME]` must match RFC 1035 segment specification, and the length\nof `[WAITER_NAME]` must be less than 64 bytes.\n\nAfter you create a Waiter resource, you cannot change the resource name.",
"type": "string"
},
"error": {
"description": "[Output Only] If the waiter ended due to a failure or timeout, this value\nwill be set.",
"$ref": "Status"
},
"done": {
"description": "[Output Only] If the value is `false`, it means the waiter is still waiting\nfor one of its conditions to be met.\n\nIf true, the waiter has finished. If the waiter finished due to a timeout\nor failure, `error` will be set.",
"type": "boolean"
}
},
"id": "Waiter"
},
"RuntimeConfig": {
"description": "A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig\nservice. A RuntimeConfig resource consists of metadata and a hierarchy of\nvariables.",
"type": "object",
"properties": {
"description": {
"description": "An optional description of the RuntimeConfig object.\nThe length of the description must be less than 256 bytes.",
"type": "string"
},
"name": {
"description": "The resource name of a runtime config. The name must have the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]\n\nThe `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an\narbitrary name that matches RFC 1035 segment specification. The length of\n`[CONFIG_NAME]` must be less than 64 bytes.\n\nYou pick the RuntimeConfig resource name, but the server will validate that\nthe name adheres to this format. After you create the resource, you cannot\nchange the resource's name.",
"type": "string"
}
},
"id": "RuntimeConfig"
},
"ListWaitersResponse": {
"description": "Response for the `ListWaiters()` method.\nOrder of returned waiter objects is arbitrary.",
"type": "object",
"properties": {
"nextPageToken": {
"description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results",
"type": "string"
},
"waiters": {
"description": "Found waiters in the project.",
"type": "array",
"items": {
"$ref": "Waiter"
}
}
},
"id": "ListWaitersResponse"
},
"EndCondition": {
"description": "The condition that a Waiter resource is waiting for.",
"type": "object",
"properties": {
"cardinality": {
"description": "The cardinality of the `EndCondition`.",
"$ref": "Cardinality"
}
},
"id": "EndCondition"
},
"Cardinality": {
"description": "A Cardinality condition for the Waiter resource. A cardinality condition is\nmet when the number of variables under a specified path prefix reaches a\npredefined number. For example, if you set a Cardinality condition where\nthe `path` is set to `/foo` and the number of paths is set to 2, the\nfollowing variables would meet the condition in a RuntimeConfig resource:\n\n+ `/foo/variable1 = \"value1\"`\n+ `/foo/variable2 = \"value2\"`\n+ `/bar/variable3 = \"value3\"`\n\nIt would not would not satisify the same condition with the `number` set to\n3, however, because there is only 2 paths that start with `/foo`.\nCardinality conditions are recursive; all subtrees under the specific\npath prefix are counted.",
"type": "object",
"properties": {
"path": {
"description": "The root of the variable subtree to monitor. For example, `/foo`.",
"type": "string"
},
"number": {
"description": "The number variables under the `path` that must exist to meet this\ncondition. Defaults to 1 if not specified.",
"type": "integer",
"format": "int32"
}
},
"id": "Cardinality"
},
"Empty": {
"description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"type": "object",
"properties": {},
"id": "Empty"
},
"WatchVariableRequest": {
"description": "Request for the `WatchVariable()` method.",
"type": "object",
"properties": {
"newerThan": {
"description": "If specified, checks the current timestamp of the variable and if the\ncurrent timestamp is newer than `newerThan` timestamp, the method returns\nimmediately.\n\nIf not specified or the variable has an older timestamp, the watcher waits\nfor a the value to change before returning.",
"type": "string",
"format": "google-datetime"
}
},
"id": "WatchVariableRequest"
},
"ListVariablesResponse": {
"description": "Response for the `ListVariables()` method.",
"type": "object",
"properties": {
"variables": {
"description": "A list of variables and their values. The order of returned variable\nobjects is arbitrary.",
"type": "array",
"items": {
"$ref": "Variable"
}
},
"nextPageToken": {
"description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results",
"type": "string"
}
},
"id": "ListVariablesResponse"
}
},
"revision": "20160801",
"basePath": "",
"icons": {
"x32": "http://www.google.com/images/icons/product/search-32.gif",
"x16": "http://www.google.com/images/icons/product/search-16.gif"
},
"version_module": "True",
"canonicalName": "Cloud RuntimeConfig",
"discoveryVersion": "v1",
"baseUrl": "https://runtimeconfig.googleapis.com/",
"name": "runtimeconfig",
"parameters": {
"access_token": {
"description": "OAuth access token.",
"type": "string",
"location": "query"
},
"prettyPrint": {
"description": "Returns response with indentations and line breaks.",
"default": "true",
"type": "boolean",
"location": "query"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"type": "string",
"location": "query"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"type": "string",
"location": "query"
},
"pp": {
"description": "Pretty-print response.",
"default": "true",
"type": "boolean",
"location": "query"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"type": "string",
"location": "query"
},
"alt": {
"description": "Data format for response.",
"location": "query",
"enum": [
"json",
"media",
"proto"
],
"default": "json",
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"type": "string"
},
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"type": "string",
"location": "query"
},
"callback": {
"description": "JSONP",
"type": "string",
"location": "query"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"type": "string",
"location": "query"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"type": "string",
"location": "query"
},
"bearer_token": {
"description": "OAuth bearer token.",
"type": "string",
"location": "query"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type": "string",
"location": "query"
}
},
"documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/",
"ownerDomain": "google.com",
"batchPath": "batch",
"servicePath": "",
"ownerName": "Google",
"version": "v1beta1",
"rootUrl": "https://runtimeconfig.googleapis.com/",
"kind": "discovery#restDescription"
}