|
1 | | -// Copyright 2025 Google LLC |
| 1 | +// Copyright 2026 Google LLC |
2 | 2 | // |
3 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | 4 | // you may not use this file except in compliance with the License. |
@@ -45,6 +45,10 @@ option (google.api.resource_definition) = { |
45 | 45 | type: "compute.googleapis.com/ServiceAttachment" |
46 | 46 | pattern: "projects/{project}/regions/{region}/serviceAttachments/{service_attachment}" |
47 | 47 | }; |
| 48 | +option (google.api.resource_definition) = { |
| 49 | + type: "privateca.googleapis.com/CaPool" |
| 50 | + pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}" |
| 51 | +}; |
48 | 52 |
|
49 | 53 | // Service describing handlers for resources |
50 | 54 | service Memorystore { |
@@ -117,6 +121,17 @@ service Memorystore { |
117 | 121 | }; |
118 | 122 | option (google.api.method_signature) = "name"; |
119 | 123 | } |
| 124 | + |
| 125 | + // Gets the details of shared regional certificate authority information for |
| 126 | + // Memorystore instance. |
| 127 | + rpc GetSharedRegionalCertificateAuthority( |
| 128 | + GetSharedRegionalCertificateAuthorityRequest) |
| 129 | + returns (SharedRegionalCertificateAuthority) { |
| 130 | + option (google.api.http) = { |
| 131 | + get: "/v1beta/{name=projects/*/locations/*/sharedRegionalCertificateAuthority}" |
| 132 | + }; |
| 133 | + option (google.api.method_signature) = "name"; |
| 134 | + } |
120 | 135 | } |
121 | 136 |
|
122 | 137 | // Status of the PSC connection. |
@@ -276,6 +291,32 @@ message Instance { |
276 | 291 | CLUSTER_DISABLED = 4; |
277 | 292 | } |
278 | 293 |
|
| 294 | + // The Server CA mode for the instance. |
| 295 | + enum ServerCaMode { |
| 296 | + option allow_alias = true; |
| 297 | + |
| 298 | + // Server CA mode not specified. |
| 299 | + SERVER_CA_MODE_UNSPECIFIED = 0; |
| 300 | + |
| 301 | + // Each instance has its own Google-managed CA. |
| 302 | + GOOGLE_MANAGED_PER_INSTANCE_CA = 1; |
| 303 | + |
| 304 | + // The instance uses a Google-managed shared CA for the instance's region. |
| 305 | + GOOGLE_MANAGED_SHARED_CA = 2; |
| 306 | + |
| 307 | + // The instance uses a customer-managed CA from CAS. |
| 308 | + CUSTOMER_MANAGED_CAS_CA = 3; |
| 309 | + |
| 310 | + // Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead. |
| 311 | + SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA = 1 [deprecated = true]; |
| 312 | + |
| 313 | + // Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead. |
| 314 | + SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA = 2 [deprecated = true]; |
| 315 | + |
| 316 | + // Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead. |
| 317 | + SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA = 3 [deprecated = true]; |
| 318 | + } |
| 319 | + |
279 | 320 | // Identifier. Unique name of the instance. |
280 | 321 | // Format: projects/{project}/locations/{location}/instances/{instance} |
281 | 322 | string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
@@ -374,6 +415,29 @@ message Instance { |
374 | 415 |
|
375 | 416 | // Optional. The mode config for the instance. |
376 | 417 | Mode mode = 26 [(google.api.field_behavior) = OPTIONAL]; |
| 418 | + |
| 419 | + // Optional. Immutable. The Server CA mode for the instance. |
| 420 | + optional ServerCaMode server_ca_mode = 56 [ |
| 421 | + (google.api.field_behavior) = OPTIONAL, |
| 422 | + (google.api.field_behavior) = IMMUTABLE |
| 423 | + ]; |
| 424 | + |
| 425 | + // Optional. Immutable. The customer-managed CA pool for the instance. Only |
| 426 | + // applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: |
| 427 | + // "projects/{project}/locations/{region}/caPools/{ca_pool}". |
| 428 | + optional string server_ca_pool = 57 [ |
| 429 | + (google.api.field_behavior) = OPTIONAL, |
| 430 | + (google.api.field_behavior) = IMMUTABLE, |
| 431 | + (google.api.resource_reference) = { |
| 432 | + type: "privateca.googleapis.com/CaPool" |
| 433 | + } |
| 434 | + ]; |
| 435 | + |
| 436 | + // Optional. Input only. Rotate the server certificates. |
| 437 | + optional bool rotate_server_certificate = 58 [ |
| 438 | + (google.api.field_behavior) = OPTIONAL, |
| 439 | + (google.api.field_behavior) = INPUT_ONLY |
| 440 | + ]; |
377 | 441 | } |
378 | 442 |
|
379 | 443 | // Details of consumer resources in a PSC connection. |
@@ -829,6 +893,54 @@ message CertificateAuthority { |
829 | 893 | string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
830 | 894 | } |
831 | 895 |
|
| 896 | +// Shared regional certificate authority for an instance. |
| 897 | +message SharedRegionalCertificateAuthority { |
| 898 | + option (google.api.resource) = { |
| 899 | + type: "memorystore.googleapis.com/SharedRegionalCertificateAuthority" |
| 900 | + pattern: "projects/{project}/locations/{location}/sharedRegionalCertificateAuthority" |
| 901 | + plural: "sharedRegionalCertificateAuthorities" |
| 902 | + singular: "sharedRegionalCertificateAuthority" |
| 903 | + }; |
| 904 | + |
| 905 | + // CA certificate chains for memorystore managed server authentication. |
| 906 | + message RegionalManagedCertificateAuthority { |
| 907 | + // The certificates that form the CA chain, from leaf to root order. |
| 908 | + message RegionalCertChain { |
| 909 | + // The certificates that form the CA chain, from leaf to root order. |
| 910 | + repeated string certificates = 1; |
| 911 | + } |
| 912 | + |
| 913 | + // The PEM encoded CA certificate chains for memorystore managed |
| 914 | + // server authentication |
| 915 | + repeated RegionalCertChain ca_certs = 1; |
| 916 | + } |
| 917 | + |
| 918 | + // Server ca information. |
| 919 | + oneof server_ca { |
| 920 | + // CA certificate chains for memorystore managed server authentication. |
| 921 | + RegionalManagedCertificateAuthority managed_server_ca = 2; |
| 922 | + } |
| 923 | + |
| 924 | + // Identifier. Unique name of the resource in this scope including project and |
| 925 | + // location using the form: |
| 926 | + // `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` |
| 927 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
| 928 | +} |
| 929 | + |
| 930 | +// Request for |
| 931 | +// [GetSharedRegionalCertificateAuthority][google.cloud.memorystore.v1beta.Memorystore.GetSharedRegionalCertificateAuthority]. |
| 932 | +message GetSharedRegionalCertificateAuthorityRequest { |
| 933 | + // Required. Regional certificate authority resource name using the form: |
| 934 | + // `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` |
| 935 | + // where `location_id` refers to a Google Cloud region. |
| 936 | + string name = 1 [ |
| 937 | + (google.api.field_behavior) = REQUIRED, |
| 938 | + (google.api.resource_reference) = { |
| 939 | + type: "memorystore.googleapis.com/SharedRegionalCertificateAuthority" |
| 940 | + } |
| 941 | + ]; |
| 942 | +} |
| 943 | + |
832 | 944 | // Represents the metadata of a long-running operation. |
833 | 945 | message OperationMetadata { |
834 | 946 | // Output only. The time the operation was created. |
|
0 commit comments