|
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. |
@@ -56,6 +56,10 @@ option (google.api.resource_definition) = { |
56 | 56 | type: "cloudkms.googleapis.com/CryptoKeyVersion" |
57 | 57 | pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}" |
58 | 58 | }; |
| 59 | +option (google.api.resource_definition) = { |
| 60 | + type: "privateca.googleapis.com/CaPool" |
| 61 | + pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}" |
| 62 | +}; |
59 | 63 |
|
60 | 64 | // Service describing handlers for resources |
61 | 65 | service Memorystore { |
@@ -129,6 +133,17 @@ service Memorystore { |
129 | 133 | option (google.api.method_signature) = "name"; |
130 | 134 | } |
131 | 135 |
|
| 136 | + // Gets the details of shared regional certificate authority information for |
| 137 | + // Memorystore instance. |
| 138 | + rpc GetSharedRegionalCertificateAuthority( |
| 139 | + GetSharedRegionalCertificateAuthorityRequest) |
| 140 | + returns (SharedRegionalCertificateAuthority) { |
| 141 | + option (google.api.http) = { |
| 142 | + get: "/v1/{name=projects/*/locations/*/sharedRegionalCertificateAuthority}" |
| 143 | + }; |
| 144 | + option (google.api.method_signature) = "name"; |
| 145 | + } |
| 146 | + |
132 | 147 | // Reschedules upcoming maintenance event. |
133 | 148 | rpc RescheduleMaintenance(RescheduleMaintenanceRequest) |
134 | 149 | returns (google.longrunning.Operation) { |
@@ -415,6 +430,32 @@ message Instance { |
415 | 430 | CLUSTER_DISABLED = 4; |
416 | 431 | } |
417 | 432 |
|
| 433 | + // The Server CA mode for the instance. |
| 434 | + enum ServerCaMode { |
| 435 | + option allow_alias = true; |
| 436 | + |
| 437 | + // Server CA mode not specified. |
| 438 | + SERVER_CA_MODE_UNSPECIFIED = 0; |
| 439 | + |
| 440 | + // Each instance has its own Google-managed CA. |
| 441 | + GOOGLE_MANAGED_PER_INSTANCE_CA = 1; |
| 442 | + |
| 443 | + // The instance uses a Google-managed shared CA for the instance's region. |
| 444 | + GOOGLE_MANAGED_SHARED_CA = 2; |
| 445 | + |
| 446 | + // The instance uses a customer-managed CA from CAS. |
| 447 | + CUSTOMER_MANAGED_CAS_CA = 3; |
| 448 | + |
| 449 | + // Deprecated: Use GOOGLE_MANAGED_PER_INSTANCE_CA instead. |
| 450 | + SERVER_CA_MODE_GOOGLE_MANAGED_PER_INSTANCE_CA = 1 [deprecated = true]; |
| 451 | + |
| 452 | + // Deprecated: Use GOOGLE_MANAGED_SHARED_CA instead. |
| 453 | + SERVER_CA_MODE_GOOGLE_MANAGED_SHARED_CA = 2 [deprecated = true]; |
| 454 | + |
| 455 | + // Deprecated: Use CUSTOMER_MANAGED_CAS_CA instead. |
| 456 | + SERVER_CA_MODE_CUSTOMER_MANAGED_CAS_CA = 3 [deprecated = true]; |
| 457 | + } |
| 458 | + |
418 | 459 | // The source to import from. |
419 | 460 | oneof import_sources { |
420 | 461 | // Optional. Immutable. Backups that stored in Cloud Storage buckets. |
@@ -629,6 +670,29 @@ message Instance { |
629 | 670 | (google.api.field_behavior) = OPTIONAL, |
630 | 671 | (google.api.field_behavior) = IMMUTABLE |
631 | 672 | ]; |
| 673 | + |
| 674 | + // Optional. Immutable. The Server CA mode for the instance. |
| 675 | + optional ServerCaMode server_ca_mode = 56 [ |
| 676 | + (google.api.field_behavior) = OPTIONAL, |
| 677 | + (google.api.field_behavior) = IMMUTABLE |
| 678 | + ]; |
| 679 | + |
| 680 | + // Optional. Immutable. The customer-managed CA pool for the instance. Only |
| 681 | + // applicable if the Server CA mode is CUSTOMER_MANAGED_CAS_CA. Format: |
| 682 | + // "projects/{project}/locations/{region}/caPools/{ca_pool}". |
| 683 | + optional string server_ca_pool = 57 [ |
| 684 | + (google.api.field_behavior) = OPTIONAL, |
| 685 | + (google.api.field_behavior) = IMMUTABLE, |
| 686 | + (google.api.resource_reference) = { |
| 687 | + type: "privateca.googleapis.com/CaPool" |
| 688 | + } |
| 689 | + ]; |
| 690 | + |
| 691 | + // Optional. Input only. Rotate the server certificates. |
| 692 | + optional bool rotate_server_certificate = 58 [ |
| 693 | + (google.api.field_behavior) = OPTIONAL, |
| 694 | + (google.api.field_behavior) = INPUT_ONLY |
| 695 | + ]; |
632 | 696 | } |
633 | 697 |
|
634 | 698 | // The automated backup config for an instance. |
@@ -1650,6 +1714,54 @@ message CertificateAuthority { |
1650 | 1714 | string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
1651 | 1715 | } |
1652 | 1716 |
|
| 1717 | +// Shared regional certificate authority for an instance. |
| 1718 | +message SharedRegionalCertificateAuthority { |
| 1719 | + option (google.api.resource) = { |
| 1720 | + type: "memorystore.googleapis.com/SharedRegionalCertificateAuthority" |
| 1721 | + pattern: "projects/{project}/locations/{location}/sharedRegionalCertificateAuthority" |
| 1722 | + plural: "sharedRegionalCertificateAuthorities" |
| 1723 | + singular: "sharedRegionalCertificateAuthority" |
| 1724 | + }; |
| 1725 | + |
| 1726 | + // CA certificate chains for memorystore managed server authentication. |
| 1727 | + message RegionalManagedCertificateAuthority { |
| 1728 | + // The certificates that form the CA chain, from leaf to root order. |
| 1729 | + message RegionalCertChain { |
| 1730 | + // The certificates that form the CA chain, from leaf to root order. |
| 1731 | + repeated string certificates = 1; |
| 1732 | + } |
| 1733 | + |
| 1734 | + // The PEM encoded CA certificate chains for memorystore managed |
| 1735 | + // server authentication |
| 1736 | + repeated RegionalCertChain ca_certs = 1; |
| 1737 | + } |
| 1738 | + |
| 1739 | + // Server ca information. |
| 1740 | + oneof server_ca { |
| 1741 | + // CA certificate chains for memorystore managed server authentication. |
| 1742 | + RegionalManagedCertificateAuthority managed_server_ca = 2; |
| 1743 | + } |
| 1744 | + |
| 1745 | + // Identifier. Unique name of the resource in this scope including project and |
| 1746 | + // location using the form: |
| 1747 | + // `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` |
| 1748 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
| 1749 | +} |
| 1750 | + |
| 1751 | +// Request for |
| 1752 | +// [GetSharedRegionalCertificateAuthority][google.cloud.memorystore.v1.Memorystore.GetSharedRegionalCertificateAuthority]. |
| 1753 | +message GetSharedRegionalCertificateAuthorityRequest { |
| 1754 | + // Required. Regional certificate authority resource name using the form: |
| 1755 | + // `projects/{project}/locations/{location}/sharedRegionalCertificateAuthority` |
| 1756 | + // where `location_id` refers to a Google Cloud region. |
| 1757 | + string name = 1 [ |
| 1758 | + (google.api.field_behavior) = REQUIRED, |
| 1759 | + (google.api.resource_reference) = { |
| 1760 | + type: "memorystore.googleapis.com/SharedRegionalCertificateAuthority" |
| 1761 | + } |
| 1762 | + ]; |
| 1763 | +} |
| 1764 | + |
1653 | 1765 | // Represents the metadata of a long-running operation. |
1654 | 1766 | message OperationMetadata { |
1655 | 1767 | // Output only. The time the operation was created. |
|
0 commit comments