diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/runtimeconfig')
5 files changed, 748 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/runtimeconfig/BUILD.bazel b/third_party/googleapis/google/cloud/runtimeconfig/BUILD.bazel new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/third_party/googleapis/google/cloud/runtimeconfig/BUILD.bazel diff --git a/third_party/googleapis/google/cloud/runtimeconfig/README.md b/third_party/googleapis/google/cloud/runtimeconfig/README.md new file mode 100644 index 0000000..49c1d87 --- /dev/null +++ b/third_party/googleapis/google/cloud/runtimeconfig/README.md @@ -0,0 +1,39 @@ +[TOC] + +# Introduction + +The RuntimeConfig service provides Google Cloud Platform users the ability to +dynamically configure your service. + +The RuntimConfig service creates and manages RuntimeConfig resources +within a Google Cloud Project and various variables within said resource. + +## Details + +Each cloud project can create multiple **Config** objects. A **Config** object +by itself does not contain any configuration information, but rather is a +logical grouping of variables. Variable names are hierarchical and follow file +system style, where only leaf nodes can contain values. + +For example, you can have a configuration called *Flags*. Within that +configuration object, you can create the following variables. + +* `/ports/service_port` +* `/ports/monitoring_port` +* `/ports/admin_port` + +This creates three variables: `/ports/serve_port`, `/ports/monitoring_port`, +`/ports/admin_port`. Note that `/ports` cannot have a value but it can be +listed. + +### Setup + +In order to make requests to RuntimeConfig service, you need to enable the API +for your project. + +To achieve that, go to the +[Google Cloud Console](https://console.cloud.google.com/apis/api/runtimeconfig.googleapis.com/overview) +and enable *Google Cloud RuntimeConfig API* for your project. + +The documentation for this service is located +[here](https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/). diff --git a/third_party/googleapis/google/cloud/runtimeconfig/runtimeconfig.yaml b/third_party/googleapis/google/cloud/runtimeconfig/runtimeconfig.yaml new file mode 100644 index 0000000..1f66c9b --- /dev/null +++ b/third_party/googleapis/google/cloud/runtimeconfig/runtimeconfig.yaml @@ -0,0 +1,49 @@ +type: google.api.Service +config_version: 3 +name: runtimeconfig.googleapis.com +title: Google Cloud RuntimeConfig API + +apis: +- name: google.longrunning.Operations +- name: google.cloud.runtimeconfig.v1beta1.RuntimeConfigManager +- name: google.iam.v1.IAMPolicy + +# Documentation section +documentation: + summary: + Provides capabilities for dynamic configuration and coordination for applications running on Google Cloud Platform. + + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta1/{name=projects/*/configs/*/operations/**}' + + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1beta1/{resource=projects/*/configs/*}:setIamPolicy' + body: '*' + + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + get: '/v1beta1/{resource=projects/*/configs/*}:getIamPolicy' + + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1beta1/{resource=projects/*/configs/*}:testIamPermissions' + body: '*' + additional_bindings: + - post: '/v1beta1/{resource=projects/*/configs/*/waiters/*}:testIamPermissions' + body: '*' + + - post: '/v1beta1/{resource=projects/*/configs/*/variables/**}:testIamPermissions' + body: '*' + + - post: '/v1beta1/{resource=projects/*/configs/*/operations/**}:testIamPermissions' + body: '*' + + +# Auth section +authentication: + rules: + - selector: '*' + oauth: + canonical_scopes: https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloudruntimeconfig diff --git a/third_party/googleapis/google/cloud/runtimeconfig/v1beta1/resources.proto b/third_party/googleapis/google/cloud/runtimeconfig/v1beta1/resources.proto new file mode 100644 index 0000000..165cbf7 --- /dev/null +++ b/third_party/googleapis/google/cloud/runtimeconfig/v1beta1/resources.proto @@ -0,0 +1,209 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.runtimeconfig.v1beta1; + +import "google/api/annotations.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.Cloud.RuntimeConfig.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1;runtimeconfig"; +option java_multiple_files = true; +option java_package = "com.google.cloud.runtimeconfig.v1beta1"; +option php_namespace = "Google\\Cloud\\RuntimeConfig\\V1beta1"; + +// A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig +// service. A RuntimeConfig resource consists of metadata and a hierarchy of +// variables. +message RuntimeConfig { + // The resource name of a runtime config. The name must have the format: + // + // projects/[PROJECT_ID]/configs/[CONFIG_NAME] + // + // The `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an + // arbitrary name that matches RFC 1035 segment specification. The length of + // `[CONFIG_NAME]` must be less than 64 bytes. + // + // You pick the RuntimeConfig resource name, but the server will validate that + // the name adheres to this format. After you create the resource, you cannot + // change the resource's name. + string name = 1; + + // An optional description of the RuntimeConfig object. + string description = 2; +} + +// 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). +message Variable { + // 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. + string name = 1; + + // 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. + oneof contents { + // 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. Only one of `value` or `text` can be set. + bytes value = 2; + + // 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. + string text = 5; + } + + // [Output Only] The time of the last variable update. + google.protobuf.Timestamp update_time = 3; + + // [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. + VariableState state = 4; +} + +// The condition that a Waiter resource is waiting for. +message EndCondition { + // A Cardinality condition for the Waiter resource. A cardinality condition is + // met when the number of variables under a specified path prefix reaches a + // predefined number. For example, if you set a Cardinality condition where + // the `path` is set to `/foo` and the number of paths is set to 2, the + // following variables would meet the condition in a RuntimeConfig resource: + // + // + `/foo/variable1 = "value1"` + // + `/foo/variable2 = "value2"` + // + `/bar/variable3 = "value3"` + // + // It would not would not satisify the same condition with the `number` set to + // 3, however, because there is only 2 paths that start with `/foo`. + // Cardinality conditions are recursive; all subtrees under the specific + // path prefix are counted. + message Cardinality { + // The root of the variable subtree to monitor. For example, `/foo`. + string path = 1; + + // The number variables under the `path` that must exist to meet this + // condition. Defaults to 1 if not specified. + int32 number = 2; + } + + // The condition oneof holds the available condition types for this + // EndCondition. Currently, the only available type is Cardinality. + oneof condition { + // The cardinality of the `EndCondition`. + Cardinality cardinality = 1; + } +} + +// A Waiter resource waits for some end condition within a RuntimeConfig +// resource to be met before it returns. For example, assume you have a +// distributed system where each node writes to a Variable resource indidicating +// the node's readiness as part of the startup process. +// +// You then configure a Waiter resource with the success condition set to wait +// until some number of nodes have checked in. Afterwards, your application +// runs some arbitrary code after the condition has been met and the waiter +// returns successfully. +// +// Once created, a Waiter resource is immutable. +// +// To learn more about using waiters, read the +// [Creating a +// Waiter](/deployment-manager/runtime-configurator/creating-a-waiter) +// documentation. +message Waiter { + // The name of the Waiter resource, in the format: + // + // projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME] + // + // The `[PROJECT_ID]` must be a valid Google Cloud project ID, + // the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the + // `[WAITER_NAME]` must match RFC 1035 segment specification, and the length + // of `[WAITER_NAME]` must be less than 64 bytes. + // + // After you create a Waiter resource, you cannot change the resource name. + string name = 1; + + // [Required] Specifies the timeout of the waiter in seconds, beginning from + // the instant that `waiters().create` method is called. If this time elapses + // before the success or failure conditions are met, the waiter fails and sets + // the `error` code to `DEADLINE_EXCEEDED`. + google.protobuf.Duration timeout = 2; + + // [Optional] The failure condition of this waiter. If this condition is met, + // `done` will be set to `true` and the `error` code will be set to `ABORTED`. + // The failure condition takes precedence over the success condition. If both + // conditions are met, a failure will be indicated. This value is optional; if + // no failure condition is set, the only failure scenario will be a timeout. + EndCondition failure = 3; + + // [Required] The success condition. If this condition is met, `done` will be + // set to `true` and the `error` value will remain unset. The failure + // condition takes precedence over the success condition. If both conditions + // are met, a failure will be indicated. + EndCondition success = 4; + + // [Output Only] The instant at which this Waiter resource was created. Adding + // the value of `timeout` to this instant yields the timeout deadline for the + // waiter. + google.protobuf.Timestamp create_time = 5; + + // [Output Only] If the value is `false`, it means the waiter is still waiting + // for one of its conditions to be met. + // + // If true, the waiter has finished. If the waiter finished due to a timeout + // or failure, `error` will be set. + bool done = 6; + + // [Output Only] If the waiter ended due to a failure or timeout, this value + // will be set. + google.rpc.Status error = 7; +} + +// 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. +enum VariableState { + // Default variable state. + VARIABLE_STATE_UNSPECIFIED = 0; + + // The variable was updated, while `variables().watch` was executing. + UPDATED = 1; + + // The variable was deleted, while `variables().watch` was executing. + DELETED = 2; +} diff --git a/third_party/googleapis/google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto b/third_party/googleapis/google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto new file mode 100644 index 0000000..fbd1d41 --- /dev/null +++ b/third_party/googleapis/google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto @@ -0,0 +1,451 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.runtimeconfig.v1beta1; + +import "google/api/annotations.proto"; +import "google/cloud/runtimeconfig/v1beta1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.RuntimeConfig.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1;runtimeconfig"; +option java_multiple_files = true; +option java_package = "com.google.cloud.runtimeconfig.v1beta1"; +option php_namespace = "Google\\Cloud\\RuntimeConfig\\V1beta1"; + +// RuntimeConfig API represents configuration objects and operations on those +// configuration objects. +// RuntimeConfig objects consist of Variables logically grouped in the those +// objects. +// Variables are simple key-value pairs. Variables can be watched for changes or +// deletions. Variable key can be hieararchical, e.g. ports/serving_port, +// ports/monitoring_port, etc. Variable names can be hierarchical. No variable +// name can be prefix of another. +// Config objects represent logical containers for variables, e.g. flags, +// passwords, etc. +service RuntimeConfigManager { + // Lists all the RuntimeConfig resources within project. + rpc ListConfigs(ListConfigsRequest) returns (ListConfigsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*}/configs" + }; + } + + // Gets information about a RuntimeConfig resource. + rpc GetConfig(GetConfigRequest) returns (RuntimeConfig) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/configs/*}" + }; + } + + // Creates a new RuntimeConfig resource. The configuration name must be + // unique within project. + rpc CreateConfig(CreateConfigRequest) returns (RuntimeConfig) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*}/configs" + body: "config" + }; + } + + // Updates a RuntimeConfig resource. The configuration must exist beforehand. + rpc UpdateConfig(UpdateConfigRequest) returns (RuntimeConfig) { + option (google.api.http) = { + put: "/v1beta1/{name=projects/*/configs/*}" + body: "config" + }; + } + + // Deletes a RuntimeConfig resource. + rpc DeleteConfig(DeleteConfigRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/configs/*}" + }; + } + + // 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. + rpc ListVariables(ListVariablesRequest) returns (ListVariablesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/configs/*}/variables" + }; + } + + // Gets information about a single variable. + rpc GetVariable(GetVariableRequest) returns (Variable) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/configs/*/variables/**}" + }; + } + + // 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. + rpc WatchVariable(WatchVariableRequest) returns (Variable) { + option (google.api.http) = { + post: "/v1beta1/{name=projects/*/configs/*/variables/**}:watch" + body: "*" + }; + } + + // 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. + rpc CreateVariable(CreateVariableRequest) returns (Variable) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/configs/*}/variables" + body: "variable" + }; + } + + // Updates an existing variable with a new value. + rpc UpdateVariable(UpdateVariableRequest) returns (Variable) { + option (google.api.http) = { + put: "/v1beta1/{name=projects/*/configs/*/variables/**}" + body: "variable" + }; + } + + // 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. + rpc DeleteVariable(DeleteVariableRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/configs/*/variables/**}" + }; + } + + // List waiters within the given configuration. + rpc ListWaiters(ListWaitersRequest) returns (ListWaitersResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/configs/*}/waiters" + }; + } + + // Gets information about a single waiter. + rpc GetWaiter(GetWaiterRequest) returns (Waiter) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/configs/*/waiters/*}" + }; + } + + // Creates a Waiter resource. This operation returns a long-running Operation + // resource which can be polled for completion. However, a waiter with the + // given name will exist (and can be retrieved) prior to the operation + // completing. If the operation fails, the failed Waiter resource will + // still exist and must be deleted prior to subsequent creation attempts. + rpc CreateWaiter(CreateWaiterRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/configs/*}/waiters" + body: "waiter" + }; + } + + // Deletes the waiter with the specified name. + rpc DeleteWaiter(DeleteWaiterRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/configs/*/waiters/*}" + }; + } +} + +// Request for the `ListConfigs()` method. +message ListConfigsRequest { + // The [project + // ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848) + // for this request, in the format `projects/[PROJECT_ID]`. + string parent = 1; + + // Specifies the number of results to return per page. If there are fewer + // elements than the specified number, returns all elements. + int32 page_size = 2; + + // Specifies a page token to use. Set `pageToken` to a `nextPageToken` + // returned by a previous list request to get the next page of results. + string page_token = 3; +} + +// `ListConfigs()` returns the following response. The order of returned +// objects is arbitrary; that is, it is not ordered in any particular way. +message ListConfigsResponse { + // A list of the configurations in the project. The order of returned + // objects is arbitrary; that is, it is not ordered in any particular way. + repeated RuntimeConfig configs = 1; + + // 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 + string next_page_token = 2; +} + +// Gets a RuntimeConfig resource. +message GetConfigRequest { + // The name of the RuntimeConfig resource to retrieve, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + string name = 2; +} + +// Creates a RuntimeConfig resource. +message CreateConfigRequest { + // The [project + // ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848) + // for this request, in the format `projects/[PROJECT_ID]`. + string parent = 1; + + // The RuntimeConfig to create. + RuntimeConfig config = 2; + + // 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. + string request_id = 3; +} + +// Request message for `UpdateConfig()` method. +message UpdateConfigRequest { + // The name of the RuntimeConfig resource to update, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + string name = 1; + + // The config resource to update. + RuntimeConfig config = 2; +} + +// Request for the `DeleteConfig()` method. +message DeleteConfigRequest { + // The RuntimeConfig resource to delete, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + string name = 1; +} + +// Request for the `ListVariables()` method. +message ListVariablesRequest { + // 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]` + string parent = 1; + + // Filters variables by matching the specified filter. For example: + // + // `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`. + string filter = 2; + + // Specifies the number of results to return per page. If there are fewer + // elements than the specified number, returns all elements. + int32 page_size = 3; + + // Specifies a page token to use. Set `pageToken` to a `nextPageToken` + // returned by a previous list request to get the next page of results. + string page_token = 4; + + // 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. + bool return_values = 5; +} + +// Response for the `ListVariables()` method. +message ListVariablesResponse { + // A list of variables and their values. The order of returned variable + // objects is arbitrary. + repeated Variable variables = 1; + + // 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 + string next_page_token = 2; +} + +// Request for the `WatchVariable()` method. +message WatchVariableRequest { + // The name of the variable to watch, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + string name = 1; + + // 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. + google.protobuf.Timestamp newer_than = 4; +} + +// Request for the `GetVariable()` method. +message GetVariableRequest { + // The name of the variable to return, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]` + string name = 1; +} + +// Request for the `CreateVariable()` method. +message CreateVariableRequest { + // 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]` + string parent = 1; + + // The variable to create. + Variable variable = 2; + + // 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. + string request_id = 3; +} + +// Request for the `UpdateVariable()` method. +message UpdateVariableRequest { + // The name of the variable to update, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + string name = 1; + + // The variable to update. + Variable variable = 2; +} + +// Request for the `DeleteVariable()` method. +message DeleteVariableRequest { + // The name of the variable to delete, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + string name = 1; + + // Set to `true` to recursively delete multiple variables with the same + // prefix. + bool recursive = 2; +} + +// Request for the `ListWaiters()` method. +message ListWaitersRequest { + // The path to the configuration for which you want to get a list of waiters. + // The configuration must exist beforehand; the path must by in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + string parent = 1; + + // Specifies the number of results to return per page. If there are fewer + // elements than the specified number, returns all elements. + int32 page_size = 2; + + // Specifies a page token to use. Set `pageToken` to a `nextPageToken` + // returned by a previous list request to get the next page of results. + string page_token = 3; +} + +// Response for the `ListWaiters()` method. +// Order of returned waiter objects is arbitrary. +message ListWaitersResponse { + // Found waiters in the project. + repeated Waiter waiters = 1; + + // 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 + string next_page_token = 2; +} + +// Request for the `GetWaiter()` method. +message GetWaiterRequest { + // The fully-qualified name of the Waiter resource object to retrieve, in the + // format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + string name = 1; +} + +// Request message for `CreateWaiter()` method. +message CreateWaiterRequest { + // The path to the configuration that will own the waiter. + // The configuration must exist beforehand; the path must by in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`. + string parent = 1; + + // The Waiter resource to create. + Waiter waiter = 2; + + // 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. + string request_id = 3; +} + +// Request for the `DeleteWaiter()` method. +message DeleteWaiterRequest { + // The Waiter resource to delete, in the format: + // + // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + string name = 1; +} |
