1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.memcache.v1beta2; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23import "google/longrunning/operations.proto"; 24import "google/protobuf/duration.proto"; 25import "google/protobuf/field_mask.proto"; 26import "google/protobuf/timestamp.proto"; 27import "google/type/dayofweek.proto"; 28import "google/type/timeofday.proto"; 29 30option go_package = "cloud.google.com/go/memcache/apiv1beta2/memcachepb;memcachepb"; 31option java_multiple_files = true; 32option java_outer_classname = "CloudMemcacheProto"; 33option java_package = "com.google.cloud.memcache.v1beta2"; 34 35// Configures and manages Cloud Memorystore for Memcached instances. 36// 37// 38// The `memcache.googleapis.com` service implements the Google Cloud Memorystore 39// for Memcached API and defines the following resource model for managing 40// Memorystore Memcached (also called Memcached below) instances: 41// * The service works with a collection of cloud projects, named: `/projects/*` 42// * Each project has a collection of available locations, named: `/locations/*` 43// * Each location has a collection of Memcached instances, named: 44// `/instances/*` 45// * As such, Memcached instances are resources of the form: 46// `/projects/{project_id}/locations/{location_id}/instances/{instance_id}` 47// 48// Note that location_id must be a GCP `region`; for example: 49// * `projects/my-memcached-project/locations/us-central1/instances/my-memcached` 50service CloudMemcache { 51 option (google.api.default_host) = "memcache.googleapis.com"; 52 option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; 53 54 // Lists Instances in a given location. 55 rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { 56 option (google.api.http) = { 57 get: "/v1beta2/{parent=projects/*/locations/*}/instances" 58 }; 59 option (google.api.method_signature) = "parent"; 60 } 61 62 // Gets details of a single Instance. 63 rpc GetInstance(GetInstanceRequest) returns (Instance) { 64 option (google.api.http) = { 65 get: "/v1beta2/{name=projects/*/locations/*/instances/*}" 66 }; 67 option (google.api.method_signature) = "name"; 68 } 69 70 // Creates a new Instance in a given location. 71 rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) { 72 option (google.api.http) = { 73 post: "/v1beta2/{parent=projects/*/locations/*}/instances" 74 body: "resource" 75 }; 76 option (google.api.method_signature) = "parent,instance_id,resource"; 77 option (google.longrunning.operation_info) = { 78 response_type: "google.cloud.memcache.v1beta2.Instance" 79 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 80 }; 81 } 82 83 // Updates an existing Instance in a given project and location. 84 rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) { 85 option (google.api.http) = { 86 patch: "/v1beta2/{resource.name=projects/*/locations/*/instances/*}" 87 body: "resource" 88 }; 89 option (google.api.method_signature) = "update_mask,resource"; 90 option (google.longrunning.operation_info) = { 91 response_type: "google.cloud.memcache.v1beta2.Instance" 92 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 93 }; 94 } 95 96 // Updates the defined Memcached parameters for an existing instance. 97 // This method only stages the parameters, it must be followed by 98 // `ApplyParameters` to apply the parameters to nodes of the Memcached 99 // instance. 100 rpc UpdateParameters(UpdateParametersRequest) returns (google.longrunning.Operation) { 101 option (google.api.http) = { 102 patch: "/v1beta2/{name=projects/*/locations/*/instances/*}:updateParameters" 103 body: "*" 104 }; 105 option (google.api.method_signature) = "name,update_mask,parameters"; 106 option (google.longrunning.operation_info) = { 107 response_type: "google.cloud.memcache.v1beta2.Instance" 108 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 109 }; 110 } 111 112 // Deletes a single Instance. 113 rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) { 114 option (google.api.http) = { 115 delete: "/v1beta2/{name=projects/*/locations/*/instances/*}" 116 }; 117 option (google.api.method_signature) = "name"; 118 option (google.longrunning.operation_info) = { 119 response_type: "google.protobuf.Empty" 120 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 121 }; 122 } 123 124 // `ApplyParameters` restarts the set of specified nodes in order to update 125 // them to the current set of parameters for the Memcached Instance. 126 rpc ApplyParameters(ApplyParametersRequest) returns (google.longrunning.Operation) { 127 option (google.api.http) = { 128 post: "/v1beta2/{name=projects/*/locations/*/instances/*}:applyParameters" 129 body: "*" 130 }; 131 option (google.api.method_signature) = "name,node_ids,apply_all"; 132 option (google.longrunning.operation_info) = { 133 response_type: "google.cloud.memcache.v1beta2.Instance" 134 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 135 }; 136 } 137 138 // Updates software on the selected nodes of the Instance. 139 rpc ApplySoftwareUpdate(ApplySoftwareUpdateRequest) returns (google.longrunning.Operation) { 140 option (google.api.http) = { 141 post: "/v1beta2/{instance=projects/*/locations/*/instances/*}:applySoftwareUpdate" 142 body: "*" 143 }; 144 option (google.api.method_signature) = "instance,node_ids,apply_all"; 145 option (google.longrunning.operation_info) = { 146 response_type: "google.cloud.memcache.v1beta2.Instance" 147 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 148 }; 149 } 150 151 // Performs the apply phase of the RescheduleMaintenance verb. 152 rpc RescheduleMaintenance(RescheduleMaintenanceRequest) returns (google.longrunning.Operation) { 153 option (google.api.http) = { 154 post: "/v1beta2/{instance=projects/*/locations/*/instances/*}:rescheduleMaintenance" 155 body: "*" 156 }; 157 option (google.api.method_signature) = "instance, reschedule_type, schedule_time"; 158 option (google.longrunning.operation_info) = { 159 response_type: "google.cloud.memcache.v1beta2.Instance" 160 metadata_type: "google.cloud.memcache.v1beta2.OperationMetadata" 161 }; 162 } 163} 164 165// A Memorystore for Memcached instance 166message Instance { 167 option (google.api.resource) = { 168 type: "memcache.googleapis.com/Instance" 169 pattern: "projects/{project}/locations/{location}/instances/{instance}" 170 }; 171 172 // Different states of a Memcached instance. 173 enum State { 174 // State not set. 175 STATE_UNSPECIFIED = 0; 176 177 // Memcached instance is being created. 178 CREATING = 1; 179 180 // Memcached instance has been created and ready to be used. 181 READY = 2; 182 183 // Memcached instance is updating configuration such as maintenance policy 184 // and schedule. 185 UPDATING = 3; 186 187 // Memcached instance is being deleted. 188 DELETING = 4; 189 190 // Memcached instance is going through maintenance, e.g. data plane rollout. 191 PERFORMING_MAINTENANCE = 5; 192 } 193 194 // Configuration for a Memcached Node. 195 message NodeConfig { 196 // Required. Number of cpus per Memcached node. 197 int32 cpu_count = 1 [(google.api.field_behavior) = REQUIRED]; 198 199 // Required. Memory size in MiB for each Memcached node. 200 int32 memory_size_mb = 2 [(google.api.field_behavior) = REQUIRED]; 201 } 202 203 message Node { 204 // Different states of a Memcached node. 205 enum State { 206 // Node state is not set. 207 STATE_UNSPECIFIED = 0; 208 209 // Node is being created. 210 CREATING = 1; 211 212 // Node has been created and ready to be used. 213 READY = 2; 214 215 // Node is being deleted. 216 DELETING = 3; 217 218 // Node is being updated. 219 UPDATING = 4; 220 } 221 222 // Output only. Identifier of the Memcached node. The node id does not 223 // include project or location like the Memcached instance name. 224 string node_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 225 226 // Output only. Location (GCP Zone) for the Memcached node. 227 string zone = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 228 229 // Output only. Current state of the Memcached node. 230 State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 231 232 // Output only. Hostname or IP address of the Memcached node used by the 233 // clients to connect to the Memcached server on this node. 234 string host = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 235 236 // Output only. The port number of the Memcached server on this node. 237 int32 port = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 238 239 // User defined parameters currently applied to the node. 240 MemcacheParameters parameters = 6; 241 242 // Output only. Returns true if there is an update waiting to be applied 243 bool update_available = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 244 } 245 246 message InstanceMessage { 247 enum Code { 248 // Message Code not set. 249 CODE_UNSPECIFIED = 0; 250 251 // Memcached nodes are distributed unevenly. 252 ZONE_DISTRIBUTION_UNBALANCED = 1; 253 } 254 255 // A code that correspond to one type of user-facing message. 256 Code code = 1; 257 258 // Message on memcached instance which will be exposed to users. 259 string message = 2; 260 } 261 262 // Required. Unique name of the resource in this scope including project and 263 // location using the form: 264 // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 265 // 266 // Note: Memcached instances are managed and addressed at the regional level 267 // so `location_id` here refers to a Google Cloud region; however, users may 268 // choose which zones Memcached nodes should be provisioned in within an 269 // instance. Refer to [zones][google.cloud.memcache.v1beta2.Instance.zones] field for more details. 270 string name = 1 [(google.api.field_behavior) = REQUIRED]; 271 272 // User provided name for the instance, which is only used for display 273 // purposes. Cannot be more than 80 characters. 274 string display_name = 2; 275 276 // Resource labels to represent user-provided metadata. 277 // Refer to cloud documentation on labels for more details. 278 // https://cloud.google.com/compute/docs/labeling-resources 279 map<string, string> labels = 3; 280 281 // The full name of the Google Compute Engine 282 // [network](https://cloud.google.com/vpc/docs/vpc) to which the 283 // instance is connected. If left unspecified, the `default` network 284 // will be used. 285 string authorized_network = 4; 286 287 // Zones in which Memcached nodes should be provisioned. 288 // Memcached nodes will be equally distributed across these zones. If not 289 // provided, the service will by default create nodes in all zones in the 290 // region for the instance. 291 repeated string zones = 5; 292 293 // Required. Number of nodes in the Memcached instance. 294 int32 node_count = 6 [(google.api.field_behavior) = REQUIRED]; 295 296 // Required. Configuration for Memcached nodes. 297 NodeConfig node_config = 7 [(google.api.field_behavior) = REQUIRED]; 298 299 // The major version of Memcached software. 300 // If not provided, latest supported version will be used. Currently the 301 // latest supported major version is `MEMCACHE_1_5`. 302 // The minor version will be automatically determined by our system based on 303 // the latest supported minor version. 304 MemcacheVersion memcache_version = 9; 305 306 // User defined parameters to apply to the memcached process 307 // on each node. 308 MemcacheParameters parameters = 11; 309 310 // Output only. List of Memcached nodes. 311 // Refer to [Node][google.cloud.memcache.v1beta2.Instance.Node] message for more details. 312 repeated Node memcache_nodes = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; 313 314 // Output only. The time the instance was created. 315 google.protobuf.Timestamp create_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 316 317 // Output only. The time the instance was updated. 318 google.protobuf.Timestamp update_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; 319 320 // Output only. The state of this Memcached instance. 321 State state = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; 322 323 // Output only. The full version of memcached server running on this instance. 324 // System automatically determines the full memcached version for an instance 325 // based on the input MemcacheVersion. 326 // The full version format will be "memcached-1.5.16". 327 string memcache_full_version = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; 328 329 // List of messages that describe the current state of the Memcached instance. 330 repeated InstanceMessage instance_messages = 19; 331 332 // Output only. Endpoint for the Discovery API. 333 string discovery_endpoint = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; 334 335 // Output only. Returns true if there is an update waiting to be applied 336 bool update_available = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; 337 338 // The maintenance policy for the instance. If not provided, 339 // the maintenance event will be performed based on Memorystore 340 // internal rollout schedule. 341 MaintenancePolicy maintenance_policy = 22; 342 343 // Output only. Published maintenance schedule. 344 MaintenanceSchedule maintenance_schedule = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; 345} 346 347// Maintenance policy per instance. 348message MaintenancePolicy { 349 // Output only. The time when the policy was created. 350 google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 351 352 // Output only. The time when the policy was updated. 353 google.protobuf.Timestamp update_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 354 355 // Description of what this policy is for. Create/Update methods 356 // return INVALID_ARGUMENT if the length is greater than 512. 357 string description = 3; 358 359 // Required. Maintenance window that is applied to resources covered by this 360 // policy. Minimum 1. For the current version, the maximum number of 361 // weekly_maintenance_windows is expected to be one. 362 repeated WeeklyMaintenanceWindow weekly_maintenance_window = 4 [(google.api.field_behavior) = REQUIRED]; 363} 364 365// Time window specified for weekly operations. 366message WeeklyMaintenanceWindow { 367 // Required. Allows to define schedule that runs specified day of the week. 368 google.type.DayOfWeek day = 1 [(google.api.field_behavior) = REQUIRED]; 369 370 // Required. Start time of the window in UTC. 371 google.type.TimeOfDay start_time = 2 [(google.api.field_behavior) = REQUIRED]; 372 373 // Required. Duration of the time window. 374 google.protobuf.Duration duration = 3 [(google.api.field_behavior) = REQUIRED]; 375} 376 377// Upcoming maintenance schedule. 378message MaintenanceSchedule { 379 // Output only. The start time of any upcoming scheduled maintenance for this instance. 380 google.protobuf.Timestamp start_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 381 382 // Output only. The end time of any upcoming scheduled maintenance for this instance. 383 google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 384 385 // Output only. The deadline that the maintenance schedule start time can not go beyond, 386 // including reschedule. 387 google.protobuf.Timestamp schedule_deadline_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 388} 389 390// Request for [ListInstances][google.cloud.memcache.v1beta2.CloudMemcache.ListInstances]. 391message ListInstancesRequest { 392 // Required. The resource name of the instance location using the form: 393 // `projects/{project_id}/locations/{location_id}` 394 // where `location_id` refers to a GCP region 395 string parent = 1 [ 396 (google.api.field_behavior) = REQUIRED, 397 (google.api.resource_reference) = { 398 type: "locations.googleapis.com/Location" 399 } 400 ]; 401 402 // The maximum number of items to return. 403 // 404 // If not specified, a default value of 1000 will be used by the service. 405 // Regardless of the `page_size` value, the response may include a partial 406 // list and a caller should only rely on response's 407 // [`next_page_token`][google.cloud.memcache.v1beta2.ListInstancesResponse.next_page_token] 408 // to determine if there are more instances left to be queried. 409 int32 page_size = 2; 410 411 // The `next_page_token` value returned from a previous List request, if any. 412 string page_token = 3; 413 414 // List filter. For example, exclude all Memcached instances with name as 415 // my-instance by specifying `"name != my-instance"`. 416 string filter = 4; 417 418 // Sort results. Supported values are "name", "name desc" or "" (unsorted). 419 string order_by = 5; 420} 421 422// Response for [ListInstances][google.cloud.memcache.v1beta2.CloudMemcache.ListInstances]. 423message ListInstancesResponse { 424 // A list of Memcached instances in the project in the specified location, 425 // or across all locations. 426 // 427 // If the `location_id` in the parent field of the request is "-", all regions 428 // available to the project are queried, and the results aggregated. 429 repeated Instance resources = 1; 430 431 // Token to retrieve the next page of results, or empty if there are no more 432 // results in the list. 433 string next_page_token = 2; 434 435 // Locations that could not be reached. 436 repeated string unreachable = 3; 437} 438 439// Request for [GetInstance][google.cloud.memcache.v1beta2.CloudMemcache.GetInstance]. 440message GetInstanceRequest { 441 // Required. Memcached instance resource name in the format: 442 // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 443 // where `location_id` refers to a GCP region 444 string name = 1 [ 445 (google.api.field_behavior) = REQUIRED, 446 (google.api.resource_reference) = { 447 type: "memcache.googleapis.com/Instance" 448 } 449 ]; 450} 451 452// Request for [CreateInstance][google.cloud.memcache.v1beta2.CloudMemcache.CreateInstance]. 453message CreateInstanceRequest { 454 // Required. The resource name of the instance location using the form: 455 // `projects/{project_id}/locations/{location_id}` 456 // where `location_id` refers to a GCP region 457 string parent = 1 [ 458 (google.api.field_behavior) = REQUIRED, 459 (google.api.resource_reference) = { 460 type: "locations.googleapis.com/Location" 461 } 462 ]; 463 464 // Required. The logical name of the Memcached instance in the user 465 // project with the following restrictions: 466 // 467 // * Must contain only lowercase letters, numbers, and hyphens. 468 // * Must start with a letter. 469 // * Must be between 1-40 characters. 470 // * Must end with a number or a letter. 471 // * Must be unique within the user project / location. 472 // 473 // If any of the above are not met, the API raises an invalid argument error. 474 string instance_id = 2 [(google.api.field_behavior) = REQUIRED]; 475 476 // Required. A Memcached [Instance] resource 477 Instance resource = 3 [(google.api.field_behavior) = REQUIRED]; 478} 479 480// Request for [UpdateInstance][google.cloud.memcache.v1beta2.CloudMemcache.UpdateInstance]. 481message UpdateInstanceRequest { 482 // Required. Mask of fields to update. 483 // 484 // * `displayName` 485 google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; 486 487 // Required. A Memcached [Instance] resource. 488 // Only fields specified in update_mask are updated. 489 Instance resource = 2 [(google.api.field_behavior) = REQUIRED]; 490} 491 492// Request for [DeleteInstance][google.cloud.memcache.v1beta2.CloudMemcache.DeleteInstance]. 493message DeleteInstanceRequest { 494 // Required. Memcached instance resource name in the format: 495 // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 496 // where `location_id` refers to a GCP region 497 string name = 1 [ 498 (google.api.field_behavior) = REQUIRED, 499 (google.api.resource_reference) = { 500 type: "memcache.googleapis.com/Instance" 501 } 502 ]; 503} 504 505// Request for [RescheduleMaintenance][google.cloud.memcache.v1beta2.CloudMemcache.RescheduleMaintenance]. 506message RescheduleMaintenanceRequest { 507 // Reschedule options. 508 enum RescheduleType { 509 // Not set. 510 RESCHEDULE_TYPE_UNSPECIFIED = 0; 511 512 // If the user wants to schedule the maintenance to happen now. 513 IMMEDIATE = 1; 514 515 // If the user wants to use the existing maintenance policy to find the 516 // next available window. 517 NEXT_AVAILABLE_WINDOW = 2; 518 519 // If the user wants to reschedule the maintenance to a specific time. 520 SPECIFIC_TIME = 3; 521 } 522 523 // Required. Memcache instance resource name using the form: 524 // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` 525 // where `location_id` refers to a GCP region. 526 string instance = 1 [ 527 (google.api.field_behavior) = REQUIRED, 528 (google.api.resource_reference) = { 529 type: "memcache.googleapis.com/Instance" 530 } 531 ]; 532 533 // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well. 534 RescheduleType reschedule_type = 2 [(google.api.field_behavior) = REQUIRED]; 535 536 // Timestamp when the maintenance shall be rescheduled to if 537 // reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for 538 // example `2012-11-15T16:19:00.094Z`. 539 google.protobuf.Timestamp schedule_time = 3; 540} 541 542// Request for [ApplyParameters][google.cloud.memcache.v1beta2.CloudMemcache.ApplyParameters]. 543message ApplyParametersRequest { 544 // Required. Resource name of the Memcached instance for which parameter group updates 545 // should be applied. 546 string name = 1 [ 547 (google.api.field_behavior) = REQUIRED, 548 (google.api.resource_reference) = { 549 type: "memcache.googleapis.com/Instance" 550 } 551 ]; 552 553 // Nodes to which the instance-level parameter group is applied. 554 repeated string node_ids = 2; 555 556 // Whether to apply instance-level parameter group to all nodes. If set to 557 // true, users are restricted from specifying individual nodes, and 558 // `ApplyParameters` updates all nodes within the instance. 559 bool apply_all = 3; 560} 561 562// Request for [UpdateParameters][google.cloud.memcache.v1beta2.CloudMemcache.UpdateParameters]. 563message UpdateParametersRequest { 564 // Required. Resource name of the Memcached instance for which the parameters should be 565 // updated. 566 string name = 1 [ 567 (google.api.field_behavior) = REQUIRED, 568 (google.api.resource_reference) = { 569 type: "memcache.googleapis.com/Instance" 570 } 571 ]; 572 573 // Required. Mask of fields to update. 574 google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; 575 576 // The parameters to apply to the instance. 577 MemcacheParameters parameters = 3; 578} 579 580// Request for [ApplySoftwareUpdate][google.cloud.memcache.v1beta2.CloudMemcache.ApplySoftwareUpdate]. 581message ApplySoftwareUpdateRequest { 582 // Required. Resource name of the Memcached instance for which software update should be 583 // applied. 584 string instance = 1 [ 585 (google.api.field_behavior) = REQUIRED, 586 (google.api.resource_reference) = { 587 type: "memcache.googleapis.com/Instance" 588 } 589 ]; 590 591 // Nodes to which we should apply the update to. Note all the selected nodes 592 // are updated in parallel. 593 repeated string node_ids = 2; 594 595 // Whether to apply the update to all nodes. If set to 596 // true, will explicitly restrict users from specifying any nodes, and apply 597 // software update to all nodes (where applicable) within the instance. 598 bool apply_all = 3; 599} 600 601// Memcached versions supported by our service. 602enum MemcacheVersion { 603 MEMCACHE_VERSION_UNSPECIFIED = 0; 604 605 // Memcached 1.5 version. 606 MEMCACHE_1_5 = 1; 607} 608 609message MemcacheParameters { 610 // Output only. The unique ID associated with this set of parameters. Users 611 // can use this id to determine if the parameters associated with the instance 612 // differ from the parameters associated with the nodes. A discrepancy between 613 // parameter ids can inform users that they may need to take action to apply 614 // parameters on nodes. 615 string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 616 617 // User defined set of parameters to use in the memcached process. 618 map<string, string> params = 3; 619} 620 621// Represents the metadata of a long-running operation. 622message OperationMetadata { 623 // Output only. Time when the operation was created. 624 google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 625 626 // Output only. Time when the operation finished running. 627 google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 628 629 // Output only. Server-defined resource path for the target of the operation. 630 string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 631 632 // Output only. Name of the verb executed by the operation. 633 string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 634 635 // Output only. Human-readable status of the operation, if any. 636 string status_detail = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 637 638 // Output only. Identifies whether the user has requested cancellation 639 // of the operation. Operations that have successfully been cancelled 640 // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, 641 // corresponding to `Code.CANCELLED`. 642 bool cancel_requested = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 643 644 // Output only. API version used to start the operation. 645 string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 646} 647 648// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. 649message LocationMetadata { 650 // Output only. The set of available zones in the location. The map is keyed 651 // by the lowercase ID of each zone, as defined by GCE. These keys can be 652 // specified in the `zones` field when creating a Memcached instance. 653 map<string, ZoneMetadata> available_zones = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 654} 655 656message ZoneMetadata { 657 658} 659