From 10049e8ea946100bb7da66f63b0ecd1a345e8760 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Sun, 2 Jun 2019 20:20:53 -0700 Subject: [PATCH] Synchronize new proto/yaml changes. PiperOrigin-RevId: 251157310 --- google/cloud/redis/artman_redis_v1beta1.yaml | 2 +- google/cloud/redis/redis_v1beta1.yaml | 22 +-- google/cloud/redis/v1beta1/cloud_redis.proto | 146 +++++++++++++++---- google/cloud/redis/v1beta1/redis_gapic.yaml | 56 ++++++- 4 files changed, 167 insertions(+), 59 deletions(-) diff --git a/google/cloud/redis/artman_redis_v1beta1.yaml b/google/cloud/redis/artman_redis_v1beta1.yaml index 7ac7287c..880e6ca8 100644 --- a/google/cloud/redis/artman_redis_v1beta1.yaml +++ b/google/cloud/redis/artman_redis_v1beta1.yaml @@ -3,7 +3,7 @@ common: api_version: v1beta1 organization_name: google-cloud proto_deps: - - name: google-common-protos + - name: google-common-protos src_proto_paths: - v1beta1 service_yaml: redis_v1beta1.yaml diff --git a/google/cloud/redis/redis_v1beta1.yaml b/google/cloud/redis/redis_v1beta1.yaml index 1abe57a6..b9e10140 100644 --- a/google/cloud/redis/redis_v1beta1.yaml +++ b/google/cloud/redis/redis_v1beta1.yaml @@ -15,27 +15,9 @@ documentation: backend: rules: - - selector: google.longrunning.Operations.ListOperations + - selector: 'google.cloud.redis.v1beta1.CloudRedis.*' deadline: 60.0 - - selector: google.longrunning.Operations.GetOperation - deadline: 60.0 - - selector: google.longrunning.Operations.DeleteOperation - deadline: 60.0 - - selector: google.longrunning.Operations.CancelOperation - deadline: 60.0 - - selector: google.longrunning.Operations.WaitOperation - deadline: 60.0 - - selector: google.cloud.redis.v1beta1.CloudRedis.ListInstances - deadline: 60.0 - - selector: google.cloud.redis.v1beta1.CloudRedis.GetInstance - deadline: 60.0 - - selector: google.cloud.redis.v1beta1.CloudRedis.CreateInstance - deadline: 60.0 - - selector: google.cloud.redis.v1beta1.CloudRedis.UpdateInstance - deadline: 60.0 - - selector: google.cloud.redis.v1beta1.CloudRedis.FailoverInstance - deadline: 60.0 - - selector: google.cloud.redis.v1beta1.CloudRedis.DeleteInstance + - selector: 'google.longrunning.Operations.*' deadline: 60.0 http: diff --git a/google/cloud/redis/v1beta1/cloud_redis.proto b/google/cloud/redis/v1beta1/cloud_redis.proto index 0335a002..699df83f 100644 --- a/google/cloud/redis/v1beta1/cloud_redis.proto +++ b/google/cloud/redis/v1beta1/cloud_redis.proto @@ -18,10 +18,10 @@ syntax = "proto3"; package google.cloud.redis.v1beta1; import "google/api/annotations.proto"; -import "google/api/resource.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; +import "google/api/client.proto"; option go_package = "google.golang.org/genproto/googleapis/cloud/redis/v1beta1;redis"; option java_multiple_files = true; @@ -44,6 +44,8 @@ option java_package = "com.google.cloud.redis.v1beta1"; // Note that location_id must be refering to a GCP `region`; for example: // * `projects/redpepper-1290/locations/us-central1/instances/my-redis` service CloudRedis { + option (google.api.default_host) = "redis.googleapis.com"; + // Lists all Redis instances owned by a project in either the specified // location (region) or all locations. // @@ -77,8 +79,7 @@ service CloudRedis { // // The returned operation is automatically deleted after a few hours, so there // is no need to call DeleteOperation. - rpc CreateInstance(CreateInstanceRequest) - returns (google.longrunning.Operation) { + rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*}/instances" body: "instance" @@ -90,18 +91,44 @@ service CloudRedis { // Completed longrunning.Operation will contain the new instance object // in the response field. The returned operation is automatically deleted // after a few hours, so there is no need to call DeleteOperation. - rpc UpdateInstance(UpdateInstanceRequest) - returns (google.longrunning.Operation) { + rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1beta1/{instance.name=projects/*/locations/*/instances/*}" body: "instance" }; } - // Failover the master role to current replica node against a specific - // STANDARD tier redis instance. - rpc FailoverInstance(FailoverInstanceRequest) - returns (google.longrunning.Operation) { + // Import a Redis RDB snapshot file from Cloud Storage into a Redis instance. + // + // Redis may stop serving during this operation. Instance state will be + // IMPORTING for entire operation. When complete, the instance will contain + // only data from the imported file. + // + // The returned operation is automatically deleted after a few hours, so + // there is no need to call DeleteOperation. + rpc ImportInstance(ImportInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{name=projects/*/locations/*/instances/*}:import" + body: "*" + }; + } + + // Export Redis instance data into a Redis RDB format file in Cloud Storage. + // + // Redis will continue serving during this operation. + // + // The returned operation is automatically deleted after a few hours, so + // there is no need to call DeleteOperation. + rpc ExportInstance(ExportInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{name=projects/*/locations/*/instances/*}:export" + body: "*" + }; + } + + // Initiates a failover of the master node to current replica node for a + // specific STANDARD tier Cloud Memorystore for Redis instance. + rpc FailoverInstance(FailoverInstanceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/instances/*}:failover" body: "*" @@ -110,8 +137,7 @@ service CloudRedis { // Deletes a specific Redis instance. Instance stops serving and data is // deleted. - rpc DeleteInstance(DeleteInstanceRequest) - returns (google.longrunning.Operation) { + rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/instances/*}" }; @@ -198,8 +224,8 @@ message Instance { // version will perform an upgrade/downgrade to the new version. Currently, // the supported values are: // - // * `REDIS_4_0` for Redis 4.0 compatibility - // * `REDIS_3_2` for Redis 3.2 compatibility (default) + // * `REDIS_4_0` for Redis 4.0 compatibility (default) + // * `REDIS_3_2` for Redis 3.2 compatibility string redis_version = 7; // Optional. The CIDR range of internal addresses that are reserved for this @@ -259,14 +285,20 @@ message Instance { // instance is connected. If left unspecified, the `default` network // will be used. string authorized_network = 20; + + // Output only. Cloud IAM identity used by import / export operations to + // transfer data to/from Cloud Storage. Format is + // "serviceAccount:". The value may change over time + // for a given instance so should be checked before each import/export + // operation. + string persistence_iam_identity = 21; } -// Request for -// [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances]. +// Request for [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances]. message ListInstancesRequest { // Required. The resource name of the instance location using the form: // `projects/{project_id}/locations/{location_id}` - // where `location_id` refers to a GCP region + // where `location_id` refers to a GCP region. string parent = 1; // The maximum number of items to return. @@ -283,8 +315,7 @@ message ListInstancesRequest { string page_token = 3; } -// Response for -// [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances]. +// Response for [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances]. message ListInstancesResponse { // A list of Redis instances in the project in the specified location, // or across all locations. @@ -310,16 +341,15 @@ message ListInstancesResponse { message GetInstanceRequest { // Required. Redis instance resource name using the form: // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` - // where `location_id` refers to a GCP region + // where `location_id` refers to a GCP region. string name = 1; } -// Request for -// [CreateInstance][google.cloud.redis.v1beta1.CloudRedis.CreateInstance]. +// Request for [CreateInstance][google.cloud.redis.v1beta1.CloudRedis.CreateInstance]. message CreateInstanceRequest { // Required. The resource name of the instance location using the form: // `projects/{project_id}/locations/{location_id}` - // where `location_id` refers to a GCP region + // where `location_id` refers to a GCP region. string parent = 1; // Required. The logical name of the Redis instance in the customer project @@ -336,8 +366,7 @@ message CreateInstanceRequest { Instance instance = 3; } -// Request for -// [UpdateInstance][google.cloud.redis.v1beta1.CloudRedis.UpdateInstance]. +// Request for [UpdateInstance][google.cloud.redis.v1beta1.CloudRedis.UpdateInstance]. message UpdateInstanceRequest { // Required. Mask of fields to update. At least one path must be supplied in // this field. The elements of the repeated paths field may only include these @@ -354,19 +383,72 @@ message UpdateInstanceRequest { Instance instance = 2; } -// Request for -// [DeleteInstance][google.cloud.redis.v1beta1.CloudRedis.DeleteInstance]. +// Request for [DeleteInstance][google.cloud.redis.v1beta1.CloudRedis.DeleteInstance]. message DeleteInstanceRequest { // Required. Redis instance resource name using the form: // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` - // where `location_id` refers to a GCP region + // where `location_id` refers to a GCP region. string name = 1; } -// Request for -// [Failover][google.cloud.redis.v1beta1.CloudRedis.FailoverInstance]. +// The Cloud Storage location for the input content +message GcsSource { + // Required. Source data URI. (e.g. 'gs://my_bucket/my_object'). + string uri = 1; +} + +// The input content +message InputConfig { + // Required. Specify source location of input data + oneof source { + // Google Cloud Storage location where input content is located. + GcsSource gcs_source = 1; + } +} + +// Request for [Import][google.cloud.redis.v1beta1.CloudRedis.ImportInstance]. +message ImportInstanceRequest { + // Required. Redis instance resource name using the form: + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // where `location_id` refers to a GCP region. + string name = 1; + + // Required. Specify data to be imported. + InputConfig input_config = 3; +} + +// The Cloud Storage location for the output content +message GcsDestination { + // Required. Data destination URI (e.g. + // 'gs://my_bucket/my_object'). Existing files will be overwritten. + string uri = 1; +} + +// The output content +message OutputConfig { + // Required. Specify destination location of output data + oneof destination { + // Google Cloud Storage destination for output content. + GcsDestination gcs_destination = 1; + } +} + +// Request for [Export][google.cloud.redis.v1beta1.CloudRedis.ExportInstance]. +message ExportInstanceRequest { + // Required. Redis instance resource name using the form: + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // where `location_id` refers to a GCP region. + string name = 1; + + // Required. Specify data to be exported. + OutputConfig output_config = 3; +} + +// Request for [Failover][google.cloud.redis.v1beta1.CloudRedis.FailoverInstance]. message FailoverInstanceRequest { enum DataProtectionMode { + // Defaults to LIMITED_DATA_LOSS if a data protection mode is not + // specified. DATA_PROTECTION_MODE_UNSPECIFIED = 0; // Instance failover will be protected with data loss control. More @@ -381,7 +463,7 @@ message FailoverInstanceRequest { // Required. Redis instance resource name using the form: // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` - // where `location_id` refers to a GCP region + // where `location_id` refers to a GCP region. string name = 1; // Optional. Available data protection modes that the user can choose. If it's @@ -403,4 +485,6 @@ message LocationMetadata { // Defines specific information for a particular zone. Currently empty and // reserved for future use only. -message ZoneMetadata {} +message ZoneMetadata { + +} diff --git a/google/cloud/redis/v1beta1/redis_gapic.yaml b/google/cloud/redis/v1beta1/redis_gapic.yaml index 858b35bf..855a5356 100644 --- a/google/cloud/redis/v1beta1/redis_gapic.yaml +++ b/google/cloud/redis/v1beta1/redis_gapic.yaml @@ -157,7 +157,6 @@ interfaces: retry_params_name: default field_name_patterns: parent: location - timeout_millis: 60000 long_running: return_type: google.cloud.redis.v1beta1.Instance metadata_type: google.protobuf.Any @@ -165,6 +164,7 @@ interfaces: poll_delay_multiplier: 1.5 max_poll_delay_millis: 360000 # 6 minutes total_poll_timeout_millis: 1200000 # 20 minutes + timeout_millis: 60000 sample_code_init_fields: - instance_id="test_instance" - instance.tier="BASIC" @@ -182,7 +182,6 @@ interfaces: retry_params_name: default field_name_patterns: instance.name: instance - timeout_millis: 60000 resource_name_treatment: STATIC_TYPES long_running: return_type: google.cloud.redis.v1beta1.Instance @@ -191,31 +190,54 @@ interfaces: poll_delay_multiplier: 1.5 max_poll_delay_millis: 360000 # 6 minutes total_poll_timeout_millis: 7200000 # 120 minutes + timeout_millis: 60000 sample_code_init_fields: - update_mask.paths[0]="display_name" - update_mask.paths[1]="memory_size_gb" - instance.display_name="UpdatedDisplayName" - instance.memory_size_gb=4 - - name: DeleteInstance + - name: ImportInstance flattening: groups: - parameters: - name + - input_config required_fields: - name - resource_name_treatment: STATIC_TYPES + - input_config retry_codes_name: non_idempotent retry_params_name: default field_name_patterns: name: instance - timeout_millis: 60000 long_running: - return_type: google.protobuf.Empty + return_type: google.cloud.redis.v1beta1.Instance metadata_type: google.protobuf.Any initial_poll_delay_millis: 60000 # 1 minutes poll_delay_multiplier: 1.5 max_poll_delay_millis: 360000 # 6 minutes - total_poll_timeout_millis: 1200000 # 20 minutes + total_poll_timeout_millis: 18000000 # 300 minutes + timeout_millis: 60000 + - name: ExportInstance + flattening: + groups: + - parameters: + - name + - output_config + required_fields: + - name + - output_config + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + name: instance + long_running: + return_type: google.cloud.redis.v1beta1.Instance + metadata_type: google.protobuf.Any + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 18000000 # 300 minutes + timeout_millis: 60000 - name: FailoverInstance flattening: groups: @@ -237,6 +259,26 @@ interfaces: max_poll_delay_millis: 360000 # 6 minutes total_poll_timeout_millis: 1200000 # 20 minutes timeout_millis: 60000 + - name: DeleteInstance + flattening: + groups: + - parameters: + - name + required_fields: + - name + resource_name_treatment: STATIC_TYPES + retry_codes_name: non_idempotent + retry_params_name: default + field_name_patterns: + name: instance + long_running: + return_type: google.protobuf.Empty + metadata_type: google.protobuf.Any + initial_poll_delay_millis: 60000 # 1 minutes + poll_delay_multiplier: 1.5 + max_poll_delay_millis: 360000 # 6 minutes + total_poll_timeout_millis: 1200000 # 20 minutes + timeout_millis: 60000 resource_name_generation: - message_name: ListInstancesRequest field_entity_map: