service.proto 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.cloud.security.privateca.v1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/cloud/security/privateca/v1/resources.proto";
  21. import "google/longrunning/operations.proto";
  22. import "google/protobuf/field_mask.proto";
  23. import "google/protobuf/timestamp.proto";
  24. option cc_enable_arenas = true;
  25. option csharp_namespace = "Google.Cloud.Security.PrivateCA.V1";
  26. option go_package = "google.golang.org/genproto/googleapis/cloud/security/privateca/v1;privateca";
  27. option java_multiple_files = true;
  28. option java_outer_classname = "PrivateCaProto";
  29. option java_package = "com.google.cloud.security.privateca.v1";
  30. option php_namespace = "Google\\Cloud\\Security\\PrivateCA\\V1";
  31. option ruby_package = "Google::Cloud::Security::PrivateCA::V1";
  32. // [Certificate Authority Service][google.cloud.security.privateca.v1.CertificateAuthorityService] manages private
  33. // certificate authorities and issued certificates.
  34. service CertificateAuthorityService {
  35. option (google.api.default_host) = "privateca.googleapis.com";
  36. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  37. // Create a new [Certificate][google.cloud.security.privateca.v1.Certificate] in a given Project, Location from a particular
  38. // [CaPool][google.cloud.security.privateca.v1.CaPool].
  39. rpc CreateCertificate(CreateCertificateRequest) returns (Certificate) {
  40. option (google.api.http) = {
  41. post: "/v1/{parent=projects/*/locations/*/caPools/*}/certificates"
  42. body: "certificate"
  43. };
  44. option (google.api.method_signature) = "parent,certificate,certificate_id";
  45. }
  46. // Returns a [Certificate][google.cloud.security.privateca.v1.Certificate].
  47. rpc GetCertificate(GetCertificateRequest) returns (Certificate) {
  48. option (google.api.http) = {
  49. get: "/v1/{name=projects/*/locations/*/caPools/*/certificates/*}"
  50. };
  51. option (google.api.method_signature) = "name";
  52. }
  53. // Lists [Certificates][google.cloud.security.privateca.v1.Certificate].
  54. rpc ListCertificates(ListCertificatesRequest) returns (ListCertificatesResponse) {
  55. option (google.api.http) = {
  56. get: "/v1/{parent=projects/*/locations/*/caPools/*}/certificates"
  57. };
  58. option (google.api.method_signature) = "parent";
  59. }
  60. // Revoke a [Certificate][google.cloud.security.privateca.v1.Certificate].
  61. rpc RevokeCertificate(RevokeCertificateRequest) returns (Certificate) {
  62. option (google.api.http) = {
  63. post: "/v1/{name=projects/*/locations/*/caPools/*/certificates/*}:revoke"
  64. body: "*"
  65. };
  66. option (google.api.method_signature) = "name";
  67. }
  68. // Update a [Certificate][google.cloud.security.privateca.v1.Certificate]. Currently, the only field you can update is the
  69. // [labels][google.cloud.security.privateca.v1.Certificate.labels] field.
  70. rpc UpdateCertificate(UpdateCertificateRequest) returns (Certificate) {
  71. option (google.api.http) = {
  72. patch: "/v1/{certificate.name=projects/*/locations/*/caPools/*/certificates/*}"
  73. body: "certificate"
  74. };
  75. option (google.api.method_signature) = "certificate,update_mask";
  76. }
  77. // Activate a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that is in state
  78. // [AWAITING_USER_ACTIVATION][google.cloud.security.privateca.v1.CertificateAuthority.State.AWAITING_USER_ACTIVATION]
  79. // and is of type [SUBORDINATE][google.cloud.security.privateca.v1.CertificateAuthority.Type.SUBORDINATE]. After
  80. // the parent Certificate Authority signs a certificate signing request from
  81. // [FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsr], this method can complete the activation
  82. // process.
  83. rpc ActivateCertificateAuthority(ActivateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  84. option (google.api.http) = {
  85. post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:activate"
  86. body: "*"
  87. };
  88. option (google.api.method_signature) = "name";
  89. option (google.longrunning.operation_info) = {
  90. response_type: "CertificateAuthority"
  91. metadata_type: "OperationMetadata"
  92. };
  93. }
  94. // Create a new [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in a given Project and Location.
  95. rpc CreateCertificateAuthority(CreateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  96. option (google.api.http) = {
  97. post: "/v1/{parent=projects/*/locations/*/caPools/*}/certificateAuthorities"
  98. body: "certificate_authority"
  99. };
  100. option (google.api.method_signature) = "parent,certificate_authority,certificate_authority_id";
  101. option (google.longrunning.operation_info) = {
  102. response_type: "CertificateAuthority"
  103. metadata_type: "OperationMetadata"
  104. };
  105. }
  106. // Disable a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
  107. rpc DisableCertificateAuthority(DisableCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  108. option (google.api.http) = {
  109. post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:disable"
  110. body: "*"
  111. };
  112. option (google.api.method_signature) = "name";
  113. option (google.longrunning.operation_info) = {
  114. response_type: "CertificateAuthority"
  115. metadata_type: "OperationMetadata"
  116. };
  117. }
  118. // Enable a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
  119. rpc EnableCertificateAuthority(EnableCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  120. option (google.api.http) = {
  121. post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:enable"
  122. body: "*"
  123. };
  124. option (google.api.method_signature) = "name";
  125. option (google.longrunning.operation_info) = {
  126. response_type: "CertificateAuthority"
  127. metadata_type: "OperationMetadata"
  128. };
  129. }
  130. // Fetch a certificate signing request (CSR) from a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
  131. // that is in state
  132. // [AWAITING_USER_ACTIVATION][google.cloud.security.privateca.v1.CertificateAuthority.State.AWAITING_USER_ACTIVATION]
  133. // and is of type [SUBORDINATE][google.cloud.security.privateca.v1.CertificateAuthority.Type.SUBORDINATE]. The
  134. // CSR must then be signed by the desired parent Certificate Authority, which
  135. // could be another [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] resource, or could be an on-prem
  136. // certificate authority. See also [ActivateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.ActivateCertificateAuthority].
  137. rpc FetchCertificateAuthorityCsr(FetchCertificateAuthorityCsrRequest) returns (FetchCertificateAuthorityCsrResponse) {
  138. option (google.api.http) = {
  139. get: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:fetch"
  140. };
  141. option (google.api.method_signature) = "name";
  142. }
  143. // Returns a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
  144. rpc GetCertificateAuthority(GetCertificateAuthorityRequest) returns (CertificateAuthority) {
  145. option (google.api.http) = {
  146. get: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}"
  147. };
  148. option (google.api.method_signature) = "name";
  149. }
  150. // Lists [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority].
  151. rpc ListCertificateAuthorities(ListCertificateAuthoritiesRequest) returns (ListCertificateAuthoritiesResponse) {
  152. option (google.api.http) = {
  153. get: "/v1/{parent=projects/*/locations/*/caPools/*}/certificateAuthorities"
  154. };
  155. option (google.api.method_signature) = "parent";
  156. }
  157. // Undelete a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that has been deleted.
  158. rpc UndeleteCertificateAuthority(UndeleteCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  159. option (google.api.http) = {
  160. post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:undelete"
  161. body: "*"
  162. };
  163. option (google.api.method_signature) = "name";
  164. option (google.longrunning.operation_info) = {
  165. response_type: "CertificateAuthority"
  166. metadata_type: "OperationMetadata"
  167. };
  168. }
  169. // Delete a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
  170. rpc DeleteCertificateAuthority(DeleteCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  171. option (google.api.http) = {
  172. delete: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}"
  173. };
  174. option (google.api.method_signature) = "name";
  175. option (google.longrunning.operation_info) = {
  176. response_type: "CertificateAuthority"
  177. metadata_type: "OperationMetadata"
  178. };
  179. }
  180. // Update a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
  181. rpc UpdateCertificateAuthority(UpdateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
  182. option (google.api.http) = {
  183. patch: "/v1/{certificate_authority.name=projects/*/locations/*/caPools/*/certificateAuthorities/*}"
  184. body: "certificate_authority"
  185. };
  186. option (google.api.method_signature) = "certificate_authority,update_mask";
  187. option (google.longrunning.operation_info) = {
  188. response_type: "CertificateAuthority"
  189. metadata_type: "OperationMetadata"
  190. };
  191. }
  192. // Create a [CaPool][google.cloud.security.privateca.v1.CaPool].
  193. rpc CreateCaPool(CreateCaPoolRequest) returns (google.longrunning.Operation) {
  194. option (google.api.http) = {
  195. post: "/v1/{parent=projects/*/locations/*}/caPools"
  196. body: "ca_pool"
  197. };
  198. option (google.api.method_signature) = "parent,ca_pool,ca_pool_id";
  199. option (google.longrunning.operation_info) = {
  200. response_type: "CaPool"
  201. metadata_type: "OperationMetadata"
  202. };
  203. }
  204. // Update a [CaPool][google.cloud.security.privateca.v1.CaPool].
  205. rpc UpdateCaPool(UpdateCaPoolRequest) returns (google.longrunning.Operation) {
  206. option (google.api.http) = {
  207. patch: "/v1/{ca_pool.name=projects/*/locations/*/caPools/*}"
  208. body: "ca_pool"
  209. };
  210. option (google.api.method_signature) = "ca_pool,update_mask";
  211. option (google.longrunning.operation_info) = {
  212. response_type: "CaPool"
  213. metadata_type: "OperationMetadata"
  214. };
  215. }
  216. // Returns a [CaPool][google.cloud.security.privateca.v1.CaPool].
  217. rpc GetCaPool(GetCaPoolRequest) returns (CaPool) {
  218. option (google.api.http) = {
  219. get: "/v1/{name=projects/*/locations/*/caPools/*}"
  220. };
  221. option (google.api.method_signature) = "name";
  222. }
  223. // Lists [CaPools][google.cloud.security.privateca.v1.CaPool].
  224. rpc ListCaPools(ListCaPoolsRequest) returns (ListCaPoolsResponse) {
  225. option (google.api.http) = {
  226. get: "/v1/{parent=projects/*/locations/*}/caPools"
  227. };
  228. option (google.api.method_signature) = "parent";
  229. }
  230. // Delete a [CaPool][google.cloud.security.privateca.v1.CaPool].
  231. rpc DeleteCaPool(DeleteCaPoolRequest) returns (google.longrunning.Operation) {
  232. option (google.api.http) = {
  233. delete: "/v1/{name=projects/*/locations/*/caPools/*}"
  234. };
  235. option (google.api.method_signature) = "name";
  236. option (google.longrunning.operation_info) = {
  237. response_type: "google.protobuf.Empty"
  238. metadata_type: "OperationMetadata"
  239. };
  240. }
  241. // FetchCaCerts returns the current trust anchor for the [CaPool][google.cloud.security.privateca.v1.CaPool]. This will
  242. // include CA certificate chains for all ACTIVE [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
  243. // resources in the [CaPool][google.cloud.security.privateca.v1.CaPool].
  244. rpc FetchCaCerts(FetchCaCertsRequest) returns (FetchCaCertsResponse) {
  245. option (google.api.http) = {
  246. post: "/v1/{ca_pool=projects/*/locations/*/caPools/*}:fetchCaCerts"
  247. body: "*"
  248. };
  249. option (google.api.method_signature) = "ca_pool";
  250. }
  251. // Returns a [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList].
  252. rpc GetCertificateRevocationList(GetCertificateRevocationListRequest) returns (CertificateRevocationList) {
  253. option (google.api.http) = {
  254. get: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*/certificateRevocationLists/*}"
  255. };
  256. option (google.api.method_signature) = "name";
  257. }
  258. // Lists [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList].
  259. rpc ListCertificateRevocationLists(ListCertificateRevocationListsRequest) returns (ListCertificateRevocationListsResponse) {
  260. option (google.api.http) = {
  261. get: "/v1/{parent=projects/*/locations/*/caPools/*/certificateAuthorities/*}/certificateRevocationLists"
  262. };
  263. option (google.api.method_signature) = "parent";
  264. }
  265. // Update a [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList].
  266. rpc UpdateCertificateRevocationList(UpdateCertificateRevocationListRequest) returns (google.longrunning.Operation) {
  267. option (google.api.http) = {
  268. patch: "/v1/{certificate_revocation_list.name=projects/*/locations/*/caPools/*/certificateAuthorities/*/certificateRevocationLists/*}"
  269. body: "certificate_revocation_list"
  270. };
  271. option (google.api.method_signature) = "certificate_revocation_list,update_mask";
  272. option (google.longrunning.operation_info) = {
  273. response_type: "CertificateRevocationList"
  274. metadata_type: "OperationMetadata"
  275. };
  276. }
  277. // Create a new [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] in a given Project and Location.
  278. rpc CreateCertificateTemplate(CreateCertificateTemplateRequest) returns (google.longrunning.Operation) {
  279. option (google.api.http) = {
  280. post: "/v1/{parent=projects/*/locations/*}/certificateTemplates"
  281. body: "certificate_template"
  282. };
  283. option (google.api.method_signature) = "parent,certificate_template,certificate_template_id";
  284. option (google.longrunning.operation_info) = {
  285. response_type: "CertificateTemplate"
  286. metadata_type: "OperationMetadata"
  287. };
  288. }
  289. // DeleteCertificateTemplate deletes a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate].
  290. rpc DeleteCertificateTemplate(DeleteCertificateTemplateRequest) returns (google.longrunning.Operation) {
  291. option (google.api.http) = {
  292. delete: "/v1/{name=projects/*/locations/*/certificateTemplates/*}"
  293. };
  294. option (google.api.method_signature) = "name";
  295. option (google.longrunning.operation_info) = {
  296. response_type: "google.protobuf.Empty"
  297. metadata_type: "google.cloud.security.privateca.v1.OperationMetadata"
  298. };
  299. }
  300. // Returns a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate].
  301. rpc GetCertificateTemplate(GetCertificateTemplateRequest) returns (CertificateTemplate) {
  302. option (google.api.http) = {
  303. get: "/v1/{name=projects/*/locations/*/certificateTemplates/*}"
  304. };
  305. option (google.api.method_signature) = "name";
  306. }
  307. // Lists [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate].
  308. rpc ListCertificateTemplates(ListCertificateTemplatesRequest) returns (ListCertificateTemplatesResponse) {
  309. option (google.api.http) = {
  310. get: "/v1/{parent=projects/*/locations/*}/certificateTemplates"
  311. };
  312. option (google.api.method_signature) = "parent";
  313. }
  314. // Update a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate].
  315. rpc UpdateCertificateTemplate(UpdateCertificateTemplateRequest) returns (google.longrunning.Operation) {
  316. option (google.api.http) = {
  317. patch: "/v1/{certificate_template.name=projects/*/locations/*/certificateTemplates/*}"
  318. body: "certificate_template"
  319. };
  320. option (google.api.method_signature) = "certificate_template,update_mask";
  321. option (google.longrunning.operation_info) = {
  322. response_type: "CertificateTemplate"
  323. metadata_type: "OperationMetadata"
  324. };
  325. }
  326. }
  327. // Request message for [CertificateAuthorityService.CreateCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificate].
  328. message CreateCertificateRequest {
  329. // Required. The resource name of the [CaPool][google.cloud.security.privateca.v1.CaPool] associated with the [Certificate][google.cloud.security.privateca.v1.Certificate],
  330. // in the format `projects/*/locations/*/caPools/*`.
  331. string parent = 1 [
  332. (google.api.field_behavior) = REQUIRED,
  333. (google.api.resource_reference) = {
  334. type: "privateca.googleapis.com/CaPool"
  335. }
  336. ];
  337. // Optional. It must be unique within a location and match the regular
  338. // expression `[a-zA-Z0-9_-]{1,63}`. This field is required when using a
  339. // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the Enterprise [CertificateAuthority.Tier][],
  340. // but is optional and its value is ignored otherwise.
  341. string certificate_id = 2 [(google.api.field_behavior) = OPTIONAL];
  342. // Required. A [Certificate][google.cloud.security.privateca.v1.Certificate] with initial field values.
  343. Certificate certificate = 3 [(google.api.field_behavior) = REQUIRED];
  344. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  345. // retry your request, the server will know to ignore the request if it has
  346. // already been completed. The server will guarantee that for at least 60
  347. // minutes since the first request.
  348. //
  349. // For example, consider a situation where you make an initial request and the
  350. // request times out. If you make the request again with the same request ID,
  351. // the server can check if original operation with the same request ID was
  352. // received, and if so, will ignore the second request. This prevents clients
  353. // from accidentally creating duplicate commitments.
  354. //
  355. // The request ID must be a valid UUID with the exception that zero UUID is
  356. // not supported (00000000-0000-0000-0000-000000000000).
  357. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  358. // Optional. If this is true, no [Certificate][google.cloud.security.privateca.v1.Certificate] resource will be persisted regardless
  359. // of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s [tier][google.cloud.security.privateca.v1.CaPool.tier], and the returned [Certificate][google.cloud.security.privateca.v1.Certificate]
  360. // will not contain the [pem_certificate][google.cloud.security.privateca.v1.Certificate.pem_certificate] field.
  361. bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
  362. // Optional. The resource ID of the [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that should issue the
  363. // certificate. This optional field will ignore the load-balancing scheme of
  364. // the Pool and directly issue the certificate from the CA with the specified
  365. // ID, contained in the same [CaPool][google.cloud.security.privateca.v1.CaPool] referenced by `parent`. Per-CA quota
  366. // rules apply. If left empty, a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will be chosen from
  367. // the [CaPool][google.cloud.security.privateca.v1.CaPool] by the service. For example, to issue a [Certificate][google.cloud.security.privateca.v1.Certificate] from
  368. // a Certificate Authority with resource name
  369. // "projects/my-project/locations/us-central1/caPools/my-pool/certificateAuthorities/my-ca",
  370. // you can set the [parent][google.cloud.security.privateca.v1.CreateCertificateRequest.parent] to
  371. // "projects/my-project/locations/us-central1/caPools/my-pool" and the
  372. // [issuing_certificate_authority_id][google.cloud.security.privateca.v1.CreateCertificateRequest.issuing_certificate_authority_id] to "my-ca".
  373. string issuing_certificate_authority_id = 6 [(google.api.field_behavior) = OPTIONAL];
  374. }
  375. // Request message for
  376. // [CertificateAuthorityService.GetCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificate].
  377. message GetCertificateRequest {
  378. // Required. The [name][google.cloud.security.privateca.v1.Certificate.name] of the [Certificate][google.cloud.security.privateca.v1.Certificate] to get.
  379. string name = 1 [
  380. (google.api.field_behavior) = REQUIRED,
  381. (google.api.resource_reference) = {
  382. type: "privateca.googleapis.com/Certificate"
  383. }
  384. ];
  385. }
  386. // Request message for [CertificateAuthorityService.ListCertificates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificates].
  387. message ListCertificatesRequest {
  388. // Required. The resource name of the location associated with the
  389. // [Certificates][google.cloud.security.privateca.v1.Certificate], in the format
  390. // `projects/*/locations/*/caPools/*`.
  391. string parent = 1 [
  392. (google.api.field_behavior) = REQUIRED,
  393. (google.api.resource_reference) = {
  394. type: "privateca.googleapis.com/CaPool"
  395. }
  396. ];
  397. // Optional. Limit on the number of
  398. // [Certificates][google.cloud.security.privateca.v1.Certificate] to include in the
  399. // response. Further [Certificates][google.cloud.security.privateca.v1.Certificate] can subsequently be obtained
  400. // by including the
  401. // [ListCertificatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificatesResponse.next_page_token] in a subsequent
  402. // request. If unspecified, the server will pick an appropriate default.
  403. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  404. // Optional. Pagination token, returned earlier via
  405. // [ListCertificatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificatesResponse.next_page_token].
  406. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  407. // Optional. Only include resources that match the filter in the response. For details
  408. // on supported filters and syntax, see [Certificates Filtering
  409. // documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#filtering_support).
  410. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  411. // Optional. Specify how the results should be sorted. For details on supported fields
  412. // and syntax, see [Certificates Sorting
  413. // documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#sorting_support).
  414. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  415. }
  416. // Response message for [CertificateAuthorityService.ListCertificates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificates].
  417. message ListCertificatesResponse {
  418. // The list of [Certificates][google.cloud.security.privateca.v1.Certificate].
  419. repeated Certificate certificates = 1;
  420. // A token to retrieve next page of results. Pass this value in
  421. // [ListCertificatesRequest.next_page_token][] to retrieve the
  422. // next page of results.
  423. string next_page_token = 2;
  424. // A list of locations (e.g. "us-west1") that could not be reached.
  425. repeated string unreachable = 3;
  426. }
  427. // Request message for
  428. // [CertificateAuthorityService.RevokeCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.RevokeCertificate].
  429. message RevokeCertificateRequest {
  430. // Required. The resource name for this [Certificate][google.cloud.security.privateca.v1.Certificate] in the
  431. // format
  432. // `projects/*/locations/*/caPools/*/certificates/*`.
  433. string name = 1 [
  434. (google.api.field_behavior) = REQUIRED,
  435. (google.api.resource_reference) = {
  436. type: "privateca.googleapis.com/Certificate"
  437. }
  438. ];
  439. // Required. The [RevocationReason][google.cloud.security.privateca.v1.RevocationReason] for revoking this certificate.
  440. RevocationReason reason = 2 [(google.api.field_behavior) = REQUIRED];
  441. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  442. // retry your request, the server will know to ignore the request if it has
  443. // already been completed. The server will guarantee that for at least 60
  444. // minutes since the first request.
  445. //
  446. // For example, consider a situation where you make an initial request and t
  447. // he request times out. If you make the request again with the same request
  448. // ID, the server can check if original operation with the same request ID
  449. // was received, and if so, will ignore the second request. This prevents
  450. // clients from accidentally creating duplicate commitments.
  451. //
  452. // The request ID must be a valid UUID with the exception that zero UUID is
  453. // not supported (00000000-0000-0000-0000-000000000000).
  454. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  455. }
  456. // Request message for [CertificateAuthorityService.UpdateCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificate].
  457. message UpdateCertificateRequest {
  458. // Required. [Certificate][google.cloud.security.privateca.v1.Certificate] with updated values.
  459. Certificate certificate = 1 [(google.api.field_behavior) = REQUIRED];
  460. // Required. A list of fields to be updated in this request.
  461. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  462. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  463. // retry your request, the server will know to ignore the request if it has
  464. // already been completed. The server will guarantee that for at least 60
  465. // minutes since the first request.
  466. //
  467. // For example, consider a situation where you make an initial request and t
  468. // he request times out. If you make the request again with the same request
  469. // ID, the server can check if original operation with the same request ID
  470. // was received, and if so, will ignore the second request. This prevents
  471. // clients from accidentally creating duplicate commitments.
  472. //
  473. // The request ID must be a valid UUID with the exception that zero UUID is
  474. // not supported (00000000-0000-0000-0000-000000000000).
  475. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  476. }
  477. // Request message for
  478. // [CertificateAuthorityService.ActivateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.ActivateCertificateAuthority].
  479. message ActivateCertificateAuthorityRequest {
  480. // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
  481. // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  482. string name = 1 [
  483. (google.api.field_behavior) = REQUIRED,
  484. (google.api.resource_reference) = {
  485. type: "privateca.googleapis.com/CertificateAuthority"
  486. }
  487. ];
  488. // Required. The signed CA certificate issued from
  489. // [FetchCertificateAuthorityCsrResponse.pem_csr][google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse.pem_csr].
  490. string pem_ca_certificate = 2 [(google.api.field_behavior) = REQUIRED];
  491. // Required. Must include information about the issuer of 'pem_ca_certificate', and any
  492. // further issuers until the self-signed CA.
  493. SubordinateConfig subordinate_config = 3 [(google.api.field_behavior) = REQUIRED];
  494. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  495. // retry your request, the server will know to ignore the request if it has
  496. // already been completed. The server will guarantee that for at least 60
  497. // minutes since the first request.
  498. //
  499. // For example, consider a situation where you make an initial request and t
  500. // he request times out. If you make the request again with the same request
  501. // ID, the server can check if original operation with the same request ID
  502. // was received, and if so, will ignore the second request. This prevents
  503. // clients from accidentally creating duplicate commitments.
  504. //
  505. // The request ID must be a valid UUID with the exception that zero UUID is
  506. // not supported (00000000-0000-0000-0000-000000000000).
  507. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  508. }
  509. // Request message for
  510. // [CertificateAuthorityService.CreateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateAuthority].
  511. message CreateCertificateAuthorityRequest {
  512. // Required. The resource name of the [CaPool][google.cloud.security.privateca.v1.CaPool] associated with the
  513. // [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority], in the format
  514. // `projects/*/locations/*/caPools/*`.
  515. string parent = 1 [
  516. (google.api.field_behavior) = REQUIRED,
  517. (google.api.resource_reference) = {
  518. type: "privateca.googleapis.com/CaPool"
  519. }
  520. ];
  521. // Required. It must be unique within a location and match the regular
  522. // expression `[a-zA-Z0-9_-]{1,63}`
  523. string certificate_authority_id = 2 [(google.api.field_behavior) = REQUIRED];
  524. // Required. A [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] with initial field values.
  525. CertificateAuthority certificate_authority = 3 [(google.api.field_behavior) = REQUIRED];
  526. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  527. // retry your request, the server will know to ignore the request if it has
  528. // already been completed. The server will guarantee that for at least 60
  529. // minutes since the first request.
  530. //
  531. // For example, consider a situation where you make an initial request and t
  532. // he request times out. If you make the request again with the same request
  533. // ID, the server can check if original operation with the same request ID
  534. // was received, and if so, will ignore the second request. This prevents
  535. // clients from accidentally creating duplicate commitments.
  536. //
  537. // The request ID must be a valid UUID with the exception that zero UUID is
  538. // not supported (00000000-0000-0000-0000-000000000000).
  539. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  540. }
  541. // Request message for
  542. // [CertificateAuthorityService.DisableCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.DisableCertificateAuthority].
  543. message DisableCertificateAuthorityRequest {
  544. // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
  545. // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  546. string name = 1 [
  547. (google.api.field_behavior) = REQUIRED,
  548. (google.api.resource_reference) = {
  549. type: "privateca.googleapis.com/CertificateAuthority"
  550. }
  551. ];
  552. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  553. // retry your request, the server will know to ignore the request if it has
  554. // already been completed. The server will guarantee that for at least 60
  555. // minutes since the first request.
  556. //
  557. // For example, consider a situation where you make an initial request and t
  558. // he request times out. If you make the request again with the same request
  559. // ID, the server can check if original operation with the same request ID
  560. // was received, and if so, will ignore the second request. This prevents
  561. // clients from accidentally creating duplicate commitments.
  562. //
  563. // The request ID must be a valid UUID with the exception that zero UUID is
  564. // not supported (00000000-0000-0000-0000-000000000000).
  565. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  566. }
  567. // Request message for
  568. // [CertificateAuthorityService.EnableCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.EnableCertificateAuthority].
  569. message EnableCertificateAuthorityRequest {
  570. // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
  571. // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  572. string name = 1 [
  573. (google.api.field_behavior) = REQUIRED,
  574. (google.api.resource_reference) = {
  575. type: "privateca.googleapis.com/CertificateAuthority"
  576. }
  577. ];
  578. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  579. // retry your request, the server will know to ignore the request if it has
  580. // already been completed. The server will guarantee that for at least 60
  581. // minutes since the first request.
  582. //
  583. // For example, consider a situation where you make an initial request and t
  584. // he request times out. If you make the request again with the same request
  585. // ID, the server can check if original operation with the same request ID
  586. // was received, and if so, will ignore the second request. This prevents
  587. // clients from accidentally creating duplicate commitments.
  588. //
  589. // The request ID must be a valid UUID with the exception that zero UUID is
  590. // not supported (00000000-0000-0000-0000-000000000000).
  591. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  592. }
  593. // Request message for
  594. // [CertificateAuthorityService.FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsr].
  595. message FetchCertificateAuthorityCsrRequest {
  596. // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
  597. // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  598. string name = 1 [
  599. (google.api.field_behavior) = REQUIRED,
  600. (google.api.resource_reference) = {
  601. type: "privateca.googleapis.com/CertificateAuthority"
  602. }
  603. ];
  604. }
  605. // Response message for
  606. // [CertificateAuthorityService.FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsr].
  607. message FetchCertificateAuthorityCsrResponse {
  608. // Output only. The PEM-encoded signed certificate signing request (CSR).
  609. string pem_csr = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  610. }
  611. // Request message for [CertificateAuthorityService.GetCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateAuthority].
  612. message GetCertificateAuthorityRequest {
  613. // Required. The [name][google.cloud.security.privateca.v1.CertificateAuthority.name] of the [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] to
  614. // get.
  615. string name = 1 [
  616. (google.api.field_behavior) = REQUIRED,
  617. (google.api.resource_reference) = {
  618. type: "privateca.googleapis.com/CertificateAuthority"
  619. }
  620. ];
  621. }
  622. // Request message for
  623. // [CertificateAuthorityService.ListCertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateAuthorities].
  624. message ListCertificateAuthoritiesRequest {
  625. // Required. The resource name of the [CaPool][google.cloud.security.privateca.v1.CaPool] associated with the
  626. // [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority], in the format
  627. // `projects/*/locations/*/caPools/*`.
  628. string parent = 1 [
  629. (google.api.field_behavior) = REQUIRED,
  630. (google.api.resource_reference) = {
  631. type: "privateca.googleapis.com/CaPool"
  632. }
  633. ];
  634. // Optional. Limit on the number of [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority] to
  635. // include in the response.
  636. // Further [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority] can subsequently be
  637. // obtained by including the
  638. // [ListCertificateAuthoritiesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse.next_page_token] in a subsequent
  639. // request. If unspecified, the server will pick an appropriate default.
  640. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  641. // Optional. Pagination token, returned earlier via
  642. // [ListCertificateAuthoritiesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse.next_page_token].
  643. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  644. // Optional. Only include resources that match the filter in the response.
  645. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  646. // Optional. Specify how the results should be sorted.
  647. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  648. }
  649. // Response message for
  650. // [CertificateAuthorityService.ListCertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateAuthorities].
  651. message ListCertificateAuthoritiesResponse {
  652. // The list of [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority].
  653. repeated CertificateAuthority certificate_authorities = 1;
  654. // A token to retrieve next page of results. Pass this value in
  655. // [ListCertificateAuthoritiesRequest.next_page_token][] to retrieve the next
  656. // page of results.
  657. string next_page_token = 2;
  658. // A list of locations (e.g. "us-west1") that could not be reached.
  659. repeated string unreachable = 3;
  660. }
  661. // Request message for
  662. // [CertificateAuthorityService.UndeleteCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.UndeleteCertificateAuthority].
  663. message UndeleteCertificateAuthorityRequest {
  664. // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
  665. // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  666. string name = 1 [
  667. (google.api.field_behavior) = REQUIRED,
  668. (google.api.resource_reference) = {
  669. type: "privateca.googleapis.com/CertificateAuthority"
  670. }
  671. ];
  672. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  673. // retry your request, the server will know to ignore the request if it has
  674. // already been completed. The server will guarantee that for at least 60
  675. // minutes since the first request.
  676. //
  677. // For example, consider a situation where you make an initial request and t
  678. // he request times out. If you make the request again with the same request
  679. // ID, the server can check if original operation with the same request ID
  680. // was received, and if so, will ignore the second request. This prevents
  681. // clients from accidentally creating duplicate commitments.
  682. //
  683. // The request ID must be a valid UUID with the exception that zero UUID is
  684. // not supported (00000000-0000-0000-0000-000000000000).
  685. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  686. }
  687. // Request message for
  688. // [CertificateAuthorityService.DeleteCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCertificateAuthority].
  689. message DeleteCertificateAuthorityRequest {
  690. // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
  691. // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  692. string name = 1 [
  693. (google.api.field_behavior) = REQUIRED,
  694. (google.api.resource_reference) = {
  695. type: "privateca.googleapis.com/CertificateAuthority"
  696. }
  697. ];
  698. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  699. // retry your request, the server will know to ignore the request if it has
  700. // already been completed. The server will guarantee that for at least 60
  701. // minutes since the first request.
  702. //
  703. // For example, consider a situation where you make an initial request and t
  704. // he request times out. If you make the request again with the same request
  705. // ID, the server can check if original operation with the same request ID
  706. // was received, and if so, will ignore the second request. This prevents
  707. // clients from accidentally creating duplicate commitments.
  708. //
  709. // The request ID must be a valid UUID with the exception that zero UUID is
  710. // not supported (00000000-0000-0000-0000-000000000000).
  711. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  712. // Optional. This field allows the CA to be deleted even if the CA has
  713. // active certs. Active certs include both unrevoked and unexpired certs.
  714. bool ignore_active_certificates = 4 [(google.api.field_behavior) = OPTIONAL];
  715. // Optional. If this flag is set, the Certificate Authority will be deleted as soon as
  716. // possible without a 30-day grace period where undeletion would have been
  717. // allowed. If you proceed, there will be no way to recover this CA.
  718. bool skip_grace_period = 5 [(google.api.field_behavior) = OPTIONAL];
  719. }
  720. // Request message for
  721. // [CertificateAuthorityService.UpdateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateAuthority].
  722. message UpdateCertificateAuthorityRequest {
  723. // Required. [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] with updated values.
  724. CertificateAuthority certificate_authority = 1 [(google.api.field_behavior) = REQUIRED];
  725. // Required. A list of fields to be updated in this request.
  726. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  727. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  728. // retry your request, the server will know to ignore the request if it has
  729. // already been completed. The server will guarantee that for at least 60
  730. // minutes since the first request.
  731. //
  732. // For example, consider a situation where you make an initial request and t
  733. // he request times out. If you make the request again with the same request
  734. // ID, the server can check if original operation with the same request ID
  735. // was received, and if so, will ignore the second request. This prevents
  736. // clients from accidentally creating duplicate commitments.
  737. //
  738. // The request ID must be a valid UUID with the exception that zero UUID is
  739. // not supported (00000000-0000-0000-0000-000000000000).
  740. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  741. }
  742. // Request message for
  743. // [CertificateAuthorityService.CreateCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCaPool].
  744. message CreateCaPoolRequest {
  745. // Required. The resource name of the location associated with the
  746. // [CaPool][google.cloud.security.privateca.v1.CaPool], in the format `projects/*/locations/*`.
  747. string parent = 1 [
  748. (google.api.field_behavior) = REQUIRED,
  749. (google.api.resource_reference) = {
  750. type: "locations.googleapis.com/Location"
  751. }
  752. ];
  753. // Required. It must be unique within a location and match the regular
  754. // expression `[a-zA-Z0-9_-]{1,63}`
  755. string ca_pool_id = 2 [(google.api.field_behavior) = REQUIRED];
  756. // Required. A [CaPool][google.cloud.security.privateca.v1.CaPool] with initial field values.
  757. CaPool ca_pool = 3 [(google.api.field_behavior) = REQUIRED];
  758. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  759. // retry your request, the server will know to ignore the request if it has
  760. // already been completed. The server will guarantee that for at least 60
  761. // minutes since the first request.
  762. //
  763. // For example, consider a situation where you make an initial request and t
  764. // he request times out. If you make the request again with the same request
  765. // ID, the server can check if original operation with the same request ID
  766. // was received, and if so, will ignore the second request. This prevents
  767. // clients from accidentally creating duplicate commitments.
  768. //
  769. // The request ID must be a valid UUID with the exception that zero UUID is
  770. // not supported (00000000-0000-0000-0000-000000000000).
  771. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  772. }
  773. // Request message for
  774. // [CertificateAuthorityService.UpdateCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCaPool].
  775. message UpdateCaPoolRequest {
  776. // Required. [CaPool][google.cloud.security.privateca.v1.CaPool] with updated values.
  777. CaPool ca_pool = 1 [(google.api.field_behavior) = REQUIRED];
  778. // Required. A list of fields to be updated in this request.
  779. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  780. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  781. // retry your request, the server will know to ignore the request if it has
  782. // already been completed. The server will guarantee that for at least 60
  783. // minutes since the first request.
  784. //
  785. // For example, consider a situation where you make an initial request and t
  786. // he request times out. If you make the request again with the same request
  787. // ID, the server can check if original operation with the same request ID
  788. // was received, and if so, will ignore the second request. This prevents
  789. // clients from accidentally creating duplicate commitments.
  790. //
  791. // The request ID must be a valid UUID with the exception that zero UUID is
  792. // not supported (00000000-0000-0000-0000-000000000000).
  793. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  794. }
  795. // Request message for
  796. // [CertificateAuthorityService.DeleteCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCaPool].
  797. message DeleteCaPoolRequest {
  798. // Required. The resource name for this [CaPool][google.cloud.security.privateca.v1.CaPool] in the
  799. // format `projects/*/locations/*/caPools/*`.
  800. string name = 1 [
  801. (google.api.field_behavior) = REQUIRED,
  802. (google.api.resource_reference) = {
  803. type: "privateca.googleapis.com/CaPool"
  804. }
  805. ];
  806. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  807. // retry your request, the server will know to ignore the request if it has
  808. // already been completed. The server will guarantee that for at least 60
  809. // minutes since the first request.
  810. //
  811. // For example, consider a situation where you make an initial request and t
  812. // he request times out. If you make the request again with the same request
  813. // ID, the server can check if original operation with the same request ID
  814. // was received, and if so, will ignore the second request. This prevents
  815. // clients from accidentally creating duplicate commitments.
  816. //
  817. // The request ID must be a valid UUID with the exception that zero UUID is
  818. // not supported (00000000-0000-0000-0000-000000000000).
  819. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  820. }
  821. // Request message for
  822. // [CertificateAuthorityService.FetchCaCerts][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCaCerts].
  823. message FetchCaCertsRequest {
  824. // Required. The resource name for the [CaPool][google.cloud.security.privateca.v1.CaPool] in the
  825. // format `projects/*/locations/*/caPools/*`.
  826. string ca_pool = 1 [
  827. (google.api.field_behavior) = REQUIRED,
  828. (google.api.resource_reference) = {
  829. type: "privateca.googleapis.com/CaPool"
  830. }
  831. ];
  832. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  833. // retry your request, the server will know to ignore the request if it has
  834. // already been completed. The server will guarantee that for at least 60
  835. // minutes since the first request.
  836. //
  837. // For example, consider a situation where you make an initial request and t
  838. // he request times out. If you make the request again with the same request
  839. // ID, the server can check if original operation with the same request ID
  840. // was received, and if so, will ignore the second request. This prevents
  841. // clients from accidentally creating duplicate commitments.
  842. //
  843. // The request ID must be a valid UUID with the exception that zero UUID is
  844. // not supported (00000000-0000-0000-0000-000000000000).
  845. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  846. }
  847. // Response message for
  848. // [CertificateAuthorityService.FetchCaCerts][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCaCerts].
  849. message FetchCaCertsResponse {
  850. message CertChain {
  851. // The certificates that form the CA chain, from leaf to root order.
  852. repeated string certificates = 1;
  853. }
  854. // The PEM encoded CA certificate chains of all
  855. // [ACTIVE][CertificateAuthority.State.ACTIVE] [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
  856. // resources in this [CaPool][google.cloud.security.privateca.v1.CaPool].
  857. repeated CertChain ca_certs = 1;
  858. }
  859. // Request message for [CertificateAuthorityService.GetCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCaPool].
  860. message GetCaPoolRequest {
  861. // Required. The [name][google.cloud.security.privateca.v1.CaPool.name] of the [CaPool][google.cloud.security.privateca.v1.CaPool] to get.
  862. string name = 1 [
  863. (google.api.field_behavior) = REQUIRED,
  864. (google.api.resource_reference) = {
  865. type: "privateca.googleapis.com/CaPool"
  866. }
  867. ];
  868. }
  869. // Request message for
  870. // [CertificateAuthorityService.ListCaPools][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCaPools].
  871. message ListCaPoolsRequest {
  872. // Required. The resource name of the location associated with the
  873. // [CaPools][google.cloud.security.privateca.v1.CaPool], in the format
  874. // `projects/*/locations/*`.
  875. string parent = 1 [
  876. (google.api.field_behavior) = REQUIRED,
  877. (google.api.resource_reference) = {
  878. type: "locations.googleapis.com/Location"
  879. }
  880. ];
  881. // Optional. Limit on the number of [CaPools][google.cloud.security.privateca.v1.CaPool] to
  882. // include in the response.
  883. // Further [CaPools][google.cloud.security.privateca.v1.CaPool] can subsequently be
  884. // obtained by including the
  885. // [ListCaPoolsResponse.next_page_token][google.cloud.security.privateca.v1.ListCaPoolsResponse.next_page_token] in a subsequent
  886. // request. If unspecified, the server will pick an appropriate default.
  887. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  888. // Optional. Pagination token, returned earlier via
  889. // [ListCaPoolsResponse.next_page_token][google.cloud.security.privateca.v1.ListCaPoolsResponse.next_page_token].
  890. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  891. // Optional. Only include resources that match the filter in the response.
  892. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  893. // Optional. Specify how the results should be sorted.
  894. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  895. }
  896. // Response message for
  897. // [CertificateAuthorityService.ListCaPools][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCaPools].
  898. message ListCaPoolsResponse {
  899. // The list of [CaPools][google.cloud.security.privateca.v1.CaPool].
  900. repeated CaPool ca_pools = 1;
  901. // A token to retrieve next page of results. Pass this value in
  902. // [ListCertificateAuthoritiesRequest.next_page_token][] to retrieve the next
  903. // page of results.
  904. string next_page_token = 2;
  905. // A list of locations (e.g. "us-west1") that could not be reached.
  906. repeated string unreachable = 3;
  907. }
  908. // Request message for
  909. // [CertificateAuthorityService.GetCertificateRevocationList][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateRevocationList].
  910. message GetCertificateRevocationListRequest {
  911. // Required. The [name][google.cloud.security.privateca.v1.CertificateRevocationList.name] of the
  912. // [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] to get.
  913. string name = 1 [
  914. (google.api.field_behavior) = REQUIRED,
  915. (google.api.resource_reference) = {
  916. type: "privateca.googleapis.com/CertificateRevocationList"
  917. }
  918. ];
  919. }
  920. // Request message for
  921. // [CertificateAuthorityService.ListCertificateRevocationLists][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateRevocationLists].
  922. message ListCertificateRevocationListsRequest {
  923. // Required. The resource name of the location associated with the
  924. // [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList], in the format
  925. // `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
  926. string parent = 1 [
  927. (google.api.field_behavior) = REQUIRED,
  928. (google.api.resource_reference) = {
  929. type: "privateca.googleapis.com/CertificateAuthority"
  930. }
  931. ];
  932. // Optional. Limit on the number of
  933. // [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList] to include in the
  934. // response. Further [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList]
  935. // can subsequently be obtained by including the
  936. // [ListCertificateRevocationListsResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse.next_page_token] in a subsequent
  937. // request. If unspecified, the server will pick an appropriate default.
  938. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  939. // Optional. Pagination token, returned earlier via
  940. // [ListCertificateRevocationListsResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse.next_page_token].
  941. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  942. // Optional. Only include resources that match the filter in the response.
  943. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  944. // Optional. Specify how the results should be sorted.
  945. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  946. }
  947. // Response message for
  948. // [CertificateAuthorityService.ListCertificateRevocationLists][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateRevocationLists].
  949. message ListCertificateRevocationListsResponse {
  950. // The list of [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList].
  951. repeated CertificateRevocationList certificate_revocation_lists = 1;
  952. // A token to retrieve next page of results. Pass this value in
  953. // [ListCertificateRevocationListsRequest.next_page_token][] to retrieve the
  954. // next page of results.
  955. string next_page_token = 2;
  956. // A list of locations (e.g. "us-west1") that could not be reached.
  957. repeated string unreachable = 3;
  958. }
  959. // Request message for
  960. // [CertificateAuthorityService.UpdateCertificateRevocationList][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateRevocationList].
  961. message UpdateCertificateRevocationListRequest {
  962. // Required. [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] with updated values.
  963. CertificateRevocationList certificate_revocation_list = 1 [(google.api.field_behavior) = REQUIRED];
  964. // Required. A list of fields to be updated in this request.
  965. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  966. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  967. // retry your request, the server will know to ignore the request if it has
  968. // already been completed. The server will guarantee that for at least 60
  969. // minutes since the first request.
  970. //
  971. // For example, consider a situation where you make an initial request and t
  972. // he request times out. If you make the request again with the same request
  973. // ID, the server can check if original operation with the same request ID
  974. // was received, and if so, will ignore the second request. This prevents
  975. // clients from accidentally creating duplicate commitments.
  976. //
  977. // The request ID must be a valid UUID with the exception that zero UUID is
  978. // not supported (00000000-0000-0000-0000-000000000000).
  979. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  980. }
  981. // Request message for
  982. // [CertificateAuthorityService.CreateCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateTemplate].
  983. message CreateCertificateTemplateRequest {
  984. // Required. The resource name of the location associated with the
  985. // [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate], in the format
  986. // `projects/*/locations/*`.
  987. string parent = 1 [
  988. (google.api.field_behavior) = REQUIRED,
  989. (google.api.resource_reference) = {
  990. type: "locations.googleapis.com/Location"
  991. }
  992. ];
  993. // Required. It must be unique within a location and match the regular
  994. // expression `[a-zA-Z0-9_-]{1,63}`
  995. string certificate_template_id = 2 [(google.api.field_behavior) = REQUIRED];
  996. // Required. A [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] with initial field values.
  997. CertificateTemplate certificate_template = 3 [(google.api.field_behavior) = REQUIRED];
  998. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  999. // retry your request, the server will know to ignore the request if it has
  1000. // already been completed. The server will guarantee that for at least 60
  1001. // minutes since the first request.
  1002. //
  1003. // For example, consider a situation where you make an initial request and t
  1004. // he request times out. If you make the request again with the same request
  1005. // ID, the server can check if original operation with the same request ID
  1006. // was received, and if so, will ignore the second request. This prevents
  1007. // clients from accidentally creating duplicate commitments.
  1008. //
  1009. // The request ID must be a valid UUID with the exception that zero UUID is
  1010. // not supported (00000000-0000-0000-0000-000000000000).
  1011. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  1012. }
  1013. // Request message for
  1014. // [CertificateAuthorityService.DeleteCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCertificateTemplate].
  1015. message DeleteCertificateTemplateRequest {
  1016. // Required. The resource name for this [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] in the format
  1017. // `projects/*/locations/*/certificateTemplates/*`.
  1018. string name = 1 [
  1019. (google.api.field_behavior) = REQUIRED,
  1020. (google.api.resource_reference) = {
  1021. type: "privateca.googleapis.com/CertificateTemplate"
  1022. }
  1023. ];
  1024. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  1025. // retry your request, the server will know to ignore the request if it has
  1026. // already been completed. The server will guarantee that for at least 60
  1027. // minutes since the first request.
  1028. //
  1029. // For example, consider a situation where you make an initial request and t
  1030. // he request times out. If you make the request again with the same request
  1031. // ID, the server can check if original operation with the same request ID
  1032. // was received, and if so, will ignore the second request. This prevents
  1033. // clients from accidentally creating duplicate commitments.
  1034. //
  1035. // The request ID must be a valid UUID with the exception that zero UUID is
  1036. // not supported (00000000-0000-0000-0000-000000000000).
  1037. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  1038. }
  1039. // Request message for
  1040. // [CertificateAuthorityService.GetCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateTemplate].
  1041. message GetCertificateTemplateRequest {
  1042. // Required. The [name][google.cloud.security.privateca.v1.CertificateTemplate.name] of the [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] to
  1043. // get.
  1044. string name = 1 [
  1045. (google.api.field_behavior) = REQUIRED,
  1046. (google.api.resource_reference) = {
  1047. type: "privateca.googleapis.com/CertificateTemplate"
  1048. }
  1049. ];
  1050. }
  1051. // Request message for
  1052. // [CertificateAuthorityService.ListCertificateTemplates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateTemplates].
  1053. message ListCertificateTemplatesRequest {
  1054. // Required. The resource name of the location associated with the
  1055. // [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate], in the format
  1056. // `projects/*/locations/*`.
  1057. string parent = 1 [
  1058. (google.api.field_behavior) = REQUIRED,
  1059. (google.api.resource_reference) = {
  1060. type: "locations.googleapis.com/Location"
  1061. }
  1062. ];
  1063. // Optional. Limit on the number of
  1064. // [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate] to include in the response.
  1065. // Further [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate] can subsequently be
  1066. // obtained by including the
  1067. // [ListCertificateTemplatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateTemplatesResponse.next_page_token] in a subsequent
  1068. // request. If unspecified, the server will pick an appropriate default.
  1069. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  1070. // Optional. Pagination token, returned earlier via
  1071. // [ListCertificateTemplatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateTemplatesResponse.next_page_token].
  1072. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  1073. // Optional. Only include resources that match the filter in the response.
  1074. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  1075. // Optional. Specify how the results should be sorted.
  1076. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  1077. }
  1078. // Response message for
  1079. // [CertificateAuthorityService.ListCertificateTemplates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateTemplates].
  1080. message ListCertificateTemplatesResponse {
  1081. // The list of [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate].
  1082. repeated CertificateTemplate certificate_templates = 1;
  1083. // A token to retrieve next page of results. Pass this value in
  1084. // [ListCertificateTemplatesRequest.next_page_token][] to retrieve
  1085. // the next page of results.
  1086. string next_page_token = 2;
  1087. // A list of locations (e.g. "us-west1") that could not be reached.
  1088. repeated string unreachable = 3;
  1089. }
  1090. // Request message for
  1091. // [CertificateAuthorityService.UpdateCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateTemplate].
  1092. message UpdateCertificateTemplateRequest {
  1093. // Required. [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] with updated values.
  1094. CertificateTemplate certificate_template = 1 [(google.api.field_behavior) = REQUIRED];
  1095. // Required. A list of fields to be updated in this request.
  1096. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  1097. // Optional. An ID to identify requests. Specify a unique request ID so that if you must
  1098. // retry your request, the server will know to ignore the request if it has
  1099. // already been completed. The server will guarantee that for at least 60
  1100. // minutes since the first request.
  1101. //
  1102. // For example, consider a situation where you make an initial request and t
  1103. // he request times out. If you make the request again with the same request
  1104. // ID, the server can check if original operation with the same request ID
  1105. // was received, and if so, will ignore the second request. This prevents
  1106. // clients from accidentally creating duplicate commitments.
  1107. //
  1108. // The request ID must be a valid UUID with the exception that zero UUID is
  1109. // not supported (00000000-0000-0000-0000-000000000000).
  1110. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  1111. }
  1112. // Represents the metadata of the long-running operation.
  1113. message OperationMetadata {
  1114. // Output only. The time the operation was created.
  1115. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  1116. // Output only. The time the operation finished running.
  1117. google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  1118. // Output only. Server-defined resource path for the target of the operation.
  1119. string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  1120. // Output only. Name of the verb executed by the operation.
  1121. string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  1122. // Output only. Human-readable status of the operation, if any.
  1123. string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  1124. // Output only. Identifies whether the user has requested cancellation
  1125. // of the operation. Operations that have successfully been cancelled
  1126. // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
  1127. // corresponding to `Code.CANCELLED`.
  1128. bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  1129. // Output only. API version used to start the operation.
  1130. string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  1131. }