|
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. |
@@ -55,6 +55,10 @@ option (google.api.resource_definition) = { |
55 | 55 | type: "cloudkms.googleapis.com/CryptoKeyVersion" |
56 | 56 | pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}" |
57 | 57 | }; |
| 58 | +option (google.api.resource_definition) = { |
| 59 | + type: "privateca.googleapis.com/CaPool" |
| 60 | + pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}" |
| 61 | +}; |
58 | 62 |
|
59 | 63 | // Configures and manages Cloud Memorystore for Redis clusters |
60 | 64 | // |
@@ -162,6 +166,17 @@ service CloudRedisCluster { |
162 | 166 | option (google.api.method_signature) = "name"; |
163 | 167 | } |
164 | 168 |
|
| 169 | + // Gets the details of regional certificate authority information for Redis |
| 170 | + // cluster. |
| 171 | + rpc GetSharedRegionalCertificateAuthority( |
| 172 | + GetSharedRegionalCertificateAuthorityRequest) |
| 173 | + returns (SharedRegionalCertificateAuthority) { |
| 174 | + option (google.api.http) = { |
| 175 | + get: "/v1/{name=projects/*/locations/*/sharedRegionalCertificateAuthority}" |
| 176 | + }; |
| 177 | + option (google.api.method_signature) = "name"; |
| 178 | + } |
| 179 | + |
165 | 180 | // Reschedules upcoming maintenance event. |
166 | 181 | rpc RescheduleClusterMaintenance(RescheduleClusterMaintenanceRequest) |
167 | 182 | returns (google.longrunning.Operation) { |
@@ -318,6 +333,21 @@ enum TransitEncryptionMode { |
318 | 333 | TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION = 2; |
319 | 334 | } |
320 | 335 |
|
| 336 | +// Server CA mode for the cluster. |
| 337 | +enum ServerCaMode { |
| 338 | + // Server CA mode not specified. |
| 339 | + SERVER_CA_MODE_UNSPECIFIED = 0; |
| 340 | + |
| 341 | + // Each cluster has its own Google managed CA. |
| 342 | + SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA = 1; |
| 343 | + |
| 344 | + // The cluster uses Google managed shared CA in the region. |
| 345 | + SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA = 2; |
| 346 | + |
| 347 | + // The cluster uses customer managed CA from CAS. |
| 348 | + SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA = 3; |
| 349 | +} |
| 350 | + |
321 | 351 | // Type of a PSC connection, for cluster access purpose. |
322 | 352 | enum ConnectionType { |
323 | 353 | // Cluster endpoint Type is not set |
@@ -836,6 +866,26 @@ message Cluster { |
836 | 866 | // Output only. Encryption information of the data at rest of the cluster. |
837 | 867 | EncryptionInfo encryption_info = 43 |
838 | 868 | [(google.api.field_behavior) = OUTPUT_ONLY]; |
| 869 | + |
| 870 | + // Optional. Server CA mode for the cluster. |
| 871 | + optional ServerCaMode server_ca_mode = 53 |
| 872 | + [(google.api.field_behavior) = OPTIONAL]; |
| 873 | + |
| 874 | + // Optional. Customer-managed CA pool for the cluster. Only applicable for |
| 875 | + // BYOCA i.e. if server_ca_mode is SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA. |
| 876 | + // Format: "projects/{project}/locations/{region}/caPools/{ca_pool}". |
| 877 | + optional string server_ca_pool = 54 [ |
| 878 | + (google.api.field_behavior) = OPTIONAL, |
| 879 | + (google.api.resource_reference) = { |
| 880 | + type: "privateca.googleapis.com/CaPool" |
| 881 | + } |
| 882 | + ]; |
| 883 | + |
| 884 | + // Optional. Input only. Rotate the server certificates. |
| 885 | + optional bool rotate_server_certificate = 55 [ |
| 886 | + (google.api.field_behavior) = OPTIONAL, |
| 887 | + (google.api.field_behavior) = INPUT_ONLY |
| 888 | + ]; |
839 | 889 | } |
840 | 890 |
|
841 | 891 | // The automated backup config for a cluster. |
@@ -1327,6 +1377,54 @@ message PscAutoConnection { |
1327 | 1377 | [(google.api.field_behavior) = OUTPUT_ONLY]; |
1328 | 1378 | } |
1329 | 1379 |
|
| 1380 | +// Shared regional certificate authority |
| 1381 | +message SharedRegionalCertificateAuthority { |
| 1382 | + option (google.api.resource) = { |
| 1383 | + type: "redis.googleapis.com/SharedRegionalCertificateAuthority" |
| 1384 | + pattern: "projects/{project}/locations/{location}/sharedRegionalCertificateAuthority" |
| 1385 | + plural: "sharedRegionalCertificateAuthorities" |
| 1386 | + singular: "sharedRegionalCertificateAuthority" |
| 1387 | + }; |
| 1388 | + |
| 1389 | + // CA certificate chains for redis managed server authentication. |
| 1390 | + message RegionalManagedCertificateAuthority { |
| 1391 | + // The certificates that form the CA chain, from leaf to root order. |
| 1392 | + message RegionalCertChain { |
| 1393 | + // The certificates that form the CA chain, from leaf to root order. |
| 1394 | + repeated string certificates = 1; |
| 1395 | + } |
| 1396 | + |
| 1397 | + // The PEM encoded CA certificate chains for redis managed |
| 1398 | + // server authentication |
| 1399 | + repeated RegionalCertChain ca_certs = 1; |
| 1400 | + } |
| 1401 | + |
| 1402 | + // Server ca information. |
| 1403 | + oneof server_ca { |
| 1404 | + // CA certificate chains for redis managed server authentication. |
| 1405 | + RegionalManagedCertificateAuthority managed_server_ca = 2; |
| 1406 | + } |
| 1407 | + |
| 1408 | + // Identifier. Unique name of the resource in this scope including project and |
| 1409 | + // location using the form: |
| 1410 | + // `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` |
| 1411 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
| 1412 | +} |
| 1413 | + |
| 1414 | +// Request for |
| 1415 | +// [GetSharedRegionalCertificateAuthority][CloudRedis.GetSharedRegionalCertificateAuthority]. |
| 1416 | +message GetSharedRegionalCertificateAuthorityRequest { |
| 1417 | + // Required. Regional certificate authority resource name using the form: |
| 1418 | + // `projects/{project_id}/locations/{location_id}/sharedRegionalCertificateAuthority` |
| 1419 | + // where `location_id` refers to a Google Cloud region. |
| 1420 | + string name = 1 [ |
| 1421 | + (google.api.field_behavior) = REQUIRED, |
| 1422 | + (google.api.resource_reference) = { |
| 1423 | + type: "redis.googleapis.com/SharedRegionalCertificateAuthority" |
| 1424 | + } |
| 1425 | + ]; |
| 1426 | +} |
| 1427 | + |
1330 | 1428 | // Pre-defined metadata fields. |
1331 | 1429 | message OperationMetadata { |
1332 | 1430 | // Output only. The time the operation was created. |
|
0 commit comments