1// Copyright 2020 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 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/cloud/security/privateca/v1beta1/resources.proto 20 21package privateca 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 29 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 30 durationpb "google.golang.org/protobuf/types/known/durationpb" 31 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 32 wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// A [RevocationReason][google.cloud.security.privateca.v1beta1.RevocationReason] indicates whether a [Certificate][google.cloud.security.privateca.v1beta1.Certificate] has been revoked, 43// and the reason for revocation. These correspond to standard revocation 44// reasons from RFC 5280. Note that the enum labels and values in this 45// definition are not the same ASN.1 values defined in RFC 5280. These values 46// will be translated to the correct ASN.1 values when a CRL is created. 47type RevocationReason int32 48 49const ( 50 // Default unspecified value. This value does indicate that a [Certificate][google.cloud.security.privateca.v1beta1.Certificate] 51 // has been revoked, but that a reason has not been recorded. 52 RevocationReason_REVOCATION_REASON_UNSPECIFIED RevocationReason = 0 53 // Key material for this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] may have leaked. 54 RevocationReason_KEY_COMPROMISE RevocationReason = 1 55 // The key material for a certificate authority in the issuing path may have 56 // leaked. 57 RevocationReason_CERTIFICATE_AUTHORITY_COMPROMISE RevocationReason = 2 58 // The subject or other attributes in this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] have changed. 59 RevocationReason_AFFILIATION_CHANGED RevocationReason = 3 60 // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] has been superseded. 61 RevocationReason_SUPERSEDED RevocationReason = 4 62 // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] or entities in the issuing path have ceased to 63 // operate. 64 RevocationReason_CESSATION_OF_OPERATION RevocationReason = 5 65 // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] should not be considered valid, it is expected that it 66 // may become valid in the future. 67 RevocationReason_CERTIFICATE_HOLD RevocationReason = 6 68 // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] no longer has permission to assert the listed 69 // attributes. 70 RevocationReason_PRIVILEGE_WITHDRAWN RevocationReason = 7 71 // The authority which determines appropriate attributes for a [Certificate][google.cloud.security.privateca.v1beta1.Certificate] 72 // may have been compromised. 73 RevocationReason_ATTRIBUTE_AUTHORITY_COMPROMISE RevocationReason = 8 74) 75 76// Enum value maps for RevocationReason. 77var ( 78 RevocationReason_name = map[int32]string{ 79 0: "REVOCATION_REASON_UNSPECIFIED", 80 1: "KEY_COMPROMISE", 81 2: "CERTIFICATE_AUTHORITY_COMPROMISE", 82 3: "AFFILIATION_CHANGED", 83 4: "SUPERSEDED", 84 5: "CESSATION_OF_OPERATION", 85 6: "CERTIFICATE_HOLD", 86 7: "PRIVILEGE_WITHDRAWN", 87 8: "ATTRIBUTE_AUTHORITY_COMPROMISE", 88 } 89 RevocationReason_value = map[string]int32{ 90 "REVOCATION_REASON_UNSPECIFIED": 0, 91 "KEY_COMPROMISE": 1, 92 "CERTIFICATE_AUTHORITY_COMPROMISE": 2, 93 "AFFILIATION_CHANGED": 3, 94 "SUPERSEDED": 4, 95 "CESSATION_OF_OPERATION": 5, 96 "CERTIFICATE_HOLD": 6, 97 "PRIVILEGE_WITHDRAWN": 7, 98 "ATTRIBUTE_AUTHORITY_COMPROMISE": 8, 99 } 100) 101 102func (x RevocationReason) Enum() *RevocationReason { 103 p := new(RevocationReason) 104 *p = x 105 return p 106} 107 108func (x RevocationReason) String() string { 109 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 110} 111 112func (RevocationReason) Descriptor() protoreflect.EnumDescriptor { 113 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[0].Descriptor() 114} 115 116func (RevocationReason) Type() protoreflect.EnumType { 117 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[0] 118} 119 120func (x RevocationReason) Number() protoreflect.EnumNumber { 121 return protoreflect.EnumNumber(x) 122} 123 124// Deprecated: Use RevocationReason.Descriptor instead. 125func (RevocationReason) EnumDescriptor() ([]byte, []int) { 126 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0} 127} 128 129// The type of a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], indicating its issuing chain. 130type CertificateAuthority_Type int32 131 132const ( 133 // Not specified. 134 CertificateAuthority_TYPE_UNSPECIFIED CertificateAuthority_Type = 0 135 // Self-signed CA. 136 CertificateAuthority_SELF_SIGNED CertificateAuthority_Type = 1 137 // Subordinate CA. Could be issued by a Private CA [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] 138 // or an unmanaged CA. 139 CertificateAuthority_SUBORDINATE CertificateAuthority_Type = 2 140) 141 142// Enum value maps for CertificateAuthority_Type. 143var ( 144 CertificateAuthority_Type_name = map[int32]string{ 145 0: "TYPE_UNSPECIFIED", 146 1: "SELF_SIGNED", 147 2: "SUBORDINATE", 148 } 149 CertificateAuthority_Type_value = map[string]int32{ 150 "TYPE_UNSPECIFIED": 0, 151 "SELF_SIGNED": 1, 152 "SUBORDINATE": 2, 153 } 154) 155 156func (x CertificateAuthority_Type) Enum() *CertificateAuthority_Type { 157 p := new(CertificateAuthority_Type) 158 *p = x 159 return p 160} 161 162func (x CertificateAuthority_Type) String() string { 163 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 164} 165 166func (CertificateAuthority_Type) Descriptor() protoreflect.EnumDescriptor { 167 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[1].Descriptor() 168} 169 170func (CertificateAuthority_Type) Type() protoreflect.EnumType { 171 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[1] 172} 173 174func (x CertificateAuthority_Type) Number() protoreflect.EnumNumber { 175 return protoreflect.EnumNumber(x) 176} 177 178// Deprecated: Use CertificateAuthority_Type.Descriptor instead. 179func (CertificateAuthority_Type) EnumDescriptor() ([]byte, []int) { 180 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 0} 181} 182 183// The tier of a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], indicating its supported 184// functionality and/or billing SKU. 185type CertificateAuthority_Tier int32 186 187const ( 188 // Not specified. 189 CertificateAuthority_TIER_UNSPECIFIED CertificateAuthority_Tier = 0 190 // Enterprise tier. 191 CertificateAuthority_ENTERPRISE CertificateAuthority_Tier = 1 192 // DevOps tier. 193 CertificateAuthority_DEVOPS CertificateAuthority_Tier = 2 194) 195 196// Enum value maps for CertificateAuthority_Tier. 197var ( 198 CertificateAuthority_Tier_name = map[int32]string{ 199 0: "TIER_UNSPECIFIED", 200 1: "ENTERPRISE", 201 2: "DEVOPS", 202 } 203 CertificateAuthority_Tier_value = map[string]int32{ 204 "TIER_UNSPECIFIED": 0, 205 "ENTERPRISE": 1, 206 "DEVOPS": 2, 207 } 208) 209 210func (x CertificateAuthority_Tier) Enum() *CertificateAuthority_Tier { 211 p := new(CertificateAuthority_Tier) 212 *p = x 213 return p 214} 215 216func (x CertificateAuthority_Tier) String() string { 217 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 218} 219 220func (CertificateAuthority_Tier) Descriptor() protoreflect.EnumDescriptor { 221 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[2].Descriptor() 222} 223 224func (CertificateAuthority_Tier) Type() protoreflect.EnumType { 225 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[2] 226} 227 228func (x CertificateAuthority_Tier) Number() protoreflect.EnumNumber { 229 return protoreflect.EnumNumber(x) 230} 231 232// Deprecated: Use CertificateAuthority_Tier.Descriptor instead. 233func (CertificateAuthority_Tier) EnumDescriptor() ([]byte, []int) { 234 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 1} 235} 236 237// The state of a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], indicating if it can be used. 238type CertificateAuthority_State int32 239 240const ( 241 // Not specified. 242 CertificateAuthority_STATE_UNSPECIFIED CertificateAuthority_State = 0 243 // Certificates can be issued from this CA. CRLs will be generated for this 244 // CA. 245 CertificateAuthority_ENABLED CertificateAuthority_State = 1 246 // Certificates cannot be issued from this CA. CRLs will still be generated. 247 CertificateAuthority_DISABLED CertificateAuthority_State = 2 248 // Certificates cannot be issued from this CA. CRLs will not be generated. 249 CertificateAuthority_PENDING_ACTIVATION CertificateAuthority_State = 3 250 // Certificates cannot be issued from this CA. CRLs will not be generated. 251 CertificateAuthority_PENDING_DELETION CertificateAuthority_State = 4 252) 253 254// Enum value maps for CertificateAuthority_State. 255var ( 256 CertificateAuthority_State_name = map[int32]string{ 257 0: "STATE_UNSPECIFIED", 258 1: "ENABLED", 259 2: "DISABLED", 260 3: "PENDING_ACTIVATION", 261 4: "PENDING_DELETION", 262 } 263 CertificateAuthority_State_value = map[string]int32{ 264 "STATE_UNSPECIFIED": 0, 265 "ENABLED": 1, 266 "DISABLED": 2, 267 "PENDING_ACTIVATION": 3, 268 "PENDING_DELETION": 4, 269 } 270) 271 272func (x CertificateAuthority_State) Enum() *CertificateAuthority_State { 273 p := new(CertificateAuthority_State) 274 *p = x 275 return p 276} 277 278func (x CertificateAuthority_State) String() string { 279 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 280} 281 282func (CertificateAuthority_State) Descriptor() protoreflect.EnumDescriptor { 283 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[3].Descriptor() 284} 285 286func (CertificateAuthority_State) Type() protoreflect.EnumType { 287 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[3] 288} 289 290func (x CertificateAuthority_State) Number() protoreflect.EnumNumber { 291 return protoreflect.EnumNumber(x) 292} 293 294// Deprecated: Use CertificateAuthority_State.Descriptor instead. 295func (CertificateAuthority_State) EnumDescriptor() ([]byte, []int) { 296 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 2} 297} 298 299// The algorithm of a Cloud KMS CryptoKeyVersion of a 300// [CryptoKey][google.cloud.kms.v1.CryptoKey] with the 301// [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] value 302// `ASYMMETRIC_SIGN`. These values correspond to the 303// [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] 304// values. For RSA signing algorithms, the PSS algorithms should be preferred, 305// use PKCS1 algorithms if required for compatibility. For further 306// recommandations, see 307// https://cloud.google.com/kms/docs/algorithms#algorithm_recommendations. 308type CertificateAuthority_SignHashAlgorithm int32 309 310const ( 311 // Not specified. 312 CertificateAuthority_SIGN_HASH_ALGORITHM_UNSPECIFIED CertificateAuthority_SignHashAlgorithm = 0 313 // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256 314 CertificateAuthority_RSA_PSS_2048_SHA256 CertificateAuthority_SignHashAlgorithm = 1 315 // maps to CryptoKeyVersionAlgorithm. RSA_SIGN_PSS_3072_SHA256 316 CertificateAuthority_RSA_PSS_3072_SHA256 CertificateAuthority_SignHashAlgorithm = 2 317 // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_4096_SHA256 318 CertificateAuthority_RSA_PSS_4096_SHA256 CertificateAuthority_SignHashAlgorithm = 3 319 // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_2048_SHA256 320 CertificateAuthority_RSA_PKCS1_2048_SHA256 CertificateAuthority_SignHashAlgorithm = 6 321 // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_3072_SHA256 322 CertificateAuthority_RSA_PKCS1_3072_SHA256 CertificateAuthority_SignHashAlgorithm = 7 323 // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_4096_SHA256 324 CertificateAuthority_RSA_PKCS1_4096_SHA256 CertificateAuthority_SignHashAlgorithm = 8 325 // maps to CryptoKeyVersionAlgorithm.EC_SIGN_P256_SHA256 326 CertificateAuthority_EC_P256_SHA256 CertificateAuthority_SignHashAlgorithm = 4 327 // maps to CryptoKeyVersionAlgorithm.EC_SIGN_P384_SHA384 328 CertificateAuthority_EC_P384_SHA384 CertificateAuthority_SignHashAlgorithm = 5 329) 330 331// Enum value maps for CertificateAuthority_SignHashAlgorithm. 332var ( 333 CertificateAuthority_SignHashAlgorithm_name = map[int32]string{ 334 0: "SIGN_HASH_ALGORITHM_UNSPECIFIED", 335 1: "RSA_PSS_2048_SHA256", 336 2: "RSA_PSS_3072_SHA256", 337 3: "RSA_PSS_4096_SHA256", 338 6: "RSA_PKCS1_2048_SHA256", 339 7: "RSA_PKCS1_3072_SHA256", 340 8: "RSA_PKCS1_4096_SHA256", 341 4: "EC_P256_SHA256", 342 5: "EC_P384_SHA384", 343 } 344 CertificateAuthority_SignHashAlgorithm_value = map[string]int32{ 345 "SIGN_HASH_ALGORITHM_UNSPECIFIED": 0, 346 "RSA_PSS_2048_SHA256": 1, 347 "RSA_PSS_3072_SHA256": 2, 348 "RSA_PSS_4096_SHA256": 3, 349 "RSA_PKCS1_2048_SHA256": 6, 350 "RSA_PKCS1_3072_SHA256": 7, 351 "RSA_PKCS1_4096_SHA256": 8, 352 "EC_P256_SHA256": 4, 353 "EC_P384_SHA384": 5, 354 } 355) 356 357func (x CertificateAuthority_SignHashAlgorithm) Enum() *CertificateAuthority_SignHashAlgorithm { 358 p := new(CertificateAuthority_SignHashAlgorithm) 359 *p = x 360 return p 361} 362 363func (x CertificateAuthority_SignHashAlgorithm) String() string { 364 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 365} 366 367func (CertificateAuthority_SignHashAlgorithm) Descriptor() protoreflect.EnumDescriptor { 368 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[4].Descriptor() 369} 370 371func (CertificateAuthority_SignHashAlgorithm) Type() protoreflect.EnumType { 372 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[4] 373} 374 375func (x CertificateAuthority_SignHashAlgorithm) Number() protoreflect.EnumNumber { 376 return protoreflect.EnumNumber(x) 377} 378 379// Deprecated: Use CertificateAuthority_SignHashAlgorithm.Descriptor instead. 380func (CertificateAuthority_SignHashAlgorithm) EnumDescriptor() ([]byte, []int) { 381 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 3} 382} 383 384// The state of a [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList], indicating if it is current. 385type CertificateRevocationList_State int32 386 387const ( 388 // Not specified. 389 CertificateRevocationList_STATE_UNSPECIFIED CertificateRevocationList_State = 0 390 // The [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] is up to date. 391 CertificateRevocationList_ACTIVE CertificateRevocationList_State = 1 392 // The [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] is no longer current. 393 CertificateRevocationList_SUPERSEDED CertificateRevocationList_State = 2 394) 395 396// Enum value maps for CertificateRevocationList_State. 397var ( 398 CertificateRevocationList_State_name = map[int32]string{ 399 0: "STATE_UNSPECIFIED", 400 1: "ACTIVE", 401 2: "SUPERSEDED", 402 } 403 CertificateRevocationList_State_value = map[string]int32{ 404 "STATE_UNSPECIFIED": 0, 405 "ACTIVE": 1, 406 "SUPERSEDED": 2, 407 } 408) 409 410func (x CertificateRevocationList_State) Enum() *CertificateRevocationList_State { 411 p := new(CertificateRevocationList_State) 412 *p = x 413 return p 414} 415 416func (x CertificateRevocationList_State) String() string { 417 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 418} 419 420func (CertificateRevocationList_State) Descriptor() protoreflect.EnumDescriptor { 421 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[5].Descriptor() 422} 423 424func (CertificateRevocationList_State) Type() protoreflect.EnumType { 425 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[5] 426} 427 428func (x CertificateRevocationList_State) Number() protoreflect.EnumNumber { 429 return protoreflect.EnumNumber(x) 430} 431 432// Deprecated: Use CertificateRevocationList_State.Descriptor instead. 433func (CertificateRevocationList_State) EnumDescriptor() ([]byte, []int) { 434 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{1, 0} 435} 436 437// Types of public keys that are supported. 438// At a minimum, we support RSA and ECDSA, for the key sizes or curves listed: 439// https://cloud.google.com/kms/docs/algorithms#asymmetric_signing_algorithms 440type PublicKey_KeyType int32 441 442const ( 443 // Default unspecified value. 444 PublicKey_KEY_TYPE_UNSPECIFIED PublicKey_KeyType = 0 445 // A PEM-encoded PKCS#1/RFC 3447 RSAPrivateKey structure. 446 PublicKey_PEM_RSA_KEY PublicKey_KeyType = 1 447 // A PEM-encoded compressed NIST P-256/secp256r1/prime256v1 or P-384 key. 448 PublicKey_PEM_EC_KEY PublicKey_KeyType = 2 449) 450 451// Enum value maps for PublicKey_KeyType. 452var ( 453 PublicKey_KeyType_name = map[int32]string{ 454 0: "KEY_TYPE_UNSPECIFIED", 455 1: "PEM_RSA_KEY", 456 2: "PEM_EC_KEY", 457 } 458 PublicKey_KeyType_value = map[string]int32{ 459 "KEY_TYPE_UNSPECIFIED": 0, 460 "PEM_RSA_KEY": 1, 461 "PEM_EC_KEY": 2, 462 } 463) 464 465func (x PublicKey_KeyType) Enum() *PublicKey_KeyType { 466 p := new(PublicKey_KeyType) 467 *p = x 468 return p 469} 470 471func (x PublicKey_KeyType) String() string { 472 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 473} 474 475func (PublicKey_KeyType) Descriptor() protoreflect.EnumDescriptor { 476 return file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[6].Descriptor() 477} 478 479func (PublicKey_KeyType) Type() protoreflect.EnumType { 480 return &file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes[6] 481} 482 483func (x PublicKey_KeyType) Number() protoreflect.EnumNumber { 484 return protoreflect.EnumNumber(x) 485} 486 487// Deprecated: Use PublicKey_KeyType.Descriptor instead. 488func (PublicKey_KeyType) EnumDescriptor() ([]byte, []int) { 489 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{7, 0} 490} 491 492// A [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] represents an individual Certificate Authority. 493// A [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] can be used to create [Certificates][google.cloud.security.privateca.v1beta1.Certificate]. 494type CertificateAuthority struct { 495 state protoimpl.MessageState 496 sizeCache protoimpl.SizeCache 497 unknownFields protoimpl.UnknownFields 498 499 // Output only. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the 500 // format `projects/*/locations/*/certificateAuthorities/*`. 501 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 502 // Required. Immutable. The [Type][google.cloud.security.privateca.v1beta1.CertificateAuthority.Type] of this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 503 Type CertificateAuthority_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.security.privateca.v1beta1.CertificateAuthority_Type" json:"type,omitempty"` 504 // Required. Immutable. The [Tier][google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier] of this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 505 Tier CertificateAuthority_Tier `protobuf:"varint,3,opt,name=tier,proto3,enum=google.cloud.security.privateca.v1beta1.CertificateAuthority_Tier" json:"tier,omitempty"` 506 // Required. Immutable. The config used to create a self-signed X.509 certificate or CSR. 507 Config *CertificateConfig `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` 508 // Required. The desired lifetime of the CA certificate. Used to create the 509 // "not_before_time" and "not_after_time" fields inside an X.509 510 // certificate. 511 Lifetime *durationpb.Duration `protobuf:"bytes,5,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 512 // Required. Immutable. Used when issuing certificates for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. If this 513 // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] is a self-signed CertificateAuthority, this key 514 // is also used to sign the self-signed CA certificate. Otherwise, it 515 // is used to sign a CSR. 516 KeySpec *CertificateAuthority_KeyVersionSpec `protobuf:"bytes,6,opt,name=key_spec,json=keySpec,proto3" json:"key_spec,omitempty"` 517 // Optional. The [CertificateAuthorityPolicy][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy] to enforce when issuing 518 // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] from this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 519 CertificatePolicy *CertificateAuthority_CertificateAuthorityPolicy `protobuf:"bytes,7,opt,name=certificate_policy,json=certificatePolicy,proto3" json:"certificate_policy,omitempty"` 520 // Optional. The [IssuingOptions][google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions] to follow when issuing [Certificates][google.cloud.security.privateca.v1beta1.Certificate] 521 // from this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 522 IssuingOptions *CertificateAuthority_IssuingOptions `protobuf:"bytes,8,opt,name=issuing_options,json=issuingOptions,proto3" json:"issuing_options,omitempty"` 523 // Optional. If this is a subordinate [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], this field will be set 524 // with the subordinate configuration, which describes its issuers. This may 525 // be updated, but this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must continue to validate. 526 SubordinateConfig *SubordinateConfig `protobuf:"bytes,19,opt,name=subordinate_config,json=subordinateConfig,proto3" json:"subordinate_config,omitempty"` 527 // Output only. The [State][google.cloud.security.privateca.v1beta1.CertificateAuthority.State] for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 528 State CertificateAuthority_State `protobuf:"varint,10,opt,name=state,proto3,enum=google.cloud.security.privateca.v1beta1.CertificateAuthority_State" json:"state,omitempty"` 529 // Output only. This [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s certificate chain, including the current 530 // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s certificate. Ordered such that the root issuer 531 // is the final element (consistent with RFC 5246). For a self-signed CA, this 532 // will only list the current [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s certificate. 533 PemCaCertificates []string `protobuf:"bytes,9,rep,name=pem_ca_certificates,json=pemCaCertificates,proto3" json:"pem_ca_certificates,omitempty"` 534 // Output only. A structured description of this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s CA certificate 535 // and its issuers. Ordered as self-to-root. 536 CaCertificateDescriptions []*CertificateDescription `protobuf:"bytes,12,rep,name=ca_certificate_descriptions,json=caCertificateDescriptions,proto3" json:"ca_certificate_descriptions,omitempty"` 537 // Immutable. The name of a Cloud Storage bucket where this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will 538 // publish content, such as the CA certificate and CRLs. This must be a bucket 539 // name, without any prefixes (such as `gs://`) or suffixes (such as 540 // `.googleapis.com`). For example, to use a bucket named `my-bucket`, you 541 // would simply specify `my-bucket`. If not specified, a managed bucket will 542 // be created. 543 GcsBucket string `protobuf:"bytes,13,opt,name=gcs_bucket,json=gcsBucket,proto3" json:"gcs_bucket,omitempty"` 544 // Output only. URLs for accessing content published by this CA, such as the CA certificate 545 // and CRLs. 546 AccessUrls *CertificateAuthority_AccessUrls `protobuf:"bytes,14,opt,name=access_urls,json=accessUrls,proto3" json:"access_urls,omitempty"` 547 // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] was created. 548 CreateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 549 // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] was updated. 550 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 551 // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will be deleted, if 552 // scheduled for deletion. 553 DeleteTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` 554 // Optional. Labels with user-defined metadata. 555 Labels map[string]string `protobuf:"bytes,18,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 556} 557 558func (x *CertificateAuthority) Reset() { 559 *x = CertificateAuthority{} 560 if protoimpl.UnsafeEnabled { 561 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[0] 562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 563 ms.StoreMessageInfo(mi) 564 } 565} 566 567func (x *CertificateAuthority) String() string { 568 return protoimpl.X.MessageStringOf(x) 569} 570 571func (*CertificateAuthority) ProtoMessage() {} 572 573func (x *CertificateAuthority) ProtoReflect() protoreflect.Message { 574 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[0] 575 if protoimpl.UnsafeEnabled && x != nil { 576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 577 if ms.LoadMessageInfo() == nil { 578 ms.StoreMessageInfo(mi) 579 } 580 return ms 581 } 582 return mi.MessageOf(x) 583} 584 585// Deprecated: Use CertificateAuthority.ProtoReflect.Descriptor instead. 586func (*CertificateAuthority) Descriptor() ([]byte, []int) { 587 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0} 588} 589 590func (x *CertificateAuthority) GetName() string { 591 if x != nil { 592 return x.Name 593 } 594 return "" 595} 596 597func (x *CertificateAuthority) GetType() CertificateAuthority_Type { 598 if x != nil { 599 return x.Type 600 } 601 return CertificateAuthority_TYPE_UNSPECIFIED 602} 603 604func (x *CertificateAuthority) GetTier() CertificateAuthority_Tier { 605 if x != nil { 606 return x.Tier 607 } 608 return CertificateAuthority_TIER_UNSPECIFIED 609} 610 611func (x *CertificateAuthority) GetConfig() *CertificateConfig { 612 if x != nil { 613 return x.Config 614 } 615 return nil 616} 617 618func (x *CertificateAuthority) GetLifetime() *durationpb.Duration { 619 if x != nil { 620 return x.Lifetime 621 } 622 return nil 623} 624 625func (x *CertificateAuthority) GetKeySpec() *CertificateAuthority_KeyVersionSpec { 626 if x != nil { 627 return x.KeySpec 628 } 629 return nil 630} 631 632func (x *CertificateAuthority) GetCertificatePolicy() *CertificateAuthority_CertificateAuthorityPolicy { 633 if x != nil { 634 return x.CertificatePolicy 635 } 636 return nil 637} 638 639func (x *CertificateAuthority) GetIssuingOptions() *CertificateAuthority_IssuingOptions { 640 if x != nil { 641 return x.IssuingOptions 642 } 643 return nil 644} 645 646func (x *CertificateAuthority) GetSubordinateConfig() *SubordinateConfig { 647 if x != nil { 648 return x.SubordinateConfig 649 } 650 return nil 651} 652 653func (x *CertificateAuthority) GetState() CertificateAuthority_State { 654 if x != nil { 655 return x.State 656 } 657 return CertificateAuthority_STATE_UNSPECIFIED 658} 659 660func (x *CertificateAuthority) GetPemCaCertificates() []string { 661 if x != nil { 662 return x.PemCaCertificates 663 } 664 return nil 665} 666 667func (x *CertificateAuthority) GetCaCertificateDescriptions() []*CertificateDescription { 668 if x != nil { 669 return x.CaCertificateDescriptions 670 } 671 return nil 672} 673 674func (x *CertificateAuthority) GetGcsBucket() string { 675 if x != nil { 676 return x.GcsBucket 677 } 678 return "" 679} 680 681func (x *CertificateAuthority) GetAccessUrls() *CertificateAuthority_AccessUrls { 682 if x != nil { 683 return x.AccessUrls 684 } 685 return nil 686} 687 688func (x *CertificateAuthority) GetCreateTime() *timestamppb.Timestamp { 689 if x != nil { 690 return x.CreateTime 691 } 692 return nil 693} 694 695func (x *CertificateAuthority) GetUpdateTime() *timestamppb.Timestamp { 696 if x != nil { 697 return x.UpdateTime 698 } 699 return nil 700} 701 702func (x *CertificateAuthority) GetDeleteTime() *timestamppb.Timestamp { 703 if x != nil { 704 return x.DeleteTime 705 } 706 return nil 707} 708 709func (x *CertificateAuthority) GetLabels() map[string]string { 710 if x != nil { 711 return x.Labels 712 } 713 return nil 714} 715 716// A [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] corresponds to a signed X.509 certificate 717// Revocation List (CRL). A CRL contains the serial numbers of certificates that 718// should no longer be trusted. 719type CertificateRevocationList struct { 720 state protoimpl.MessageState 721 sizeCache protoimpl.SizeCache 722 unknownFields protoimpl.UnknownFields 723 724 // Output only. The resource path for this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] in 725 // the format 726 // `projects/*/locations/*/certificateAuthorities/*/ 727 // certificateRevocationLists/*`. 728 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 729 // Output only. The CRL sequence number that appears in pem_crl. 730 SequenceNumber int64 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` 731 // Output only. The revoked serial numbers that appear in pem_crl. 732 RevokedCertificates []*CertificateRevocationList_RevokedCertificate `protobuf:"bytes,3,rep,name=revoked_certificates,json=revokedCertificates,proto3" json:"revoked_certificates,omitempty"` 733 // Output only. The PEM-encoded X.509 CRL. 734 PemCrl string `protobuf:"bytes,4,opt,name=pem_crl,json=pemCrl,proto3" json:"pem_crl,omitempty"` 735 // Output only. The location where 'pem_crl' can be accessed. 736 AccessUrl string `protobuf:"bytes,5,opt,name=access_url,json=accessUrl,proto3" json:"access_url,omitempty"` 737 // Output only. The [State][google.cloud.security.privateca.v1beta1.CertificateRevocationList.State] for this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList]. 738 State CertificateRevocationList_State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.security.privateca.v1beta1.CertificateRevocationList_State" json:"state,omitempty"` 739 // Output only. The time at which this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] was created. 740 CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 741 // Output only. The time at which this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] was updated. 742 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 743 // Optional. Labels with user-defined metadata. 744 Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 745} 746 747func (x *CertificateRevocationList) Reset() { 748 *x = CertificateRevocationList{} 749 if protoimpl.UnsafeEnabled { 750 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[1] 751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 752 ms.StoreMessageInfo(mi) 753 } 754} 755 756func (x *CertificateRevocationList) String() string { 757 return protoimpl.X.MessageStringOf(x) 758} 759 760func (*CertificateRevocationList) ProtoMessage() {} 761 762func (x *CertificateRevocationList) ProtoReflect() protoreflect.Message { 763 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[1] 764 if protoimpl.UnsafeEnabled && x != nil { 765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 766 if ms.LoadMessageInfo() == nil { 767 ms.StoreMessageInfo(mi) 768 } 769 return ms 770 } 771 return mi.MessageOf(x) 772} 773 774// Deprecated: Use CertificateRevocationList.ProtoReflect.Descriptor instead. 775func (*CertificateRevocationList) Descriptor() ([]byte, []int) { 776 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{1} 777} 778 779func (x *CertificateRevocationList) GetName() string { 780 if x != nil { 781 return x.Name 782 } 783 return "" 784} 785 786func (x *CertificateRevocationList) GetSequenceNumber() int64 { 787 if x != nil { 788 return x.SequenceNumber 789 } 790 return 0 791} 792 793func (x *CertificateRevocationList) GetRevokedCertificates() []*CertificateRevocationList_RevokedCertificate { 794 if x != nil { 795 return x.RevokedCertificates 796 } 797 return nil 798} 799 800func (x *CertificateRevocationList) GetPemCrl() string { 801 if x != nil { 802 return x.PemCrl 803 } 804 return "" 805} 806 807func (x *CertificateRevocationList) GetAccessUrl() string { 808 if x != nil { 809 return x.AccessUrl 810 } 811 return "" 812} 813 814func (x *CertificateRevocationList) GetState() CertificateRevocationList_State { 815 if x != nil { 816 return x.State 817 } 818 return CertificateRevocationList_STATE_UNSPECIFIED 819} 820 821func (x *CertificateRevocationList) GetCreateTime() *timestamppb.Timestamp { 822 if x != nil { 823 return x.CreateTime 824 } 825 return nil 826} 827 828func (x *CertificateRevocationList) GetUpdateTime() *timestamppb.Timestamp { 829 if x != nil { 830 return x.UpdateTime 831 } 832 return nil 833} 834 835func (x *CertificateRevocationList) GetLabels() map[string]string { 836 if x != nil { 837 return x.Labels 838 } 839 return nil 840} 841 842// A [Certificate][google.cloud.security.privateca.v1beta1.Certificate] corresponds to a signed X.509 certificate issued by a 843// [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 844type Certificate struct { 845 state protoimpl.MessageState 846 sizeCache protoimpl.SizeCache 847 unknownFields protoimpl.UnknownFields 848 849 // Output only. The resource path for this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] in the format 850 // `projects/*/locations/*/certificateAuthorities/*/certificates/*`. 851 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 852 // The config used to create a signed X.509 certificate. 853 // 854 // Types that are assignable to CertificateConfig: 855 // *Certificate_PemCsr 856 // *Certificate_Config 857 CertificateConfig isCertificate_CertificateConfig `protobuf_oneof:"certificate_config"` 858 // Required. Immutable. The desired lifetime of a certificate. Used to create the 859 // "not_before_time" and "not_after_time" fields inside an X.509 860 // certificate. Note that the lifetime may be truncated if it would extend 861 // past the life of any certificate authority in the issuing chain. 862 Lifetime *durationpb.Duration `protobuf:"bytes,4,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 863 // Output only. Details regarding the revocation of this [Certificate][google.cloud.security.privateca.v1beta1.Certificate]. This 864 // [Certificate][google.cloud.security.privateca.v1beta1.Certificate] is considered revoked if and only if this field is present. 865 RevocationDetails *Certificate_RevocationDetails `protobuf:"bytes,5,opt,name=revocation_details,json=revocationDetails,proto3" json:"revocation_details,omitempty"` 866 // Output only. The pem-encoded, signed X.509 certificate. 867 PemCertificate string `protobuf:"bytes,6,opt,name=pem_certificate,json=pemCertificate,proto3" json:"pem_certificate,omitempty"` 868 // Output only. A structured description of the issued X.509 certificate. 869 CertificateDescription *CertificateDescription `protobuf:"bytes,7,opt,name=certificate_description,json=certificateDescription,proto3" json:"certificate_description,omitempty"` 870 // Output only. The chain that may be used to verify the X.509 certificate. Expected to be 871 // in issuer-to-root order according to RFC 5246. 872 PemCertificateChain []string `protobuf:"bytes,8,rep,name=pem_certificate_chain,json=pemCertificateChain,proto3" json:"pem_certificate_chain,omitempty"` 873 // Output only. The time at which this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was created. 874 CreateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 875 // Output only. The time at which this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was updated. 876 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 877 // Optional. Labels with user-defined metadata. 878 Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 879} 880 881func (x *Certificate) Reset() { 882 *x = Certificate{} 883 if protoimpl.UnsafeEnabled { 884 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[2] 885 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 886 ms.StoreMessageInfo(mi) 887 } 888} 889 890func (x *Certificate) String() string { 891 return protoimpl.X.MessageStringOf(x) 892} 893 894func (*Certificate) ProtoMessage() {} 895 896func (x *Certificate) ProtoReflect() protoreflect.Message { 897 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[2] 898 if protoimpl.UnsafeEnabled && x != nil { 899 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 900 if ms.LoadMessageInfo() == nil { 901 ms.StoreMessageInfo(mi) 902 } 903 return ms 904 } 905 return mi.MessageOf(x) 906} 907 908// Deprecated: Use Certificate.ProtoReflect.Descriptor instead. 909func (*Certificate) Descriptor() ([]byte, []int) { 910 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{2} 911} 912 913func (x *Certificate) GetName() string { 914 if x != nil { 915 return x.Name 916 } 917 return "" 918} 919 920func (m *Certificate) GetCertificateConfig() isCertificate_CertificateConfig { 921 if m != nil { 922 return m.CertificateConfig 923 } 924 return nil 925} 926 927func (x *Certificate) GetPemCsr() string { 928 if x, ok := x.GetCertificateConfig().(*Certificate_PemCsr); ok { 929 return x.PemCsr 930 } 931 return "" 932} 933 934func (x *Certificate) GetConfig() *CertificateConfig { 935 if x, ok := x.GetCertificateConfig().(*Certificate_Config); ok { 936 return x.Config 937 } 938 return nil 939} 940 941func (x *Certificate) GetLifetime() *durationpb.Duration { 942 if x != nil { 943 return x.Lifetime 944 } 945 return nil 946} 947 948func (x *Certificate) GetRevocationDetails() *Certificate_RevocationDetails { 949 if x != nil { 950 return x.RevocationDetails 951 } 952 return nil 953} 954 955func (x *Certificate) GetPemCertificate() string { 956 if x != nil { 957 return x.PemCertificate 958 } 959 return "" 960} 961 962func (x *Certificate) GetCertificateDescription() *CertificateDescription { 963 if x != nil { 964 return x.CertificateDescription 965 } 966 return nil 967} 968 969func (x *Certificate) GetPemCertificateChain() []string { 970 if x != nil { 971 return x.PemCertificateChain 972 } 973 return nil 974} 975 976func (x *Certificate) GetCreateTime() *timestamppb.Timestamp { 977 if x != nil { 978 return x.CreateTime 979 } 980 return nil 981} 982 983func (x *Certificate) GetUpdateTime() *timestamppb.Timestamp { 984 if x != nil { 985 return x.UpdateTime 986 } 987 return nil 988} 989 990func (x *Certificate) GetLabels() map[string]string { 991 if x != nil { 992 return x.Labels 993 } 994 return nil 995} 996 997type isCertificate_CertificateConfig interface { 998 isCertificate_CertificateConfig() 999} 1000 1001type Certificate_PemCsr struct { 1002 // Immutable. A pem-encoded X.509 certificate signing request (CSR). 1003 PemCsr string `protobuf:"bytes,2,opt,name=pem_csr,json=pemCsr,proto3,oneof"` 1004} 1005 1006type Certificate_Config struct { 1007 // Immutable. A description of the certificate and key that does not require X.509 or 1008 // ASN.1. 1009 Config *CertificateConfig `protobuf:"bytes,3,opt,name=config,proto3,oneof"` 1010} 1011 1012func (*Certificate_PemCsr) isCertificate_CertificateConfig() {} 1013 1014func (*Certificate_Config) isCertificate_CertificateConfig() {} 1015 1016// A [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] refers to a managed [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues]. Those, in 1017// turn, are used to describe certain fields of an X.509 certificate, such as 1018// the key usage fields, fields specific to CA certificates, certificate policy 1019// extensions and custom extensions. 1020type ReusableConfig struct { 1021 state protoimpl.MessageState 1022 sizeCache protoimpl.SizeCache 1023 unknownFields protoimpl.UnknownFields 1024 1025 // Output only. The resource path for this [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] in the format 1026 // `projects/*/locations/*/reusableConfigs/*`. 1027 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1028 // Required. The config values. 1029 Values *ReusableConfigValues `protobuf:"bytes,2,opt,name=values,proto3" json:"values,omitempty"` 1030 // Optional. A human-readable description of scenarios these ReusableConfigValues may be 1031 // compatible with. 1032 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 1033 // Output only. The time at which this [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] was created. 1034 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1035 // Output only. The time at which this [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] was updated. 1036 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 1037 // Optional. Labels with user-defined metadata. 1038 Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1039} 1040 1041func (x *ReusableConfig) Reset() { 1042 *x = ReusableConfig{} 1043 if protoimpl.UnsafeEnabled { 1044 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[3] 1045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1046 ms.StoreMessageInfo(mi) 1047 } 1048} 1049 1050func (x *ReusableConfig) String() string { 1051 return protoimpl.X.MessageStringOf(x) 1052} 1053 1054func (*ReusableConfig) ProtoMessage() {} 1055 1056func (x *ReusableConfig) ProtoReflect() protoreflect.Message { 1057 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[3] 1058 if protoimpl.UnsafeEnabled && x != nil { 1059 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1060 if ms.LoadMessageInfo() == nil { 1061 ms.StoreMessageInfo(mi) 1062 } 1063 return ms 1064 } 1065 return mi.MessageOf(x) 1066} 1067 1068// Deprecated: Use ReusableConfig.ProtoReflect.Descriptor instead. 1069func (*ReusableConfig) Descriptor() ([]byte, []int) { 1070 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{3} 1071} 1072 1073func (x *ReusableConfig) GetName() string { 1074 if x != nil { 1075 return x.Name 1076 } 1077 return "" 1078} 1079 1080func (x *ReusableConfig) GetValues() *ReusableConfigValues { 1081 if x != nil { 1082 return x.Values 1083 } 1084 return nil 1085} 1086 1087func (x *ReusableConfig) GetDescription() string { 1088 if x != nil { 1089 return x.Description 1090 } 1091 return "" 1092} 1093 1094func (x *ReusableConfig) GetCreateTime() *timestamppb.Timestamp { 1095 if x != nil { 1096 return x.CreateTime 1097 } 1098 return nil 1099} 1100 1101func (x *ReusableConfig) GetUpdateTime() *timestamppb.Timestamp { 1102 if x != nil { 1103 return x.UpdateTime 1104 } 1105 return nil 1106} 1107 1108func (x *ReusableConfig) GetLabels() map[string]string { 1109 if x != nil { 1110 return x.Labels 1111 } 1112 return nil 1113} 1114 1115// A [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues] is used to describe certain fields of an 1116// X.509 certificate, such as the key usage fields, fields specific to CA 1117// certificates, certificate policy extensions and custom extensions. 1118type ReusableConfigValues struct { 1119 state protoimpl.MessageState 1120 sizeCache protoimpl.SizeCache 1121 unknownFields protoimpl.UnknownFields 1122 1123 // Optional. Indicates the intended use for keys that correspond to a certificate. 1124 KeyUsage *KeyUsage `protobuf:"bytes,1,opt,name=key_usage,json=keyUsage,proto3" json:"key_usage,omitempty"` 1125 // Optional. Describes options in this [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues] that are 1126 // relevant in a CA certificate. 1127 CaOptions *ReusableConfigValues_CaOptions `protobuf:"bytes,2,opt,name=ca_options,json=caOptions,proto3" json:"ca_options,omitempty"` 1128 // Optional. Describes the X.509 certificate policy object identifiers, per 1129 // https://tools.ietf.org/html/rfc5280#section-4.2.1.4. 1130 PolicyIds []*ObjectId `protobuf:"bytes,3,rep,name=policy_ids,json=policyIds,proto3" json:"policy_ids,omitempty"` 1131 // Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses 1132 // that appear in the "Authority Information Access" extension in the 1133 // certificate. 1134 AiaOcspServers []string `protobuf:"bytes,4,rep,name=aia_ocsp_servers,json=aiaOcspServers,proto3" json:"aia_ocsp_servers,omitempty"` 1135 // Optional. Describes custom X.509 extensions. 1136 AdditionalExtensions []*X509Extension `protobuf:"bytes,5,rep,name=additional_extensions,json=additionalExtensions,proto3" json:"additional_extensions,omitempty"` 1137} 1138 1139func (x *ReusableConfigValues) Reset() { 1140 *x = ReusableConfigValues{} 1141 if protoimpl.UnsafeEnabled { 1142 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[4] 1143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1144 ms.StoreMessageInfo(mi) 1145 } 1146} 1147 1148func (x *ReusableConfigValues) String() string { 1149 return protoimpl.X.MessageStringOf(x) 1150} 1151 1152func (*ReusableConfigValues) ProtoMessage() {} 1153 1154func (x *ReusableConfigValues) ProtoReflect() protoreflect.Message { 1155 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[4] 1156 if protoimpl.UnsafeEnabled && x != nil { 1157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1158 if ms.LoadMessageInfo() == nil { 1159 ms.StoreMessageInfo(mi) 1160 } 1161 return ms 1162 } 1163 return mi.MessageOf(x) 1164} 1165 1166// Deprecated: Use ReusableConfigValues.ProtoReflect.Descriptor instead. 1167func (*ReusableConfigValues) Descriptor() ([]byte, []int) { 1168 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{4} 1169} 1170 1171func (x *ReusableConfigValues) GetKeyUsage() *KeyUsage { 1172 if x != nil { 1173 return x.KeyUsage 1174 } 1175 return nil 1176} 1177 1178func (x *ReusableConfigValues) GetCaOptions() *ReusableConfigValues_CaOptions { 1179 if x != nil { 1180 return x.CaOptions 1181 } 1182 return nil 1183} 1184 1185func (x *ReusableConfigValues) GetPolicyIds() []*ObjectId { 1186 if x != nil { 1187 return x.PolicyIds 1188 } 1189 return nil 1190} 1191 1192func (x *ReusableConfigValues) GetAiaOcspServers() []string { 1193 if x != nil { 1194 return x.AiaOcspServers 1195 } 1196 return nil 1197} 1198 1199func (x *ReusableConfigValues) GetAdditionalExtensions() []*X509Extension { 1200 if x != nil { 1201 return x.AdditionalExtensions 1202 } 1203 return nil 1204} 1205 1206// A [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper] describes values that may assist in creating an 1207// X.509 certificate, or a reference to a pre-defined set of values. 1208type ReusableConfigWrapper struct { 1209 state protoimpl.MessageState 1210 sizeCache protoimpl.SizeCache 1211 unknownFields protoimpl.UnknownFields 1212 1213 // Reusable or inline config values. 1214 // 1215 // Types that are assignable to ConfigValues: 1216 // *ReusableConfigWrapper_ReusableConfig 1217 // *ReusableConfigWrapper_ReusableConfigValues 1218 ConfigValues isReusableConfigWrapper_ConfigValues `protobuf_oneof:"config_values"` 1219} 1220 1221func (x *ReusableConfigWrapper) Reset() { 1222 *x = ReusableConfigWrapper{} 1223 if protoimpl.UnsafeEnabled { 1224 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[5] 1225 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1226 ms.StoreMessageInfo(mi) 1227 } 1228} 1229 1230func (x *ReusableConfigWrapper) String() string { 1231 return protoimpl.X.MessageStringOf(x) 1232} 1233 1234func (*ReusableConfigWrapper) ProtoMessage() {} 1235 1236func (x *ReusableConfigWrapper) ProtoReflect() protoreflect.Message { 1237 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[5] 1238 if protoimpl.UnsafeEnabled && x != nil { 1239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1240 if ms.LoadMessageInfo() == nil { 1241 ms.StoreMessageInfo(mi) 1242 } 1243 return ms 1244 } 1245 return mi.MessageOf(x) 1246} 1247 1248// Deprecated: Use ReusableConfigWrapper.ProtoReflect.Descriptor instead. 1249func (*ReusableConfigWrapper) Descriptor() ([]byte, []int) { 1250 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{5} 1251} 1252 1253func (m *ReusableConfigWrapper) GetConfigValues() isReusableConfigWrapper_ConfigValues { 1254 if m != nil { 1255 return m.ConfigValues 1256 } 1257 return nil 1258} 1259 1260func (x *ReusableConfigWrapper) GetReusableConfig() string { 1261 if x, ok := x.GetConfigValues().(*ReusableConfigWrapper_ReusableConfig); ok { 1262 return x.ReusableConfig 1263 } 1264 return "" 1265} 1266 1267func (x *ReusableConfigWrapper) GetReusableConfigValues() *ReusableConfigValues { 1268 if x, ok := x.GetConfigValues().(*ReusableConfigWrapper_ReusableConfigValues); ok { 1269 return x.ReusableConfigValues 1270 } 1271 return nil 1272} 1273 1274type isReusableConfigWrapper_ConfigValues interface { 1275 isReusableConfigWrapper_ConfigValues() 1276} 1277 1278type ReusableConfigWrapper_ReusableConfig struct { 1279 // Required. A resource path to a [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] in the format 1280 // `projects/*/locations/*/reusableConfigs/*`. 1281 ReusableConfig string `protobuf:"bytes,1,opt,name=reusable_config,json=reusableConfig,proto3,oneof"` 1282} 1283 1284type ReusableConfigWrapper_ReusableConfigValues struct { 1285 // Required. A user-specified inline [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues]. 1286 ReusableConfigValues *ReusableConfigValues `protobuf:"bytes,2,opt,name=reusable_config_values,json=reusableConfigValues,proto3,oneof"` 1287} 1288 1289func (*ReusableConfigWrapper_ReusableConfig) isReusableConfigWrapper_ConfigValues() {} 1290 1291func (*ReusableConfigWrapper_ReusableConfigValues) isReusableConfigWrapper_ConfigValues() {} 1292 1293// Describes a subordinate CA's issuers. This is either a resource path to a 1294// known issuing [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], or a PEM issuer certificate chain. 1295type SubordinateConfig struct { 1296 state protoimpl.MessageState 1297 sizeCache protoimpl.SizeCache 1298 unknownFields protoimpl.UnknownFields 1299 1300 // Types that are assignable to SubordinateConfig: 1301 // *SubordinateConfig_CertificateAuthority 1302 // *SubordinateConfig_PemIssuerChain 1303 SubordinateConfig isSubordinateConfig_SubordinateConfig `protobuf_oneof:"subordinate_config"` 1304} 1305 1306func (x *SubordinateConfig) Reset() { 1307 *x = SubordinateConfig{} 1308 if protoimpl.UnsafeEnabled { 1309 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[6] 1310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1311 ms.StoreMessageInfo(mi) 1312 } 1313} 1314 1315func (x *SubordinateConfig) String() string { 1316 return protoimpl.X.MessageStringOf(x) 1317} 1318 1319func (*SubordinateConfig) ProtoMessage() {} 1320 1321func (x *SubordinateConfig) ProtoReflect() protoreflect.Message { 1322 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[6] 1323 if protoimpl.UnsafeEnabled && x != nil { 1324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1325 if ms.LoadMessageInfo() == nil { 1326 ms.StoreMessageInfo(mi) 1327 } 1328 return ms 1329 } 1330 return mi.MessageOf(x) 1331} 1332 1333// Deprecated: Use SubordinateConfig.ProtoReflect.Descriptor instead. 1334func (*SubordinateConfig) Descriptor() ([]byte, []int) { 1335 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{6} 1336} 1337 1338func (m *SubordinateConfig) GetSubordinateConfig() isSubordinateConfig_SubordinateConfig { 1339 if m != nil { 1340 return m.SubordinateConfig 1341 } 1342 return nil 1343} 1344 1345func (x *SubordinateConfig) GetCertificateAuthority() string { 1346 if x, ok := x.GetSubordinateConfig().(*SubordinateConfig_CertificateAuthority); ok { 1347 return x.CertificateAuthority 1348 } 1349 return "" 1350} 1351 1352func (x *SubordinateConfig) GetPemIssuerChain() *SubordinateConfig_SubordinateConfigChain { 1353 if x, ok := x.GetSubordinateConfig().(*SubordinateConfig_PemIssuerChain); ok { 1354 return x.PemIssuerChain 1355 } 1356 return nil 1357} 1358 1359type isSubordinateConfig_SubordinateConfig interface { 1360 isSubordinateConfig_SubordinateConfig() 1361} 1362 1363type SubordinateConfig_CertificateAuthority struct { 1364 // Required. This can refer to a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the same project that 1365 // was used to create a subordinate [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. This field 1366 // is used for information and usability purposes only. The resource name 1367 // is in the format `projects/*/locations/*/certificateAuthorities/*`. 1368 CertificateAuthority string `protobuf:"bytes,1,opt,name=certificate_authority,json=certificateAuthority,proto3,oneof"` 1369} 1370 1371type SubordinateConfig_PemIssuerChain struct { 1372 // Required. Contains the PEM certificate chain for the issuers of this 1373 // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], but not pem certificate for this CA itself. 1374 PemIssuerChain *SubordinateConfig_SubordinateConfigChain `protobuf:"bytes,2,opt,name=pem_issuer_chain,json=pemIssuerChain,proto3,oneof"` 1375} 1376 1377func (*SubordinateConfig_CertificateAuthority) isSubordinateConfig_SubordinateConfig() {} 1378 1379func (*SubordinateConfig_PemIssuerChain) isSubordinateConfig_SubordinateConfig() {} 1380 1381// A [PublicKey][google.cloud.security.privateca.v1beta1.PublicKey] describes a public key. 1382type PublicKey struct { 1383 state protoimpl.MessageState 1384 sizeCache protoimpl.SizeCache 1385 unknownFields protoimpl.UnknownFields 1386 1387 // Required. The type of public key. 1388 Type PublicKey_KeyType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.security.privateca.v1beta1.PublicKey_KeyType" json:"type,omitempty"` 1389 // Required. A public key. Padding and encoding varies by 'KeyType' and is described 1390 // along with the KeyType values. 1391 Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` 1392} 1393 1394func (x *PublicKey) Reset() { 1395 *x = PublicKey{} 1396 if protoimpl.UnsafeEnabled { 1397 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[7] 1398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1399 ms.StoreMessageInfo(mi) 1400 } 1401} 1402 1403func (x *PublicKey) String() string { 1404 return protoimpl.X.MessageStringOf(x) 1405} 1406 1407func (*PublicKey) ProtoMessage() {} 1408 1409func (x *PublicKey) ProtoReflect() protoreflect.Message { 1410 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[7] 1411 if protoimpl.UnsafeEnabled && x != nil { 1412 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1413 if ms.LoadMessageInfo() == nil { 1414 ms.StoreMessageInfo(mi) 1415 } 1416 return ms 1417 } 1418 return mi.MessageOf(x) 1419} 1420 1421// Deprecated: Use PublicKey.ProtoReflect.Descriptor instead. 1422func (*PublicKey) Descriptor() ([]byte, []int) { 1423 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{7} 1424} 1425 1426func (x *PublicKey) GetType() PublicKey_KeyType { 1427 if x != nil { 1428 return x.Type 1429 } 1430 return PublicKey_KEY_TYPE_UNSPECIFIED 1431} 1432 1433func (x *PublicKey) GetKey() []byte { 1434 if x != nil { 1435 return x.Key 1436 } 1437 return nil 1438} 1439 1440// A [CertificateConfig][google.cloud.security.privateca.v1beta1.CertificateConfig] describes an X.509 certificate or CSR that is to be 1441// created, as an alternative to using ASN.1. 1442type CertificateConfig struct { 1443 state protoimpl.MessageState 1444 sizeCache protoimpl.SizeCache 1445 unknownFields protoimpl.UnknownFields 1446 1447 // Required. Specifies some of the values in a certificate that are related to the 1448 // subject. 1449 SubjectConfig *CertificateConfig_SubjectConfig `protobuf:"bytes,1,opt,name=subject_config,json=subjectConfig,proto3" json:"subject_config,omitempty"` 1450 // Required. Describes how some of the technical fields in a certificate should be 1451 // populated. 1452 ReusableConfig *ReusableConfigWrapper `protobuf:"bytes,2,opt,name=reusable_config,json=reusableConfig,proto3" json:"reusable_config,omitempty"` 1453 // Optional. The public key that corresponds to this config. This is, for example, used 1454 // when issuing [Certificates][google.cloud.security.privateca.v1beta1.Certificate], but not when creating a 1455 // self-signed [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] or [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] CSR. 1456 PublicKey *PublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` 1457} 1458 1459func (x *CertificateConfig) Reset() { 1460 *x = CertificateConfig{} 1461 if protoimpl.UnsafeEnabled { 1462 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[8] 1463 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1464 ms.StoreMessageInfo(mi) 1465 } 1466} 1467 1468func (x *CertificateConfig) String() string { 1469 return protoimpl.X.MessageStringOf(x) 1470} 1471 1472func (*CertificateConfig) ProtoMessage() {} 1473 1474func (x *CertificateConfig) ProtoReflect() protoreflect.Message { 1475 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[8] 1476 if protoimpl.UnsafeEnabled && x != nil { 1477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1478 if ms.LoadMessageInfo() == nil { 1479 ms.StoreMessageInfo(mi) 1480 } 1481 return ms 1482 } 1483 return mi.MessageOf(x) 1484} 1485 1486// Deprecated: Use CertificateConfig.ProtoReflect.Descriptor instead. 1487func (*CertificateConfig) Descriptor() ([]byte, []int) { 1488 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{8} 1489} 1490 1491func (x *CertificateConfig) GetSubjectConfig() *CertificateConfig_SubjectConfig { 1492 if x != nil { 1493 return x.SubjectConfig 1494 } 1495 return nil 1496} 1497 1498func (x *CertificateConfig) GetReusableConfig() *ReusableConfigWrapper { 1499 if x != nil { 1500 return x.ReusableConfig 1501 } 1502 return nil 1503} 1504 1505func (x *CertificateConfig) GetPublicKey() *PublicKey { 1506 if x != nil { 1507 return x.PublicKey 1508 } 1509 return nil 1510} 1511 1512// A [CertificateDescription][google.cloud.security.privateca.v1beta1.CertificateDescription] describes an X.509 certificate or CSR that has 1513// been issued, as an alternative to using ASN.1 / X.509. 1514type CertificateDescription struct { 1515 state protoimpl.MessageState 1516 sizeCache protoimpl.SizeCache 1517 unknownFields protoimpl.UnknownFields 1518 1519 // Describes some of the values in a certificate that are related to the 1520 // subject and lifetime. 1521 SubjectDescription *CertificateDescription_SubjectDescription `protobuf:"bytes,1,opt,name=subject_description,json=subjectDescription,proto3" json:"subject_description,omitempty"` 1522 // Describes some of the technical fields in a certificate. 1523 ConfigValues *ReusableConfigValues `protobuf:"bytes,2,opt,name=config_values,json=configValues,proto3" json:"config_values,omitempty"` 1524 // The public key that corresponds to an issued certificate. 1525 PublicKey *PublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` 1526 // Provides a means of identifiying certificates that contain a particular 1527 // public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2. 1528 SubjectKeyId *CertificateDescription_KeyId `protobuf:"bytes,4,opt,name=subject_key_id,json=subjectKeyId,proto3" json:"subject_key_id,omitempty"` 1529 // Identifies the subject_key_id of the parent certificate, per 1530 // https://tools.ietf.org/html/rfc5280#section-4.2.1.1 1531 AuthorityKeyId *CertificateDescription_KeyId `protobuf:"bytes,5,opt,name=authority_key_id,json=authorityKeyId,proto3" json:"authority_key_id,omitempty"` 1532 // Describes a list of locations to obtain CRL information, i.e. 1533 // the DistributionPoint.fullName described by 1534 // https://tools.ietf.org/html/rfc5280#section-4.2.1.13 1535 CrlDistributionPoints []string `protobuf:"bytes,6,rep,name=crl_distribution_points,json=crlDistributionPoints,proto3" json:"crl_distribution_points,omitempty"` 1536 // Describes lists of issuer CA certificate URLs that appear in the 1537 // "Authority Information Access" extension in the certificate. 1538 AiaIssuingCertificateUrls []string `protobuf:"bytes,7,rep,name=aia_issuing_certificate_urls,json=aiaIssuingCertificateUrls,proto3" json:"aia_issuing_certificate_urls,omitempty"` 1539 // The hash of the x.509 certificate. 1540 CertFingerprint *CertificateDescription_CertificateFingerprint `protobuf:"bytes,8,opt,name=cert_fingerprint,json=certFingerprint,proto3" json:"cert_fingerprint,omitempty"` 1541} 1542 1543func (x *CertificateDescription) Reset() { 1544 *x = CertificateDescription{} 1545 if protoimpl.UnsafeEnabled { 1546 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[9] 1547 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1548 ms.StoreMessageInfo(mi) 1549 } 1550} 1551 1552func (x *CertificateDescription) String() string { 1553 return protoimpl.X.MessageStringOf(x) 1554} 1555 1556func (*CertificateDescription) ProtoMessage() {} 1557 1558func (x *CertificateDescription) ProtoReflect() protoreflect.Message { 1559 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[9] 1560 if protoimpl.UnsafeEnabled && x != nil { 1561 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1562 if ms.LoadMessageInfo() == nil { 1563 ms.StoreMessageInfo(mi) 1564 } 1565 return ms 1566 } 1567 return mi.MessageOf(x) 1568} 1569 1570// Deprecated: Use CertificateDescription.ProtoReflect.Descriptor instead. 1571func (*CertificateDescription) Descriptor() ([]byte, []int) { 1572 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{9} 1573} 1574 1575func (x *CertificateDescription) GetSubjectDescription() *CertificateDescription_SubjectDescription { 1576 if x != nil { 1577 return x.SubjectDescription 1578 } 1579 return nil 1580} 1581 1582func (x *CertificateDescription) GetConfigValues() *ReusableConfigValues { 1583 if x != nil { 1584 return x.ConfigValues 1585 } 1586 return nil 1587} 1588 1589func (x *CertificateDescription) GetPublicKey() *PublicKey { 1590 if x != nil { 1591 return x.PublicKey 1592 } 1593 return nil 1594} 1595 1596func (x *CertificateDescription) GetSubjectKeyId() *CertificateDescription_KeyId { 1597 if x != nil { 1598 return x.SubjectKeyId 1599 } 1600 return nil 1601} 1602 1603func (x *CertificateDescription) GetAuthorityKeyId() *CertificateDescription_KeyId { 1604 if x != nil { 1605 return x.AuthorityKeyId 1606 } 1607 return nil 1608} 1609 1610func (x *CertificateDescription) GetCrlDistributionPoints() []string { 1611 if x != nil { 1612 return x.CrlDistributionPoints 1613 } 1614 return nil 1615} 1616 1617func (x *CertificateDescription) GetAiaIssuingCertificateUrls() []string { 1618 if x != nil { 1619 return x.AiaIssuingCertificateUrls 1620 } 1621 return nil 1622} 1623 1624func (x *CertificateDescription) GetCertFingerprint() *CertificateDescription_CertificateFingerprint { 1625 if x != nil { 1626 return x.CertFingerprint 1627 } 1628 return nil 1629} 1630 1631// An [ObjectId][google.cloud.security.privateca.v1beta1.ObjectId] specifies an object identifier (OID). These provide context 1632// and describe types in ASN.1 messages. 1633type ObjectId struct { 1634 state protoimpl.MessageState 1635 sizeCache protoimpl.SizeCache 1636 unknownFields protoimpl.UnknownFields 1637 1638 // Required. The parts of an OID path. The most significant parts of the path come 1639 // first. 1640 ObjectIdPath []int32 `protobuf:"varint,1,rep,packed,name=object_id_path,json=objectIdPath,proto3" json:"object_id_path,omitempty"` 1641} 1642 1643func (x *ObjectId) Reset() { 1644 *x = ObjectId{} 1645 if protoimpl.UnsafeEnabled { 1646 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[10] 1647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1648 ms.StoreMessageInfo(mi) 1649 } 1650} 1651 1652func (x *ObjectId) String() string { 1653 return protoimpl.X.MessageStringOf(x) 1654} 1655 1656func (*ObjectId) ProtoMessage() {} 1657 1658func (x *ObjectId) ProtoReflect() protoreflect.Message { 1659 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[10] 1660 if protoimpl.UnsafeEnabled && x != nil { 1661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1662 if ms.LoadMessageInfo() == nil { 1663 ms.StoreMessageInfo(mi) 1664 } 1665 return ms 1666 } 1667 return mi.MessageOf(x) 1668} 1669 1670// Deprecated: Use ObjectId.ProtoReflect.Descriptor instead. 1671func (*ObjectId) Descriptor() ([]byte, []int) { 1672 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{10} 1673} 1674 1675func (x *ObjectId) GetObjectIdPath() []int32 { 1676 if x != nil { 1677 return x.ObjectIdPath 1678 } 1679 return nil 1680} 1681 1682// An [X509Extension][google.cloud.security.privateca.v1beta1.X509Extension] specifies an X.509 extension, which may be used in 1683// different parts of X.509 objects like certificates, CSRs, and CRLs. 1684type X509Extension struct { 1685 state protoimpl.MessageState 1686 sizeCache protoimpl.SizeCache 1687 unknownFields protoimpl.UnknownFields 1688 1689 // Required. The OID for this X.509 extension. 1690 ObjectId *ObjectId `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` 1691 // Required. Indicates whether or not this extension is critical (i.e., if the client 1692 // does not know how to handle this extension, the client should consider this 1693 // to be an error). 1694 Critical bool `protobuf:"varint,2,opt,name=critical,proto3" json:"critical,omitempty"` 1695 // Required. The value of this X.509 extension. 1696 Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 1697} 1698 1699func (x *X509Extension) Reset() { 1700 *x = X509Extension{} 1701 if protoimpl.UnsafeEnabled { 1702 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[11] 1703 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1704 ms.StoreMessageInfo(mi) 1705 } 1706} 1707 1708func (x *X509Extension) String() string { 1709 return protoimpl.X.MessageStringOf(x) 1710} 1711 1712func (*X509Extension) ProtoMessage() {} 1713 1714func (x *X509Extension) ProtoReflect() protoreflect.Message { 1715 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[11] 1716 if protoimpl.UnsafeEnabled && x != nil { 1717 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1718 if ms.LoadMessageInfo() == nil { 1719 ms.StoreMessageInfo(mi) 1720 } 1721 return ms 1722 } 1723 return mi.MessageOf(x) 1724} 1725 1726// Deprecated: Use X509Extension.ProtoReflect.Descriptor instead. 1727func (*X509Extension) Descriptor() ([]byte, []int) { 1728 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{11} 1729} 1730 1731func (x *X509Extension) GetObjectId() *ObjectId { 1732 if x != nil { 1733 return x.ObjectId 1734 } 1735 return nil 1736} 1737 1738func (x *X509Extension) GetCritical() bool { 1739 if x != nil { 1740 return x.Critical 1741 } 1742 return false 1743} 1744 1745func (x *X509Extension) GetValue() []byte { 1746 if x != nil { 1747 return x.Value 1748 } 1749 return nil 1750} 1751 1752// A [KeyUsage][google.cloud.security.privateca.v1beta1.KeyUsage] describes key usage values that may appear in an X.509 1753// certificate. 1754type KeyUsage struct { 1755 state protoimpl.MessageState 1756 sizeCache protoimpl.SizeCache 1757 unknownFields protoimpl.UnknownFields 1758 1759 // Describes high-level ways in which a key may be used. 1760 BaseKeyUsage *KeyUsage_KeyUsageOptions `protobuf:"bytes,1,opt,name=base_key_usage,json=baseKeyUsage,proto3" json:"base_key_usage,omitempty"` 1761 // Detailed scenarios in which a key may be used. 1762 ExtendedKeyUsage *KeyUsage_ExtendedKeyUsageOptions `protobuf:"bytes,2,opt,name=extended_key_usage,json=extendedKeyUsage,proto3" json:"extended_key_usage,omitempty"` 1763 // Used to describe extended key usages that are not listed in the 1764 // [KeyUsage.ExtendedKeyUsageOptions][google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions] message. 1765 UnknownExtendedKeyUsages []*ObjectId `protobuf:"bytes,3,rep,name=unknown_extended_key_usages,json=unknownExtendedKeyUsages,proto3" json:"unknown_extended_key_usages,omitempty"` 1766} 1767 1768func (x *KeyUsage) Reset() { 1769 *x = KeyUsage{} 1770 if protoimpl.UnsafeEnabled { 1771 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[12] 1772 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1773 ms.StoreMessageInfo(mi) 1774 } 1775} 1776 1777func (x *KeyUsage) String() string { 1778 return protoimpl.X.MessageStringOf(x) 1779} 1780 1781func (*KeyUsage) ProtoMessage() {} 1782 1783func (x *KeyUsage) ProtoReflect() protoreflect.Message { 1784 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[12] 1785 if protoimpl.UnsafeEnabled && x != nil { 1786 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1787 if ms.LoadMessageInfo() == nil { 1788 ms.StoreMessageInfo(mi) 1789 } 1790 return ms 1791 } 1792 return mi.MessageOf(x) 1793} 1794 1795// Deprecated: Use KeyUsage.ProtoReflect.Descriptor instead. 1796func (*KeyUsage) Descriptor() ([]byte, []int) { 1797 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{12} 1798} 1799 1800func (x *KeyUsage) GetBaseKeyUsage() *KeyUsage_KeyUsageOptions { 1801 if x != nil { 1802 return x.BaseKeyUsage 1803 } 1804 return nil 1805} 1806 1807func (x *KeyUsage) GetExtendedKeyUsage() *KeyUsage_ExtendedKeyUsageOptions { 1808 if x != nil { 1809 return x.ExtendedKeyUsage 1810 } 1811 return nil 1812} 1813 1814func (x *KeyUsage) GetUnknownExtendedKeyUsages() []*ObjectId { 1815 if x != nil { 1816 return x.UnknownExtendedKeyUsages 1817 } 1818 return nil 1819} 1820 1821// [Subject][google.cloud.security.privateca.v1beta1.Subject] describes parts of a distinguished name that, in turn, 1822// describes the subject of the certificate. 1823type Subject struct { 1824 state protoimpl.MessageState 1825 sizeCache protoimpl.SizeCache 1826 unknownFields protoimpl.UnknownFields 1827 1828 // The country code of the subject. 1829 CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 1830 // The organization of the subject. 1831 Organization string `protobuf:"bytes,2,opt,name=organization,proto3" json:"organization,omitempty"` 1832 // The organizational_unit of the subject. 1833 OrganizationalUnit string `protobuf:"bytes,3,opt,name=organizational_unit,json=organizationalUnit,proto3" json:"organizational_unit,omitempty"` 1834 // The locality or city of the subject. 1835 Locality string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` 1836 // The province, territory, or regional state of the subject. 1837 Province string `protobuf:"bytes,5,opt,name=province,proto3" json:"province,omitempty"` 1838 // The street address of the subject. 1839 StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` 1840 // The postal code of the subject. 1841 PostalCode string `protobuf:"bytes,7,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` 1842} 1843 1844func (x *Subject) Reset() { 1845 *x = Subject{} 1846 if protoimpl.UnsafeEnabled { 1847 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[13] 1848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1849 ms.StoreMessageInfo(mi) 1850 } 1851} 1852 1853func (x *Subject) String() string { 1854 return protoimpl.X.MessageStringOf(x) 1855} 1856 1857func (*Subject) ProtoMessage() {} 1858 1859func (x *Subject) ProtoReflect() protoreflect.Message { 1860 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[13] 1861 if protoimpl.UnsafeEnabled && x != nil { 1862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1863 if ms.LoadMessageInfo() == nil { 1864 ms.StoreMessageInfo(mi) 1865 } 1866 return ms 1867 } 1868 return mi.MessageOf(x) 1869} 1870 1871// Deprecated: Use Subject.ProtoReflect.Descriptor instead. 1872func (*Subject) Descriptor() ([]byte, []int) { 1873 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{13} 1874} 1875 1876func (x *Subject) GetCountryCode() string { 1877 if x != nil { 1878 return x.CountryCode 1879 } 1880 return "" 1881} 1882 1883func (x *Subject) GetOrganization() string { 1884 if x != nil { 1885 return x.Organization 1886 } 1887 return "" 1888} 1889 1890func (x *Subject) GetOrganizationalUnit() string { 1891 if x != nil { 1892 return x.OrganizationalUnit 1893 } 1894 return "" 1895} 1896 1897func (x *Subject) GetLocality() string { 1898 if x != nil { 1899 return x.Locality 1900 } 1901 return "" 1902} 1903 1904func (x *Subject) GetProvince() string { 1905 if x != nil { 1906 return x.Province 1907 } 1908 return "" 1909} 1910 1911func (x *Subject) GetStreetAddress() string { 1912 if x != nil { 1913 return x.StreetAddress 1914 } 1915 return "" 1916} 1917 1918func (x *Subject) GetPostalCode() string { 1919 if x != nil { 1920 return x.PostalCode 1921 } 1922 return "" 1923} 1924 1925// [SubjectAltNames][google.cloud.security.privateca.v1beta1.SubjectAltNames] corresponds to a more modern way of listing what 1926// the asserted identity is in a certificate (i.e., compared to the "common 1927// name" in the distinguished name). 1928type SubjectAltNames struct { 1929 state protoimpl.MessageState 1930 sizeCache protoimpl.SizeCache 1931 unknownFields protoimpl.UnknownFields 1932 1933 // Contains only valid, fully-qualified host names. 1934 DnsNames []string `protobuf:"bytes,1,rep,name=dns_names,json=dnsNames,proto3" json:"dns_names,omitempty"` 1935 // Contains only valid RFC 3986 URIs. 1936 Uris []string `protobuf:"bytes,2,rep,name=uris,proto3" json:"uris,omitempty"` 1937 // Contains only valid RFC 2822 E-mail addresses. 1938 EmailAddresses []string `protobuf:"bytes,3,rep,name=email_addresses,json=emailAddresses,proto3" json:"email_addresses,omitempty"` 1939 // Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses. 1940 IpAddresses []string `protobuf:"bytes,4,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"` 1941 // Contains additional subject alternative name values. 1942 CustomSans []*X509Extension `protobuf:"bytes,5,rep,name=custom_sans,json=customSans,proto3" json:"custom_sans,omitempty"` 1943} 1944 1945func (x *SubjectAltNames) Reset() { 1946 *x = SubjectAltNames{} 1947 if protoimpl.UnsafeEnabled { 1948 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[14] 1949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1950 ms.StoreMessageInfo(mi) 1951 } 1952} 1953 1954func (x *SubjectAltNames) String() string { 1955 return protoimpl.X.MessageStringOf(x) 1956} 1957 1958func (*SubjectAltNames) ProtoMessage() {} 1959 1960func (x *SubjectAltNames) ProtoReflect() protoreflect.Message { 1961 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[14] 1962 if protoimpl.UnsafeEnabled && x != nil { 1963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1964 if ms.LoadMessageInfo() == nil { 1965 ms.StoreMessageInfo(mi) 1966 } 1967 return ms 1968 } 1969 return mi.MessageOf(x) 1970} 1971 1972// Deprecated: Use SubjectAltNames.ProtoReflect.Descriptor instead. 1973func (*SubjectAltNames) Descriptor() ([]byte, []int) { 1974 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{14} 1975} 1976 1977func (x *SubjectAltNames) GetDnsNames() []string { 1978 if x != nil { 1979 return x.DnsNames 1980 } 1981 return nil 1982} 1983 1984func (x *SubjectAltNames) GetUris() []string { 1985 if x != nil { 1986 return x.Uris 1987 } 1988 return nil 1989} 1990 1991func (x *SubjectAltNames) GetEmailAddresses() []string { 1992 if x != nil { 1993 return x.EmailAddresses 1994 } 1995 return nil 1996} 1997 1998func (x *SubjectAltNames) GetIpAddresses() []string { 1999 if x != nil { 2000 return x.IpAddresses 2001 } 2002 return nil 2003} 2004 2005func (x *SubjectAltNames) GetCustomSans() []*X509Extension { 2006 if x != nil { 2007 return x.CustomSans 2008 } 2009 return nil 2010} 2011 2012// Options that affect all certificates issued by a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 2013type CertificateAuthority_IssuingOptions struct { 2014 state protoimpl.MessageState 2015 sizeCache protoimpl.SizeCache 2016 unknownFields protoimpl.UnknownFields 2017 2018 // Required. When true, includes a URL to the issuing CA certificate in the 2019 // "authority information access" X.509 extension. 2020 IncludeCaCertUrl bool `protobuf:"varint,1,opt,name=include_ca_cert_url,json=includeCaCertUrl,proto3" json:"include_ca_cert_url,omitempty"` 2021 // Required. When true, includes a URL to the CRL corresponding to certificates 2022 // issued from a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 2023 // CRLs will expire 7 days from their creation. However, we will rebuild 2024 // daily. CRLs are also rebuilt shortly after a certificate is revoked. 2025 IncludeCrlAccessUrl bool `protobuf:"varint,2,opt,name=include_crl_access_url,json=includeCrlAccessUrl,proto3" json:"include_crl_access_url,omitempty"` 2026} 2027 2028func (x *CertificateAuthority_IssuingOptions) Reset() { 2029 *x = CertificateAuthority_IssuingOptions{} 2030 if protoimpl.UnsafeEnabled { 2031 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[15] 2032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2033 ms.StoreMessageInfo(mi) 2034 } 2035} 2036 2037func (x *CertificateAuthority_IssuingOptions) String() string { 2038 return protoimpl.X.MessageStringOf(x) 2039} 2040 2041func (*CertificateAuthority_IssuingOptions) ProtoMessage() {} 2042 2043func (x *CertificateAuthority_IssuingOptions) ProtoReflect() protoreflect.Message { 2044 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[15] 2045 if protoimpl.UnsafeEnabled && x != nil { 2046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2047 if ms.LoadMessageInfo() == nil { 2048 ms.StoreMessageInfo(mi) 2049 } 2050 return ms 2051 } 2052 return mi.MessageOf(x) 2053} 2054 2055// Deprecated: Use CertificateAuthority_IssuingOptions.ProtoReflect.Descriptor instead. 2056func (*CertificateAuthority_IssuingOptions) Descriptor() ([]byte, []int) { 2057 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 0} 2058} 2059 2060func (x *CertificateAuthority_IssuingOptions) GetIncludeCaCertUrl() bool { 2061 if x != nil { 2062 return x.IncludeCaCertUrl 2063 } 2064 return false 2065} 2066 2067func (x *CertificateAuthority_IssuingOptions) GetIncludeCrlAccessUrl() bool { 2068 if x != nil { 2069 return x.IncludeCrlAccessUrl 2070 } 2071 return false 2072} 2073 2074// The issuing policy for a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 2075// [Certificates][google.cloud.security.privateca.v1beta1.Certificate] will not be successfully issued from this 2076// [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] if they violate the policy. 2077type CertificateAuthority_CertificateAuthorityPolicy struct { 2078 state protoimpl.MessageState 2079 sizeCache protoimpl.SizeCache 2080 unknownFields protoimpl.UnknownFields 2081 2082 // Allowed configurations or a single configuration for all issued 2083 // certificates. 2084 // 2085 // Types that are assignable to ConfigPolicy: 2086 // *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList_ 2087 // *CertificateAuthority_CertificateAuthorityPolicy_OverwriteConfigValues 2088 ConfigPolicy isCertificateAuthority_CertificateAuthorityPolicy_ConfigPolicy `protobuf_oneof:"config_policy"` 2089 // Optional. If any [Subject][google.cloud.security.privateca.v1beta1.Subject] is specified here, then all 2090 // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must 2091 // match at least one listed [Subject][google.cloud.security.privateca.v1beta1.Subject]. If a [Subject][google.cloud.security.privateca.v1beta1.Subject] has an empty 2092 // field, any value will be allowed for that field. 2093 AllowedLocationsAndOrganizations []*Subject `protobuf:"bytes,3,rep,name=allowed_locations_and_organizations,json=allowedLocationsAndOrganizations,proto3" json:"allowed_locations_and_organizations,omitempty"` 2094 // Optional. If any value is specified here, then all 2095 // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must 2096 // match at least one listed value. If no value is specified, all values 2097 // will be allowed for this fied. Glob patterns are also supported. 2098 AllowedCommonNames []string `protobuf:"bytes,4,rep,name=allowed_common_names,json=allowedCommonNames,proto3" json:"allowed_common_names,omitempty"` 2099 // Optional. If a [AllowedSubjectAltNames][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames] is specified here, then all 2100 // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must 2101 // match [AllowedSubjectAltNames][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames]. If no value or an empty value 2102 // is specified, any value will be allowed for the [SubjectAltNames][google.cloud.security.privateca.v1beta1.SubjectAltNames] 2103 // field. 2104 AllowedSans *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames `protobuf:"bytes,5,opt,name=allowed_sans,json=allowedSans,proto3" json:"allowed_sans,omitempty"` 2105 // Optional. The maximum lifetime allowed by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. Note that 2106 // if the any part if the issuing chain expires before a [Certificate][google.cloud.security.privateca.v1beta1.Certificate]'s 2107 // requested maximum_lifetime, the effective lifetime will be explicitly 2108 // truncated. 2109 MaximumLifetime *durationpb.Duration `protobuf:"bytes,6,opt,name=maximum_lifetime,json=maximumLifetime,proto3" json:"maximum_lifetime,omitempty"` 2110 // Optional. If specified, then only methods allowed in the [IssuanceModes][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes] may be 2111 // used to issue [Certificates][google.cloud.security.privateca.v1beta1.Certificate]. 2112 AllowedIssuanceModes *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes `protobuf:"bytes,8,opt,name=allowed_issuance_modes,json=allowedIssuanceModes,proto3" json:"allowed_issuance_modes,omitempty"` 2113} 2114 2115func (x *CertificateAuthority_CertificateAuthorityPolicy) Reset() { 2116 *x = CertificateAuthority_CertificateAuthorityPolicy{} 2117 if protoimpl.UnsafeEnabled { 2118 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[16] 2119 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2120 ms.StoreMessageInfo(mi) 2121 } 2122} 2123 2124func (x *CertificateAuthority_CertificateAuthorityPolicy) String() string { 2125 return protoimpl.X.MessageStringOf(x) 2126} 2127 2128func (*CertificateAuthority_CertificateAuthorityPolicy) ProtoMessage() {} 2129 2130func (x *CertificateAuthority_CertificateAuthorityPolicy) ProtoReflect() protoreflect.Message { 2131 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[16] 2132 if protoimpl.UnsafeEnabled && x != nil { 2133 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2134 if ms.LoadMessageInfo() == nil { 2135 ms.StoreMessageInfo(mi) 2136 } 2137 return ms 2138 } 2139 return mi.MessageOf(x) 2140} 2141 2142// Deprecated: Use CertificateAuthority_CertificateAuthorityPolicy.ProtoReflect.Descriptor instead. 2143func (*CertificateAuthority_CertificateAuthorityPolicy) Descriptor() ([]byte, []int) { 2144 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 1} 2145} 2146 2147func (m *CertificateAuthority_CertificateAuthorityPolicy) GetConfigPolicy() isCertificateAuthority_CertificateAuthorityPolicy_ConfigPolicy { 2148 if m != nil { 2149 return m.ConfigPolicy 2150 } 2151 return nil 2152} 2153 2154func (x *CertificateAuthority_CertificateAuthorityPolicy) GetAllowedConfigList() *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList { 2155 if x, ok := x.GetConfigPolicy().(*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList_); ok { 2156 return x.AllowedConfigList 2157 } 2158 return nil 2159} 2160 2161func (x *CertificateAuthority_CertificateAuthorityPolicy) GetOverwriteConfigValues() *ReusableConfigWrapper { 2162 if x, ok := x.GetConfigPolicy().(*CertificateAuthority_CertificateAuthorityPolicy_OverwriteConfigValues); ok { 2163 return x.OverwriteConfigValues 2164 } 2165 return nil 2166} 2167 2168func (x *CertificateAuthority_CertificateAuthorityPolicy) GetAllowedLocationsAndOrganizations() []*Subject { 2169 if x != nil { 2170 return x.AllowedLocationsAndOrganizations 2171 } 2172 return nil 2173} 2174 2175func (x *CertificateAuthority_CertificateAuthorityPolicy) GetAllowedCommonNames() []string { 2176 if x != nil { 2177 return x.AllowedCommonNames 2178 } 2179 return nil 2180} 2181 2182func (x *CertificateAuthority_CertificateAuthorityPolicy) GetAllowedSans() *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames { 2183 if x != nil { 2184 return x.AllowedSans 2185 } 2186 return nil 2187} 2188 2189func (x *CertificateAuthority_CertificateAuthorityPolicy) GetMaximumLifetime() *durationpb.Duration { 2190 if x != nil { 2191 return x.MaximumLifetime 2192 } 2193 return nil 2194} 2195 2196func (x *CertificateAuthority_CertificateAuthorityPolicy) GetAllowedIssuanceModes() *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes { 2197 if x != nil { 2198 return x.AllowedIssuanceModes 2199 } 2200 return nil 2201} 2202 2203type isCertificateAuthority_CertificateAuthorityPolicy_ConfigPolicy interface { 2204 isCertificateAuthority_CertificateAuthorityPolicy_ConfigPolicy() 2205} 2206 2207type CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList_ struct { 2208 // Optional. All [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] 2209 // must match at least one listed [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper] in the list. 2210 AllowedConfigList *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList `protobuf:"bytes,1,opt,name=allowed_config_list,json=allowedConfigList,proto3,oneof"` 2211} 2212 2213type CertificateAuthority_CertificateAuthorityPolicy_OverwriteConfigValues struct { 2214 // Optional. All [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] 2215 // will use the provided configuration values, overwriting any requested 2216 // configuration values. 2217 OverwriteConfigValues *ReusableConfigWrapper `protobuf:"bytes,2,opt,name=overwrite_config_values,json=overwriteConfigValues,proto3,oneof"` 2218} 2219 2220func (*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList_) isCertificateAuthority_CertificateAuthorityPolicy_ConfigPolicy() { 2221} 2222 2223func (*CertificateAuthority_CertificateAuthorityPolicy_OverwriteConfigValues) isCertificateAuthority_CertificateAuthorityPolicy_ConfigPolicy() { 2224} 2225 2226// URLs where a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will publish content. 2227type CertificateAuthority_AccessUrls struct { 2228 state protoimpl.MessageState 2229 sizeCache protoimpl.SizeCache 2230 unknownFields protoimpl.UnknownFields 2231 2232 // The URL where this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s CA certificate is 2233 // published. This will only be set for CAs that have been activated. 2234 CaCertificateAccessUrl string `protobuf:"bytes,1,opt,name=ca_certificate_access_url,json=caCertificateAccessUrl,proto3" json:"ca_certificate_access_url,omitempty"` 2235 // The URL where this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s CRLs are published. This 2236 // will only be set for CAs that have been activated. 2237 CrlAccessUrl string `protobuf:"bytes,2,opt,name=crl_access_url,json=crlAccessUrl,proto3" json:"crl_access_url,omitempty"` 2238} 2239 2240func (x *CertificateAuthority_AccessUrls) Reset() { 2241 *x = CertificateAuthority_AccessUrls{} 2242 if protoimpl.UnsafeEnabled { 2243 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[17] 2244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2245 ms.StoreMessageInfo(mi) 2246 } 2247} 2248 2249func (x *CertificateAuthority_AccessUrls) String() string { 2250 return protoimpl.X.MessageStringOf(x) 2251} 2252 2253func (*CertificateAuthority_AccessUrls) ProtoMessage() {} 2254 2255func (x *CertificateAuthority_AccessUrls) ProtoReflect() protoreflect.Message { 2256 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[17] 2257 if protoimpl.UnsafeEnabled && x != nil { 2258 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2259 if ms.LoadMessageInfo() == nil { 2260 ms.StoreMessageInfo(mi) 2261 } 2262 return ms 2263 } 2264 return mi.MessageOf(x) 2265} 2266 2267// Deprecated: Use CertificateAuthority_AccessUrls.ProtoReflect.Descriptor instead. 2268func (*CertificateAuthority_AccessUrls) Descriptor() ([]byte, []int) { 2269 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 2} 2270} 2271 2272func (x *CertificateAuthority_AccessUrls) GetCaCertificateAccessUrl() string { 2273 if x != nil { 2274 return x.CaCertificateAccessUrl 2275 } 2276 return "" 2277} 2278 2279func (x *CertificateAuthority_AccessUrls) GetCrlAccessUrl() string { 2280 if x != nil { 2281 return x.CrlAccessUrl 2282 } 2283 return "" 2284} 2285 2286// A Cloud KMS key configuration that a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will use. 2287type CertificateAuthority_KeyVersionSpec struct { 2288 state protoimpl.MessageState 2289 sizeCache protoimpl.SizeCache 2290 unknownFields protoimpl.UnknownFields 2291 2292 // Types that are assignable to KeyVersion: 2293 // *CertificateAuthority_KeyVersionSpec_CloudKmsKeyVersion 2294 // *CertificateAuthority_KeyVersionSpec_Algorithm 2295 KeyVersion isCertificateAuthority_KeyVersionSpec_KeyVersion `protobuf_oneof:"KeyVersion"` 2296} 2297 2298func (x *CertificateAuthority_KeyVersionSpec) Reset() { 2299 *x = CertificateAuthority_KeyVersionSpec{} 2300 if protoimpl.UnsafeEnabled { 2301 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[18] 2302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2303 ms.StoreMessageInfo(mi) 2304 } 2305} 2306 2307func (x *CertificateAuthority_KeyVersionSpec) String() string { 2308 return protoimpl.X.MessageStringOf(x) 2309} 2310 2311func (*CertificateAuthority_KeyVersionSpec) ProtoMessage() {} 2312 2313func (x *CertificateAuthority_KeyVersionSpec) ProtoReflect() protoreflect.Message { 2314 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[18] 2315 if protoimpl.UnsafeEnabled && x != nil { 2316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2317 if ms.LoadMessageInfo() == nil { 2318 ms.StoreMessageInfo(mi) 2319 } 2320 return ms 2321 } 2322 return mi.MessageOf(x) 2323} 2324 2325// Deprecated: Use CertificateAuthority_KeyVersionSpec.ProtoReflect.Descriptor instead. 2326func (*CertificateAuthority_KeyVersionSpec) Descriptor() ([]byte, []int) { 2327 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 3} 2328} 2329 2330func (m *CertificateAuthority_KeyVersionSpec) GetKeyVersion() isCertificateAuthority_KeyVersionSpec_KeyVersion { 2331 if m != nil { 2332 return m.KeyVersion 2333 } 2334 return nil 2335} 2336 2337func (x *CertificateAuthority_KeyVersionSpec) GetCloudKmsKeyVersion() string { 2338 if x, ok := x.GetKeyVersion().(*CertificateAuthority_KeyVersionSpec_CloudKmsKeyVersion); ok { 2339 return x.CloudKmsKeyVersion 2340 } 2341 return "" 2342} 2343 2344func (x *CertificateAuthority_KeyVersionSpec) GetAlgorithm() CertificateAuthority_SignHashAlgorithm { 2345 if x, ok := x.GetKeyVersion().(*CertificateAuthority_KeyVersionSpec_Algorithm); ok { 2346 return x.Algorithm 2347 } 2348 return CertificateAuthority_SIGN_HASH_ALGORITHM_UNSPECIFIED 2349} 2350 2351type isCertificateAuthority_KeyVersionSpec_KeyVersion interface { 2352 isCertificateAuthority_KeyVersionSpec_KeyVersion() 2353} 2354 2355type CertificateAuthority_KeyVersionSpec_CloudKmsKeyVersion struct { 2356 // Required. The resource name for an existing Cloud KMS CryptoKeyVersion in the 2357 // format 2358 // `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. 2359 // This option enables full flexibility in the key's capabilities and 2360 // properties. 2361 CloudKmsKeyVersion string `protobuf:"bytes,1,opt,name=cloud_kms_key_version,json=cloudKmsKeyVersion,proto3,oneof"` 2362} 2363 2364type CertificateAuthority_KeyVersionSpec_Algorithm struct { 2365 // Required. The algorithm to use for creating a managed Cloud KMS key for a for a 2366 // simplified experience. All managed keys will be have their 2367 // [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] as `HSM`. 2368 Algorithm CertificateAuthority_SignHashAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.security.privateca.v1beta1.CertificateAuthority_SignHashAlgorithm,oneof"` 2369} 2370 2371func (*CertificateAuthority_KeyVersionSpec_CloudKmsKeyVersion) isCertificateAuthority_KeyVersionSpec_KeyVersion() { 2372} 2373 2374func (*CertificateAuthority_KeyVersionSpec_Algorithm) isCertificateAuthority_KeyVersionSpec_KeyVersion() { 2375} 2376 2377type CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList struct { 2378 state protoimpl.MessageState 2379 sizeCache protoimpl.SizeCache 2380 unknownFields protoimpl.UnknownFields 2381 2382 // Required. All [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] 2383 // must match at least one listed [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper]. If a 2384 // [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper] has an empty field, any value will be 2385 // allowed for that field. 2386 AllowedConfigValues []*ReusableConfigWrapper `protobuf:"bytes,1,rep,name=allowed_config_values,json=allowedConfigValues,proto3" json:"allowed_config_values,omitempty"` 2387} 2388 2389func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList) Reset() { 2390 *x = CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList{} 2391 if protoimpl.UnsafeEnabled { 2392 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[20] 2393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2394 ms.StoreMessageInfo(mi) 2395 } 2396} 2397 2398func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList) String() string { 2399 return protoimpl.X.MessageStringOf(x) 2400} 2401 2402func (*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList) ProtoMessage() {} 2403 2404func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList) ProtoReflect() protoreflect.Message { 2405 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[20] 2406 if protoimpl.UnsafeEnabled && x != nil { 2407 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2408 if ms.LoadMessageInfo() == nil { 2409 ms.StoreMessageInfo(mi) 2410 } 2411 return ms 2412 } 2413 return mi.MessageOf(x) 2414} 2415 2416// Deprecated: Use CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList.ProtoReflect.Descriptor instead. 2417func (*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList) Descriptor() ([]byte, []int) { 2418 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 1, 0} 2419} 2420 2421func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList) GetAllowedConfigValues() []*ReusableConfigWrapper { 2422 if x != nil { 2423 return x.AllowedConfigValues 2424 } 2425 return nil 2426} 2427 2428// [AllowedSubjectAltNames][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames] specifies the allowed values for 2429// [SubjectAltNames][google.cloud.security.privateca.v1beta1.SubjectAltNames] by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] when issuing 2430// [Certificates][google.cloud.security.privateca.v1beta1.Certificate]. 2431type CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames struct { 2432 state protoimpl.MessageState 2433 sizeCache protoimpl.SizeCache 2434 unknownFields protoimpl.UnknownFields 2435 2436 // Optional. Contains valid, fully-qualified host names. Glob patterns are also 2437 // supported. To allow an explicit wildcard certificate, escape with 2438 // backlash (i.e. "\*"). 2439 // E.g. for globbed entries: '*bar.com' will allow foo.bar.com, but not 2440 // *.bar.com, unless the [allow_globbing_dns_wildcards][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames.allow_globbing_dns_wildcards] field is set. 2441 // E.g. for wildcard entries: '\*.bar.com' will allow '*.bar.com', but not 2442 // 'foo.bar.com'. 2443 AllowedDnsNames []string `protobuf:"bytes,1,rep,name=allowed_dns_names,json=allowedDnsNames,proto3" json:"allowed_dns_names,omitempty"` 2444 // Optional. Contains valid RFC 3986 URIs. Glob patterns are also supported. To 2445 // match across path seperators (i.e. '/') use the double star glob 2446 // pattern (i.e. '**'). 2447 AllowedUris []string `protobuf:"bytes,2,rep,name=allowed_uris,json=allowedUris,proto3" json:"allowed_uris,omitempty"` 2448 // Optional. Contains valid RFC 2822 E-mail addresses. Glob patterns are also 2449 // supported. 2450 AllowedEmailAddresses []string `protobuf:"bytes,3,rep,name=allowed_email_addresses,json=allowedEmailAddresses,proto3" json:"allowed_email_addresses,omitempty"` 2451 // Optional. Contains valid 32-bit IPv4 addresses and subnet ranges or RFC 4291 IPv6 2452 // addresses and subnet ranges. Subnet ranges are specified using the 2453 // '/' notation (e.g. 10.0.0.0/8, 2001:700:300:1800::/64). Glob patterns 2454 // are supported only for ip address entries (i.e. not for subnet ranges). 2455 AllowedIps []string `protobuf:"bytes,4,rep,name=allowed_ips,json=allowedIps,proto3" json:"allowed_ips,omitempty"` 2456 // Optional. Specifies if glob patterns used for [allowed_dns_names][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames.allowed_dns_names] allows 2457 // wildcard certificates. 2458 AllowGlobbingDnsWildcards bool `protobuf:"varint,5,opt,name=allow_globbing_dns_wildcards,json=allowGlobbingDnsWildcards,proto3" json:"allow_globbing_dns_wildcards,omitempty"` 2459 // Optional. Specifies if to allow custom X509Extension values. 2460 AllowCustomSans bool `protobuf:"varint,6,opt,name=allow_custom_sans,json=allowCustomSans,proto3" json:"allow_custom_sans,omitempty"` 2461} 2462 2463func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) Reset() { 2464 *x = CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames{} 2465 if protoimpl.UnsafeEnabled { 2466 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[21] 2467 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2468 ms.StoreMessageInfo(mi) 2469 } 2470} 2471 2472func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) String() string { 2473 return protoimpl.X.MessageStringOf(x) 2474} 2475 2476func (*CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) ProtoMessage() {} 2477 2478func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) ProtoReflect() protoreflect.Message { 2479 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[21] 2480 if protoimpl.UnsafeEnabled && x != nil { 2481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2482 if ms.LoadMessageInfo() == nil { 2483 ms.StoreMessageInfo(mi) 2484 } 2485 return ms 2486 } 2487 return mi.MessageOf(x) 2488} 2489 2490// Deprecated: Use CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames.ProtoReflect.Descriptor instead. 2491func (*CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) Descriptor() ([]byte, []int) { 2492 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 1, 1} 2493} 2494 2495func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) GetAllowedDnsNames() []string { 2496 if x != nil { 2497 return x.AllowedDnsNames 2498 } 2499 return nil 2500} 2501 2502func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) GetAllowedUris() []string { 2503 if x != nil { 2504 return x.AllowedUris 2505 } 2506 return nil 2507} 2508 2509func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) GetAllowedEmailAddresses() []string { 2510 if x != nil { 2511 return x.AllowedEmailAddresses 2512 } 2513 return nil 2514} 2515 2516func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) GetAllowedIps() []string { 2517 if x != nil { 2518 return x.AllowedIps 2519 } 2520 return nil 2521} 2522 2523func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) GetAllowGlobbingDnsWildcards() bool { 2524 if x != nil { 2525 return x.AllowGlobbingDnsWildcards 2526 } 2527 return false 2528} 2529 2530func (x *CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames) GetAllowCustomSans() bool { 2531 if x != nil { 2532 return x.AllowCustomSans 2533 } 2534 return false 2535} 2536 2537// [IssuanceModes][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes] specifies the allowed ways in which 2538// [Certificates][google.cloud.security.privateca.v1beta1.Certificate] may be requested from this 2539// [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. 2540type CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes struct { 2541 state protoimpl.MessageState 2542 sizeCache protoimpl.SizeCache 2543 unknownFields protoimpl.UnknownFields 2544 2545 // Required. When true, allows callers to create [Certificates][google.cloud.security.privateca.v1beta1.Certificate] by 2546 // specifying a CSR. 2547 AllowCsrBasedIssuance bool `protobuf:"varint,1,opt,name=allow_csr_based_issuance,json=allowCsrBasedIssuance,proto3" json:"allow_csr_based_issuance,omitempty"` 2548 // Required. When true, allows callers to create [Certificates][google.cloud.security.privateca.v1beta1.Certificate] by 2549 // specifying a [CertificateConfig][google.cloud.security.privateca.v1beta1.CertificateConfig]. 2550 AllowConfigBasedIssuance bool `protobuf:"varint,2,opt,name=allow_config_based_issuance,json=allowConfigBasedIssuance,proto3" json:"allow_config_based_issuance,omitempty"` 2551} 2552 2553func (x *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) Reset() { 2554 *x = CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes{} 2555 if protoimpl.UnsafeEnabled { 2556 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[22] 2557 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2558 ms.StoreMessageInfo(mi) 2559 } 2560} 2561 2562func (x *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) String() string { 2563 return protoimpl.X.MessageStringOf(x) 2564} 2565 2566func (*CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) ProtoMessage() {} 2567 2568func (x *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) ProtoReflect() protoreflect.Message { 2569 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[22] 2570 if protoimpl.UnsafeEnabled && x != nil { 2571 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2572 if ms.LoadMessageInfo() == nil { 2573 ms.StoreMessageInfo(mi) 2574 } 2575 return ms 2576 } 2577 return mi.MessageOf(x) 2578} 2579 2580// Deprecated: Use CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes.ProtoReflect.Descriptor instead. 2581func (*CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) Descriptor() ([]byte, []int) { 2582 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{0, 1, 2} 2583} 2584 2585func (x *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) GetAllowCsrBasedIssuance() bool { 2586 if x != nil { 2587 return x.AllowCsrBasedIssuance 2588 } 2589 return false 2590} 2591 2592func (x *CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes) GetAllowConfigBasedIssuance() bool { 2593 if x != nil { 2594 return x.AllowConfigBasedIssuance 2595 } 2596 return false 2597} 2598 2599// Describes a revoked [Certificate][google.cloud.security.privateca.v1beta1.Certificate]. 2600type CertificateRevocationList_RevokedCertificate struct { 2601 state protoimpl.MessageState 2602 sizeCache protoimpl.SizeCache 2603 unknownFields protoimpl.UnknownFields 2604 2605 // The resource path for the [Certificate][google.cloud.security.privateca.v1beta1.Certificate] in the format 2606 // `projects/*/locations/*/certificateAuthorities/*/certificates/*`. 2607 Certificate string `protobuf:"bytes,1,opt,name=certificate,proto3" json:"certificate,omitempty"` 2608 // The serial number of the [Certificate][google.cloud.security.privateca.v1beta1.Certificate]. 2609 HexSerialNumber string `protobuf:"bytes,2,opt,name=hex_serial_number,json=hexSerialNumber,proto3" json:"hex_serial_number,omitempty"` 2610 // The reason the [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was revoked. 2611 RevocationReason RevocationReason `protobuf:"varint,3,opt,name=revocation_reason,json=revocationReason,proto3,enum=google.cloud.security.privateca.v1beta1.RevocationReason" json:"revocation_reason,omitempty"` 2612} 2613 2614func (x *CertificateRevocationList_RevokedCertificate) Reset() { 2615 *x = CertificateRevocationList_RevokedCertificate{} 2616 if protoimpl.UnsafeEnabled { 2617 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[23] 2618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2619 ms.StoreMessageInfo(mi) 2620 } 2621} 2622 2623func (x *CertificateRevocationList_RevokedCertificate) String() string { 2624 return protoimpl.X.MessageStringOf(x) 2625} 2626 2627func (*CertificateRevocationList_RevokedCertificate) ProtoMessage() {} 2628 2629func (x *CertificateRevocationList_RevokedCertificate) ProtoReflect() protoreflect.Message { 2630 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[23] 2631 if protoimpl.UnsafeEnabled && x != nil { 2632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2633 if ms.LoadMessageInfo() == nil { 2634 ms.StoreMessageInfo(mi) 2635 } 2636 return ms 2637 } 2638 return mi.MessageOf(x) 2639} 2640 2641// Deprecated: Use CertificateRevocationList_RevokedCertificate.ProtoReflect.Descriptor instead. 2642func (*CertificateRevocationList_RevokedCertificate) Descriptor() ([]byte, []int) { 2643 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{1, 0} 2644} 2645 2646func (x *CertificateRevocationList_RevokedCertificate) GetCertificate() string { 2647 if x != nil { 2648 return x.Certificate 2649 } 2650 return "" 2651} 2652 2653func (x *CertificateRevocationList_RevokedCertificate) GetHexSerialNumber() string { 2654 if x != nil { 2655 return x.HexSerialNumber 2656 } 2657 return "" 2658} 2659 2660func (x *CertificateRevocationList_RevokedCertificate) GetRevocationReason() RevocationReason { 2661 if x != nil { 2662 return x.RevocationReason 2663 } 2664 return RevocationReason_REVOCATION_REASON_UNSPECIFIED 2665} 2666 2667// Describes fields that are relavent to the revocation of a [Certificate][google.cloud.security.privateca.v1beta1.Certificate]. 2668type Certificate_RevocationDetails struct { 2669 state protoimpl.MessageState 2670 sizeCache protoimpl.SizeCache 2671 unknownFields protoimpl.UnknownFields 2672 2673 // Indicates why a [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was revoked. 2674 RevocationState RevocationReason `protobuf:"varint,1,opt,name=revocation_state,json=revocationState,proto3,enum=google.cloud.security.privateca.v1beta1.RevocationReason" json:"revocation_state,omitempty"` 2675 // The time at which this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was revoked. 2676 RevocationTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=revocation_time,json=revocationTime,proto3" json:"revocation_time,omitempty"` 2677} 2678 2679func (x *Certificate_RevocationDetails) Reset() { 2680 *x = Certificate_RevocationDetails{} 2681 if protoimpl.UnsafeEnabled { 2682 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[25] 2683 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2684 ms.StoreMessageInfo(mi) 2685 } 2686} 2687 2688func (x *Certificate_RevocationDetails) String() string { 2689 return protoimpl.X.MessageStringOf(x) 2690} 2691 2692func (*Certificate_RevocationDetails) ProtoMessage() {} 2693 2694func (x *Certificate_RevocationDetails) ProtoReflect() protoreflect.Message { 2695 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[25] 2696 if protoimpl.UnsafeEnabled && x != nil { 2697 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2698 if ms.LoadMessageInfo() == nil { 2699 ms.StoreMessageInfo(mi) 2700 } 2701 return ms 2702 } 2703 return mi.MessageOf(x) 2704} 2705 2706// Deprecated: Use Certificate_RevocationDetails.ProtoReflect.Descriptor instead. 2707func (*Certificate_RevocationDetails) Descriptor() ([]byte, []int) { 2708 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{2, 0} 2709} 2710 2711func (x *Certificate_RevocationDetails) GetRevocationState() RevocationReason { 2712 if x != nil { 2713 return x.RevocationState 2714 } 2715 return RevocationReason_REVOCATION_REASON_UNSPECIFIED 2716} 2717 2718func (x *Certificate_RevocationDetails) GetRevocationTime() *timestamppb.Timestamp { 2719 if x != nil { 2720 return x.RevocationTime 2721 } 2722 return nil 2723} 2724 2725// Describes values that are relevant in a CA certificate. 2726type ReusableConfigValues_CaOptions struct { 2727 state protoimpl.MessageState 2728 sizeCache protoimpl.SizeCache 2729 unknownFields protoimpl.UnknownFields 2730 2731 // Optional. Refers to the "CA" X.509 extension, which is a boolean value. When this 2732 // value is missing, the extension will be omitted from the CA certificate. 2733 IsCa *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=is_ca,json=isCa,proto3" json:"is_ca,omitempty"` 2734 // Optional. Refers to the path length restriction X.509 extension. For a CA 2735 // certificate, this value describes the depth of subordinate CA 2736 // certificates that are allowed. 2737 // If this value is less than 0, the request will fail. 2738 // If this value is missing, the max path length will be omitted from the 2739 // CA certificate. 2740 MaxIssuerPathLength *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=max_issuer_path_length,json=maxIssuerPathLength,proto3" json:"max_issuer_path_length,omitempty"` 2741} 2742 2743func (x *ReusableConfigValues_CaOptions) Reset() { 2744 *x = ReusableConfigValues_CaOptions{} 2745 if protoimpl.UnsafeEnabled { 2746 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[28] 2747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2748 ms.StoreMessageInfo(mi) 2749 } 2750} 2751 2752func (x *ReusableConfigValues_CaOptions) String() string { 2753 return protoimpl.X.MessageStringOf(x) 2754} 2755 2756func (*ReusableConfigValues_CaOptions) ProtoMessage() {} 2757 2758func (x *ReusableConfigValues_CaOptions) ProtoReflect() protoreflect.Message { 2759 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[28] 2760 if protoimpl.UnsafeEnabled && x != nil { 2761 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2762 if ms.LoadMessageInfo() == nil { 2763 ms.StoreMessageInfo(mi) 2764 } 2765 return ms 2766 } 2767 return mi.MessageOf(x) 2768} 2769 2770// Deprecated: Use ReusableConfigValues_CaOptions.ProtoReflect.Descriptor instead. 2771func (*ReusableConfigValues_CaOptions) Descriptor() ([]byte, []int) { 2772 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{4, 0} 2773} 2774 2775func (x *ReusableConfigValues_CaOptions) GetIsCa() *wrapperspb.BoolValue { 2776 if x != nil { 2777 return x.IsCa 2778 } 2779 return nil 2780} 2781 2782func (x *ReusableConfigValues_CaOptions) GetMaxIssuerPathLength() *wrapperspb.Int32Value { 2783 if x != nil { 2784 return x.MaxIssuerPathLength 2785 } 2786 return nil 2787} 2788 2789// This message describes a subordinate CA's issuer certificate chain. This 2790// wrapper exists for compatibility reasons. 2791type SubordinateConfig_SubordinateConfigChain struct { 2792 state protoimpl.MessageState 2793 sizeCache protoimpl.SizeCache 2794 unknownFields protoimpl.UnknownFields 2795 2796 // Required. Expected to be in leaf-to-root order according to RFC 5246. 2797 PemCertificates []string `protobuf:"bytes,1,rep,name=pem_certificates,json=pemCertificates,proto3" json:"pem_certificates,omitempty"` 2798} 2799 2800func (x *SubordinateConfig_SubordinateConfigChain) Reset() { 2801 *x = SubordinateConfig_SubordinateConfigChain{} 2802 if protoimpl.UnsafeEnabled { 2803 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[29] 2804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2805 ms.StoreMessageInfo(mi) 2806 } 2807} 2808 2809func (x *SubordinateConfig_SubordinateConfigChain) String() string { 2810 return protoimpl.X.MessageStringOf(x) 2811} 2812 2813func (*SubordinateConfig_SubordinateConfigChain) ProtoMessage() {} 2814 2815func (x *SubordinateConfig_SubordinateConfigChain) ProtoReflect() protoreflect.Message { 2816 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[29] 2817 if protoimpl.UnsafeEnabled && x != nil { 2818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2819 if ms.LoadMessageInfo() == nil { 2820 ms.StoreMessageInfo(mi) 2821 } 2822 return ms 2823 } 2824 return mi.MessageOf(x) 2825} 2826 2827// Deprecated: Use SubordinateConfig_SubordinateConfigChain.ProtoReflect.Descriptor instead. 2828func (*SubordinateConfig_SubordinateConfigChain) Descriptor() ([]byte, []int) { 2829 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{6, 0} 2830} 2831 2832func (x *SubordinateConfig_SubordinateConfigChain) GetPemCertificates() []string { 2833 if x != nil { 2834 return x.PemCertificates 2835 } 2836 return nil 2837} 2838 2839// These values are used to create the distinguished name and subject 2840// alternative name fields in an X.509 certificate. 2841type CertificateConfig_SubjectConfig struct { 2842 state protoimpl.MessageState 2843 sizeCache protoimpl.SizeCache 2844 unknownFields protoimpl.UnknownFields 2845 2846 // Required. Contains distinguished name fields such as the location and organization. 2847 Subject *Subject `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` 2848 // Optional. The "common name" of the distinguished name. 2849 CommonName string `protobuf:"bytes,2,opt,name=common_name,json=commonName,proto3" json:"common_name,omitempty"` 2850 // Optional. The subject alternative name fields. 2851 SubjectAltName *SubjectAltNames `protobuf:"bytes,3,opt,name=subject_alt_name,json=subjectAltName,proto3" json:"subject_alt_name,omitempty"` 2852} 2853 2854func (x *CertificateConfig_SubjectConfig) Reset() { 2855 *x = CertificateConfig_SubjectConfig{} 2856 if protoimpl.UnsafeEnabled { 2857 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[30] 2858 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2859 ms.StoreMessageInfo(mi) 2860 } 2861} 2862 2863func (x *CertificateConfig_SubjectConfig) String() string { 2864 return protoimpl.X.MessageStringOf(x) 2865} 2866 2867func (*CertificateConfig_SubjectConfig) ProtoMessage() {} 2868 2869func (x *CertificateConfig_SubjectConfig) ProtoReflect() protoreflect.Message { 2870 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[30] 2871 if protoimpl.UnsafeEnabled && x != nil { 2872 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2873 if ms.LoadMessageInfo() == nil { 2874 ms.StoreMessageInfo(mi) 2875 } 2876 return ms 2877 } 2878 return mi.MessageOf(x) 2879} 2880 2881// Deprecated: Use CertificateConfig_SubjectConfig.ProtoReflect.Descriptor instead. 2882func (*CertificateConfig_SubjectConfig) Descriptor() ([]byte, []int) { 2883 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{8, 0} 2884} 2885 2886func (x *CertificateConfig_SubjectConfig) GetSubject() *Subject { 2887 if x != nil { 2888 return x.Subject 2889 } 2890 return nil 2891} 2892 2893func (x *CertificateConfig_SubjectConfig) GetCommonName() string { 2894 if x != nil { 2895 return x.CommonName 2896 } 2897 return "" 2898} 2899 2900func (x *CertificateConfig_SubjectConfig) GetSubjectAltName() *SubjectAltNames { 2901 if x != nil { 2902 return x.SubjectAltName 2903 } 2904 return nil 2905} 2906 2907// These values describe fields in an issued X.509 certificate such as the 2908// distinguished name, subject alternative names, serial number, and lifetime. 2909type CertificateDescription_SubjectDescription struct { 2910 state protoimpl.MessageState 2911 sizeCache protoimpl.SizeCache 2912 unknownFields protoimpl.UnknownFields 2913 2914 // Contains distinguished name fields such as the location and organization. 2915 Subject *Subject `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` 2916 // The "common name" of the distinguished name. 2917 CommonName string `protobuf:"bytes,2,opt,name=common_name,json=commonName,proto3" json:"common_name,omitempty"` 2918 // The subject alternative name fields. 2919 SubjectAltName *SubjectAltNames `protobuf:"bytes,3,opt,name=subject_alt_name,json=subjectAltName,proto3" json:"subject_alt_name,omitempty"` 2920 // The serial number encoded in lowercase hexadecimal. 2921 HexSerialNumber string `protobuf:"bytes,4,opt,name=hex_serial_number,json=hexSerialNumber,proto3" json:"hex_serial_number,omitempty"` 2922 // For convenience, the actual lifetime of an issued certificate. 2923 // Corresponds to 'not_after_time' - 'not_before_time'. 2924 Lifetime *durationpb.Duration `protobuf:"bytes,5,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 2925 // The time at which the certificate becomes valid. 2926 NotBeforeTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=not_before_time,json=notBeforeTime,proto3" json:"not_before_time,omitempty"` 2927 // The time at which the certificate expires. 2928 NotAfterTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=not_after_time,json=notAfterTime,proto3" json:"not_after_time,omitempty"` 2929} 2930 2931func (x *CertificateDescription_SubjectDescription) Reset() { 2932 *x = CertificateDescription_SubjectDescription{} 2933 if protoimpl.UnsafeEnabled { 2934 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[31] 2935 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2936 ms.StoreMessageInfo(mi) 2937 } 2938} 2939 2940func (x *CertificateDescription_SubjectDescription) String() string { 2941 return protoimpl.X.MessageStringOf(x) 2942} 2943 2944func (*CertificateDescription_SubjectDescription) ProtoMessage() {} 2945 2946func (x *CertificateDescription_SubjectDescription) ProtoReflect() protoreflect.Message { 2947 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[31] 2948 if protoimpl.UnsafeEnabled && x != nil { 2949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2950 if ms.LoadMessageInfo() == nil { 2951 ms.StoreMessageInfo(mi) 2952 } 2953 return ms 2954 } 2955 return mi.MessageOf(x) 2956} 2957 2958// Deprecated: Use CertificateDescription_SubjectDescription.ProtoReflect.Descriptor instead. 2959func (*CertificateDescription_SubjectDescription) Descriptor() ([]byte, []int) { 2960 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{9, 0} 2961} 2962 2963func (x *CertificateDescription_SubjectDescription) GetSubject() *Subject { 2964 if x != nil { 2965 return x.Subject 2966 } 2967 return nil 2968} 2969 2970func (x *CertificateDescription_SubjectDescription) GetCommonName() string { 2971 if x != nil { 2972 return x.CommonName 2973 } 2974 return "" 2975} 2976 2977func (x *CertificateDescription_SubjectDescription) GetSubjectAltName() *SubjectAltNames { 2978 if x != nil { 2979 return x.SubjectAltName 2980 } 2981 return nil 2982} 2983 2984func (x *CertificateDescription_SubjectDescription) GetHexSerialNumber() string { 2985 if x != nil { 2986 return x.HexSerialNumber 2987 } 2988 return "" 2989} 2990 2991func (x *CertificateDescription_SubjectDescription) GetLifetime() *durationpb.Duration { 2992 if x != nil { 2993 return x.Lifetime 2994 } 2995 return nil 2996} 2997 2998func (x *CertificateDescription_SubjectDescription) GetNotBeforeTime() *timestamppb.Timestamp { 2999 if x != nil { 3000 return x.NotBeforeTime 3001 } 3002 return nil 3003} 3004 3005func (x *CertificateDescription_SubjectDescription) GetNotAfterTime() *timestamppb.Timestamp { 3006 if x != nil { 3007 return x.NotAfterTime 3008 } 3009 return nil 3010} 3011 3012// A KeyId identifies a specific public key, usually by hashing the public 3013// key. 3014type CertificateDescription_KeyId struct { 3015 state protoimpl.MessageState 3016 sizeCache protoimpl.SizeCache 3017 unknownFields protoimpl.UnknownFields 3018 3019 // Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most 3020 // likely the 160 bit SHA-1 hash of the public key. 3021 KeyId string `protobuf:"bytes,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` 3022} 3023 3024func (x *CertificateDescription_KeyId) Reset() { 3025 *x = CertificateDescription_KeyId{} 3026 if protoimpl.UnsafeEnabled { 3027 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[32] 3028 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3029 ms.StoreMessageInfo(mi) 3030 } 3031} 3032 3033func (x *CertificateDescription_KeyId) String() string { 3034 return protoimpl.X.MessageStringOf(x) 3035} 3036 3037func (*CertificateDescription_KeyId) ProtoMessage() {} 3038 3039func (x *CertificateDescription_KeyId) ProtoReflect() protoreflect.Message { 3040 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[32] 3041 if protoimpl.UnsafeEnabled && x != nil { 3042 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3043 if ms.LoadMessageInfo() == nil { 3044 ms.StoreMessageInfo(mi) 3045 } 3046 return ms 3047 } 3048 return mi.MessageOf(x) 3049} 3050 3051// Deprecated: Use CertificateDescription_KeyId.ProtoReflect.Descriptor instead. 3052func (*CertificateDescription_KeyId) Descriptor() ([]byte, []int) { 3053 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{9, 1} 3054} 3055 3056func (x *CertificateDescription_KeyId) GetKeyId() string { 3057 if x != nil { 3058 return x.KeyId 3059 } 3060 return "" 3061} 3062 3063// A group of fingerprints for the x509 certificate. 3064type CertificateDescription_CertificateFingerprint struct { 3065 state protoimpl.MessageState 3066 sizeCache protoimpl.SizeCache 3067 unknownFields protoimpl.UnknownFields 3068 3069 // The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate. 3070 Sha256Hash string `protobuf:"bytes,1,opt,name=sha256_hash,json=sha256Hash,proto3" json:"sha256_hash,omitempty"` 3071} 3072 3073func (x *CertificateDescription_CertificateFingerprint) Reset() { 3074 *x = CertificateDescription_CertificateFingerprint{} 3075 if protoimpl.UnsafeEnabled { 3076 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[33] 3077 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3078 ms.StoreMessageInfo(mi) 3079 } 3080} 3081 3082func (x *CertificateDescription_CertificateFingerprint) String() string { 3083 return protoimpl.X.MessageStringOf(x) 3084} 3085 3086func (*CertificateDescription_CertificateFingerprint) ProtoMessage() {} 3087 3088func (x *CertificateDescription_CertificateFingerprint) ProtoReflect() protoreflect.Message { 3089 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[33] 3090 if protoimpl.UnsafeEnabled && x != nil { 3091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3092 if ms.LoadMessageInfo() == nil { 3093 ms.StoreMessageInfo(mi) 3094 } 3095 return ms 3096 } 3097 return mi.MessageOf(x) 3098} 3099 3100// Deprecated: Use CertificateDescription_CertificateFingerprint.ProtoReflect.Descriptor instead. 3101func (*CertificateDescription_CertificateFingerprint) Descriptor() ([]byte, []int) { 3102 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{9, 2} 3103} 3104 3105func (x *CertificateDescription_CertificateFingerprint) GetSha256Hash() string { 3106 if x != nil { 3107 return x.Sha256Hash 3108 } 3109 return "" 3110} 3111 3112// [KeyUsage.KeyUsageOptions][google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions] corresponds to the key usage values 3113// described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3. 3114type KeyUsage_KeyUsageOptions struct { 3115 state protoimpl.MessageState 3116 sizeCache protoimpl.SizeCache 3117 unknownFields protoimpl.UnknownFields 3118 3119 // The key may be used for digital signatures. 3120 DigitalSignature bool `protobuf:"varint,1,opt,name=digital_signature,json=digitalSignature,proto3" json:"digital_signature,omitempty"` 3121 // The key may be used for cryptographic commitments. Note that this may 3122 // also be referred to as "non-repudiation". 3123 ContentCommitment bool `protobuf:"varint,2,opt,name=content_commitment,json=contentCommitment,proto3" json:"content_commitment,omitempty"` 3124 // The key may be used to encipher other keys. 3125 KeyEncipherment bool `protobuf:"varint,3,opt,name=key_encipherment,json=keyEncipherment,proto3" json:"key_encipherment,omitempty"` 3126 // The key may be used to encipher data. 3127 DataEncipherment bool `protobuf:"varint,4,opt,name=data_encipherment,json=dataEncipherment,proto3" json:"data_encipherment,omitempty"` 3128 // The key may be used in a key agreement protocol. 3129 KeyAgreement bool `protobuf:"varint,5,opt,name=key_agreement,json=keyAgreement,proto3" json:"key_agreement,omitempty"` 3130 // The key may be used to sign certificates. 3131 CertSign bool `protobuf:"varint,6,opt,name=cert_sign,json=certSign,proto3" json:"cert_sign,omitempty"` 3132 // The key may be used sign certificate revocation lists. 3133 CrlSign bool `protobuf:"varint,7,opt,name=crl_sign,json=crlSign,proto3" json:"crl_sign,omitempty"` 3134 // The key may be used to encipher only. 3135 EncipherOnly bool `protobuf:"varint,8,opt,name=encipher_only,json=encipherOnly,proto3" json:"encipher_only,omitempty"` 3136 // The key may be used to decipher only. 3137 DecipherOnly bool `protobuf:"varint,9,opt,name=decipher_only,json=decipherOnly,proto3" json:"decipher_only,omitempty"` 3138} 3139 3140func (x *KeyUsage_KeyUsageOptions) Reset() { 3141 *x = KeyUsage_KeyUsageOptions{} 3142 if protoimpl.UnsafeEnabled { 3143 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[34] 3144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3145 ms.StoreMessageInfo(mi) 3146 } 3147} 3148 3149func (x *KeyUsage_KeyUsageOptions) String() string { 3150 return protoimpl.X.MessageStringOf(x) 3151} 3152 3153func (*KeyUsage_KeyUsageOptions) ProtoMessage() {} 3154 3155func (x *KeyUsage_KeyUsageOptions) ProtoReflect() protoreflect.Message { 3156 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[34] 3157 if protoimpl.UnsafeEnabled && x != nil { 3158 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3159 if ms.LoadMessageInfo() == nil { 3160 ms.StoreMessageInfo(mi) 3161 } 3162 return ms 3163 } 3164 return mi.MessageOf(x) 3165} 3166 3167// Deprecated: Use KeyUsage_KeyUsageOptions.ProtoReflect.Descriptor instead. 3168func (*KeyUsage_KeyUsageOptions) Descriptor() ([]byte, []int) { 3169 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{12, 0} 3170} 3171 3172func (x *KeyUsage_KeyUsageOptions) GetDigitalSignature() bool { 3173 if x != nil { 3174 return x.DigitalSignature 3175 } 3176 return false 3177} 3178 3179func (x *KeyUsage_KeyUsageOptions) GetContentCommitment() bool { 3180 if x != nil { 3181 return x.ContentCommitment 3182 } 3183 return false 3184} 3185 3186func (x *KeyUsage_KeyUsageOptions) GetKeyEncipherment() bool { 3187 if x != nil { 3188 return x.KeyEncipherment 3189 } 3190 return false 3191} 3192 3193func (x *KeyUsage_KeyUsageOptions) GetDataEncipherment() bool { 3194 if x != nil { 3195 return x.DataEncipherment 3196 } 3197 return false 3198} 3199 3200func (x *KeyUsage_KeyUsageOptions) GetKeyAgreement() bool { 3201 if x != nil { 3202 return x.KeyAgreement 3203 } 3204 return false 3205} 3206 3207func (x *KeyUsage_KeyUsageOptions) GetCertSign() bool { 3208 if x != nil { 3209 return x.CertSign 3210 } 3211 return false 3212} 3213 3214func (x *KeyUsage_KeyUsageOptions) GetCrlSign() bool { 3215 if x != nil { 3216 return x.CrlSign 3217 } 3218 return false 3219} 3220 3221func (x *KeyUsage_KeyUsageOptions) GetEncipherOnly() bool { 3222 if x != nil { 3223 return x.EncipherOnly 3224 } 3225 return false 3226} 3227 3228func (x *KeyUsage_KeyUsageOptions) GetDecipherOnly() bool { 3229 if x != nil { 3230 return x.DecipherOnly 3231 } 3232 return false 3233} 3234 3235// [KeyUsage.ExtendedKeyUsageOptions][google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions] has fields that correspond to 3236// certain common OIDs that could be specified as an extended key usage value. 3237type KeyUsage_ExtendedKeyUsageOptions struct { 3238 state protoimpl.MessageState 3239 sizeCache protoimpl.SizeCache 3240 unknownFields protoimpl.UnknownFields 3241 3242 // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW 3243 // server authentication", though regularly used for non-WWW TLS. 3244 ServerAuth bool `protobuf:"varint,1,opt,name=server_auth,json=serverAuth,proto3" json:"server_auth,omitempty"` 3245 // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW 3246 // client authentication", though regularly used for non-WWW TLS. 3247 ClientAuth bool `protobuf:"varint,2,opt,name=client_auth,json=clientAuth,proto3" json:"client_auth,omitempty"` 3248 // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of 3249 // downloadable executable code client authentication". 3250 CodeSigning bool `protobuf:"varint,3,opt,name=code_signing,json=codeSigning,proto3" json:"code_signing,omitempty"` 3251 // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email 3252 // protection". 3253 EmailProtection bool `protobuf:"varint,4,opt,name=email_protection,json=emailProtection,proto3" json:"email_protection,omitempty"` 3254 // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding 3255 // the hash of an object to a time". 3256 TimeStamping bool `protobuf:"varint,5,opt,name=time_stamping,json=timeStamping,proto3" json:"time_stamping,omitempty"` 3257 // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing 3258 // OCSP responses". 3259 OcspSigning bool `protobuf:"varint,6,opt,name=ocsp_signing,json=ocspSigning,proto3" json:"ocsp_signing,omitempty"` 3260} 3261 3262func (x *KeyUsage_ExtendedKeyUsageOptions) Reset() { 3263 *x = KeyUsage_ExtendedKeyUsageOptions{} 3264 if protoimpl.UnsafeEnabled { 3265 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[35] 3266 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3267 ms.StoreMessageInfo(mi) 3268 } 3269} 3270 3271func (x *KeyUsage_ExtendedKeyUsageOptions) String() string { 3272 return protoimpl.X.MessageStringOf(x) 3273} 3274 3275func (*KeyUsage_ExtendedKeyUsageOptions) ProtoMessage() {} 3276 3277func (x *KeyUsage_ExtendedKeyUsageOptions) ProtoReflect() protoreflect.Message { 3278 mi := &file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[35] 3279 if protoimpl.UnsafeEnabled && x != nil { 3280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3281 if ms.LoadMessageInfo() == nil { 3282 ms.StoreMessageInfo(mi) 3283 } 3284 return ms 3285 } 3286 return mi.MessageOf(x) 3287} 3288 3289// Deprecated: Use KeyUsage_ExtendedKeyUsageOptions.ProtoReflect.Descriptor instead. 3290func (*KeyUsage_ExtendedKeyUsageOptions) Descriptor() ([]byte, []int) { 3291 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP(), []int{12, 1} 3292} 3293 3294func (x *KeyUsage_ExtendedKeyUsageOptions) GetServerAuth() bool { 3295 if x != nil { 3296 return x.ServerAuth 3297 } 3298 return false 3299} 3300 3301func (x *KeyUsage_ExtendedKeyUsageOptions) GetClientAuth() bool { 3302 if x != nil { 3303 return x.ClientAuth 3304 } 3305 return false 3306} 3307 3308func (x *KeyUsage_ExtendedKeyUsageOptions) GetCodeSigning() bool { 3309 if x != nil { 3310 return x.CodeSigning 3311 } 3312 return false 3313} 3314 3315func (x *KeyUsage_ExtendedKeyUsageOptions) GetEmailProtection() bool { 3316 if x != nil { 3317 return x.EmailProtection 3318 } 3319 return false 3320} 3321 3322func (x *KeyUsage_ExtendedKeyUsageOptions) GetTimeStamping() bool { 3323 if x != nil { 3324 return x.TimeStamping 3325 } 3326 return false 3327} 3328 3329func (x *KeyUsage_ExtendedKeyUsageOptions) GetOcspSigning() bool { 3330 if x != nil { 3331 return x.OcspSigning 3332 } 3333 return false 3334} 3335 3336var File_google_cloud_security_privateca_v1beta1_resources_proto protoreflect.FileDescriptor 3337 3338var file_google_cloud_security_privateca_v1beta1_resources_proto_rawDesc = []byte{ 3339 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 3340 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 3341 0x61, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 3342 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3343 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 3344 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3345 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 3346 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 3347 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 3348 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 3349 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 3350 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 3351 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 3352 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3353 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3354 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3355 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 3356 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x21, 3357 0x0a, 0x14, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 3358 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 3359 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3360 0x5e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 3361 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 3362 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 3363 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3364 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x79, 0x70, 3365 0x65, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 3366 0x5e, 0x0a, 0x04, 0x74, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 3367 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 3368 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 3369 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3370 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x69, 0x65, 3371 0x72, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x74, 0x69, 0x65, 0x72, 0x12, 3372 0x5a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 3373 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 3374 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 3375 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 3376 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x06, 0xe0, 0x41, 0x02, 3377 0xe0, 0x41, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 3378 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 3379 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3380 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6c, 3381 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x6f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x73, 3382 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3383 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 3384 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 3385 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 3386 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 3387 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 3388 0x07, 0x6b, 0x65, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x63, 0x65, 0x72, 3389 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 3390 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3391 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 3392 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3393 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 3394 0x72, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 3395 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 3396 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3397 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x7a, 0x0a, 0x0f, 0x69, 0x73, 0x73, 0x75, 0x69, 3398 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 3399 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3400 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 3401 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 3402 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 3403 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 3404 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 3405 0x6f, 0x6e, 0x73, 0x12, 0x6e, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 3406 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 3407 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 3408 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 3409 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6f, 0x72, 0x64, 3410 0x69, 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 3411 0x52, 0x11, 0x73, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 3412 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 3413 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3414 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 3415 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 3416 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 3417 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 3418 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x13, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 3419 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 3420 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x70, 0x65, 0x6d, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 3421 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x1b, 0x63, 0x61, 0x5f, 3422 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 3423 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 3424 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 3425 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 3426 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3427 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 3428 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3429 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 3430 0x22, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x0d, 0x20, 3431 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 3432 0x6b, 0x65, 0x74, 0x12, 0x6e, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 3433 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3434 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 3435 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3436 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 3437 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 3438 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 3439 0x72, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 3440 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3441 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 3442 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 3443 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 3444 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3445 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 3446 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 3447 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 3448 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 3449 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 3450 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 3451 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x06, 0x6c, 0x61, 0x62, 3452 0x65, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3453 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 3454 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 3455 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 3456 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 3457 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 3458 0x73, 0x1a, 0x7e, 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 3459 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 3460 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 3461 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x61, 3462 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 3463 0x64, 0x65, 0x5f, 0x63, 0x72, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 3464 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x69, 0x6e, 3465 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x72, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 3466 0x6c, 0x1a, 0x88, 0x0c, 0x0a, 0x1a, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3467 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 3468 0x12, 0xa1, 0x01, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 3469 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 3470 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 3471 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 3472 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3473 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x65, 3474 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 3475 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 3476 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 3477 0x00, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3478 0x4c, 0x69, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x17, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 3479 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 3480 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3481 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 3482 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3483 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x72, 3484 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x76, 3485 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 3486 0x75, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 3487 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x6f, 0x72, 3488 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 3489 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3490 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 3491 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 3492 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 3493 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x72, 0x67, 3494 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x6c, 3495 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 3496 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 3497 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 3498 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x73, 0x61, 3499 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3500 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 3501 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3502 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 3503 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3504 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 3505 0x63, 0x79, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 3506 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 3507 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x61, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x6d, 3508 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 3509 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3510 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3511 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4c, 0x69, 3512 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 3513 0x65, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 3514 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3515 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 3516 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3517 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 3518 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 3519 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 3520 0x79, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x42, 3521 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x73, 0x73, 3522 0x75, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x11, 0x41, 3523 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, 3524 0x12, 0x77, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 3525 0x69, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 3526 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 3527 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 3528 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 3529 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, 3530 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6f, 0x6e, 3531 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0xcb, 0x02, 0x0a, 0x16, 0x41, 0x6c, 3532 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 3533 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 3534 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 3535 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x44, 0x6e, 0x73, 3536 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 3537 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 3538 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x72, 0x69, 0x73, 0x12, 0x3b, 0x0a, 3539 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 3540 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 3541 0xe0, 0x41, 0x01, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 3542 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x6c, 3543 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 3544 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x70, 0x73, 3545 0x12, 0x44, 0x0a, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x62, 0x69, 3546 0x6e, 0x67, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x73, 3547 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x61, 0x6c, 0x6c, 3548 0x6f, 0x77, 0x47, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x6e, 0x67, 0x44, 0x6e, 0x73, 0x57, 0x69, 0x6c, 3549 0x64, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 3550 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 3551 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x75, 0x73, 3552 0x74, 0x6f, 0x6d, 0x53, 0x61, 0x6e, 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x0d, 0x49, 0x73, 0x73, 0x75, 3553 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 3554 0x6f, 0x77, 0x5f, 0x63, 0x73, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x73, 0x73, 3555 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 3556 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x73, 0x72, 0x42, 0x61, 0x73, 0x65, 0x64, 0x49, 3557 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 3558 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x73, 3559 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 3560 0x02, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x61, 3561 0x73, 0x65, 0x64, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 3562 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x6d, 0x0a, 0x0a, 3563 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x61, 3564 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 3565 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 3566 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 3567 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x72, 0x6c, 0x5f, 0x61, 0x63, 0x63, 3568 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 3569 0x72, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x1a, 0xce, 0x01, 0x0a, 0x0e, 3570 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x38, 3571 0x0a, 0x15, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 3572 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 3573 0x41, 0x02, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 3574 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 3575 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 3576 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 3577 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 3578 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3579 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x48, 3580 0x61, 0x73, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 3581 0x02, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x0c, 3582 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 3583 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 3584 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 3585 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 3586 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 3587 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 3588 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x53, 0x49, 3589 0x47, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x55, 0x42, 0x4f, 0x52, 0x44, 3590 0x49, 0x4e, 0x41, 0x54, 0x45, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x04, 0x54, 0x69, 0x65, 0x72, 0x12, 3591 0x14, 0x0a, 0x10, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 3592 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 3593 0x49, 0x53, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x56, 0x4f, 0x50, 0x53, 0x10, 3594 0x02, 0x22, 0x67, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 3595 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 3596 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 3597 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 3598 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x49, 3599 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 3600 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x22, 0xfc, 0x01, 0x0a, 0x11, 0x53, 3601 0x69, 0x67, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 3602 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x41, 0x4c, 3603 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 3604 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x53, 0x53, 3605 0x5f, 0x32, 0x30, 0x34, 0x38, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x01, 0x12, 0x17, 3606 0x0a, 0x13, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x53, 0x53, 0x5f, 0x33, 0x30, 0x37, 0x32, 0x5f, 0x53, 3607 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x53, 0x41, 0x5f, 0x50, 3608 0x53, 0x53, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x03, 3609 0x12, 0x19, 0x0a, 0x15, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x32, 0x30, 3610 0x34, 0x38, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x52, 3611 0x53, 0x41, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x33, 0x30, 0x37, 0x32, 0x5f, 0x53, 0x48, 3612 0x41, 0x32, 0x35, 0x36, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x4b, 3613 0x43, 0x53, 0x31, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 3614 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x43, 0x5f, 0x50, 0x32, 0x35, 0x36, 0x5f, 0x53, 0x48, 0x41, 3615 0x32, 0x35, 0x36, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x43, 0x5f, 0x50, 0x33, 0x38, 0x34, 3616 0x5f, 0x53, 0x48, 0x41, 0x33, 0x38, 0x34, 0x10, 0x05, 0x3a, 0x8b, 0x01, 0xea, 0x41, 0x87, 0x01, 3617 0x0a, 0x2d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3618 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x69, 3619 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 3620 0x56, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3621 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 3622 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3623 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 3624 0x7b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 3625 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x7d, 0x22, 0x9b, 0x09, 0x0a, 0x19, 0x43, 0x65, 0x72, 0x74, 3626 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3627 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 3628 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 3629 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 3630 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x73, 0x65, 3631 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x8d, 0x01, 0x0a, 3632 0x14, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3633 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 3634 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 3635 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 3636 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3637 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x2e, 3638 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 3639 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 3640 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x07, 3641 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 3642 0x41, 0x03, 0x52, 0x06, 0x70, 0x65, 0x6d, 0x43, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x63, 3643 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 3644 0xe0, 0x41, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x63, 3645 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 3646 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 3647 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 3648 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3649 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 3650 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 3651 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 3652 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3653 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 3654 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 3655 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 3656 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3657 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 3658 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 3659 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x6b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 3660 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3661 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 3662 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3663 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 3664 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 3665 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 3666 0x62, 0x65, 0x6c, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 3667 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 3668 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3669 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 3670 0x11, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 3671 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x65, 0x78, 0x53, 0x65, 0x72, 3672 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x11, 0x72, 0x65, 0x76, 3673 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 3674 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3675 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 3676 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 3677 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 3678 0x10, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 3679 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 3680 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 3681 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 3682 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3a, 0x0a, 0x05, 3683 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 3684 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 3685 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x50, 0x45, 3686 0x52, 0x53, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x3a, 0xca, 0x01, 0xea, 0x41, 0xc6, 0x01, 0x0a, 3687 0x32, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3688 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 3689 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 3690 0x69, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 3691 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3692 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x65, 3693 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 3694 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3695 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x63, 0x65, 0x72, 3696 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 3697 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3698 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 3699 0x6c, 0x69, 0x73, 0x74, 0x7d, 0x22, 0xd7, 0x09, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 3700 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 3701 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 3702 0x0a, 0x07, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x73, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 3703 0x03, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x06, 0x70, 0x65, 0x6d, 0x43, 0x73, 0x72, 0x12, 0x59, 3704 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 3705 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 3706 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 3707 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3708 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x48, 3709 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x08, 0x6c, 0x69, 0x66, 3710 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 3711 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 3712 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x08, 3713 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x7a, 0x0a, 0x12, 0x72, 0x65, 0x76, 0x6f, 3714 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 3715 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3716 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 3717 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 3718 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x63, 3719 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 3720 0x03, 0x52, 0x11, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 3721 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 3722 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 3723 0x41, 0x03, 0x52, 0x0e, 0x70, 0x65, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 3724 0x74, 0x65, 0x12, 0x7d, 0x0a, 0x17, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3725 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 3726 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3727 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 3728 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 3729 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3730 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x63, 0x65, 0x72, 0x74, 0x69, 3731 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 3732 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3733 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 3734 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 0x65, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 3735 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 3736 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 3737 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3738 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 3739 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 3740 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 3741 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3742 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 3743 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5d, 3744 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 3745 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 3746 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 3747 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3748 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 3749 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0xbe, 0x01, 3750 0x0a, 0x11, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 3751 0x69, 0x6c, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3752 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 3753 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 3754 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 3755 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 3756 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 3757 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x65, 0x76, 3758 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 3759 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3760 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 3761 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 3762 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 3763 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 3764 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 3765 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x9d, 0x01, 0xea, 0x41, 0x99, 0x01, 3766 0x0a, 0x24, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3767 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x69, 3768 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x71, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3769 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3770 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 3771 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 3772 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3773 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x63, 3774 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x65, 0x72, 3775 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x7d, 0x42, 0x14, 0x0a, 0x12, 0x63, 0x65, 0x72, 3776 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 3777 0xc6, 0x04, 0x0a, 0x0e, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 3778 0x69, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3779 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x06, 0x76, 3780 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 3781 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 3782 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 3783 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 3784 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 3785 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 3786 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 3787 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 3788 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 3789 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3790 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 3791 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 3792 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 3793 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3794 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 3795 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 3796 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 3797 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3798 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 3799 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 3800 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x62, 0x65, 3801 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 3802 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 3803 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3804 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 3805 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 3806 0x77, 0xea, 0x41, 0x74, 0x0a, 0x27, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 3807 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 3808 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x70, 3809 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3810 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 3811 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 3812 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 3813 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x7d, 0x22, 0xeb, 0x04, 0x0a, 0x14, 0x52, 0x65, 0x75, 3814 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 3815 0x73, 0x12, 0x53, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 3816 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3817 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 3818 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4b, 3819 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6b, 0x65, 3820 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x0a, 0x63, 0x61, 0x5f, 0x6f, 0x70, 0x74, 3821 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 3822 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 3823 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 3824 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 3825 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x43, 0x61, 0x4f, 0x70, 0x74, 0x69, 3826 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x61, 0x4f, 0x70, 0x74, 0x69, 3827 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 3828 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3829 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 3830 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3831 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 3832 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x69, 3833 0x61, 0x5f, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, 3834 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, 0x69, 0x61, 0x4f, 0x63, 3835 0x73, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x15, 0x61, 0x64, 0x64, 3836 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 3837 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3838 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 3839 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3840 0x61, 0x31, 0x2e, 0x58, 0x35, 0x30, 0x39, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 3841 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 3842 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x98, 0x01, 0x0a, 0x09, 3843 0x43, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x73, 0x5f, 3844 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3845 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 3846 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x69, 0x73, 0x43, 0x61, 0x12, 3847 0x55, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x70, 0x61, 3848 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3849 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3850 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 3851 0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 3852 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xd4, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x75, 0x73, 0x61, 3853 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 3854 0x12, 0x2e, 0x0a, 0x0f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 3855 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 3856 0x52, 0x0e, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3857 0x12, 0x7a, 0x0a, 0x16, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 3858 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 3859 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3860 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 3861 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 3862 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 3863 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x14, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 3864 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 3865 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xb4, 0x02, 3866 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 3867 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x15, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 3868 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 3869 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x14, 0x63, 0x65, 0x72, 0x74, 0x69, 3870 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 3871 0x82, 0x01, 0x0a, 0x10, 0x70, 0x65, 0x6d, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x63, 3872 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 3873 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 3874 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 3875 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 3876 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 3877 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x03, 0xe0, 3878 0x41, 0x02, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x65, 0x6d, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x43, 3879 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x48, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 3880 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2e, 3881 0x0a, 0x10, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3882 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 3883 0x65, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x42, 0x14, 3884 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 3885 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 3886 0x65, 0x79, 0x12, 0x53, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 3887 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3888 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 3889 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 3890 0x63, 0x4b, 0x65, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 3891 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 3892 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x44, 3893 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x45, 0x59, 3894 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 3895 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x45, 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x4b, 3896 0x45, 0x59, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x4b, 3897 0x45, 0x59, 0x10, 0x02, 0x22, 0xc1, 0x04, 0x0a, 0x11, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 3898 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x0e, 0x73, 0x75, 3899 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 3900 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3901 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 3902 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 3903 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 3904 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 3905 0x02, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3906 0x12, 0x6c, 0x0a, 0x0f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 3907 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3908 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 3909 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 3910 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 3911 0x69, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 3912 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 3913 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 3914 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3915 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 3916 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 3917 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x75, 0x62, 3918 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x1a, 0xef, 0x01, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6a, 0x65, 3919 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 3920 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3921 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 3922 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 3923 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 3924 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 3925 0x6d, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 3926 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 3927 0x67, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 3928 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3929 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 3930 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 3931 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 3932 0x6d, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 3933 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe1, 0x0a, 0x0a, 0x16, 0x43, 0x65, 0x72, 3934 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 3935 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 3936 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 3937 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3938 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 3939 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 3940 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3941 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3942 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 3943 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 3944 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 3945 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3946 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 3947 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 3948 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 3949 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x51, 0x0a, 3950 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 3951 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3952 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 3953 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 3954 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 3955 0x12, 0x6b, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 3956 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3957 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 3958 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3959 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 3960 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 3961 0x0c, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x6f, 0x0a, 3962 0x10, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 3963 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3964 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 3965 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3966 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 3967 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x0e, 3968 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x36, 3969 0x0a, 0x17, 0x63, 0x72, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 3970 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 3971 0x15, 0x63, 0x72, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 3972 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x69, 0x61, 0x5f, 0x69, 0x73, 3973 0x73, 0x75, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 3974 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x19, 0x61, 0x69, 3975 0x61, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 3976 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 3977 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 3978 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3979 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 3980 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 3981 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 3982 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 3983 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0f, 0x63, 0x65, 0x72, 0x74, 3984 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x1a, 0xce, 0x03, 0x0a, 0x12, 3985 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3986 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 3987 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3988 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 3989 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 3990 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 3991 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 3992 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 3993 0x62, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 3994 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3995 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 3996 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 3997 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 3998 0x6d, 0x65, 0x73, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 3999 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 4000 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 4001 0x68, 0x65, 0x78, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 4002 0x35, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 4003 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 4004 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x69, 4005 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x65, 4006 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 4007 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 4008 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 4009 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6e, 0x6f, 4010 0x74, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 4011 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 4012 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 4013 0x6e, 0x6f, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x23, 0x0a, 0x05, 4014 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 4015 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 4016 0x64, 0x1a, 0x39, 0x0a, 0x16, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 4017 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 4018 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 4019 0x52, 0x0a, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x08, 4020 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 4021 0x63, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 4022 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x50, 4023 0x61, 0x74, 0x68, 0x22, 0xa0, 0x01, 0x0a, 0x0d, 0x58, 0x35, 0x30, 0x39, 0x45, 0x78, 0x74, 0x65, 4024 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 4025 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4026 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 4027 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 4028 0x61, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 4029 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x72, 4030 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 4031 0x02, 0x52, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x05, 0x76, 4032 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 4033 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc1, 0x07, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x55, 0x73, 4034 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 4035 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 4036 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 4037 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 4038 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4b, 4039 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 4040 0x62, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x77, 0x0a, 0x12, 4041 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x73, 0x61, 4042 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4043 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 4044 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 4045 0x61, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 4046 0x6e, 0x64, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 4047 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4b, 0x65, 0x79, 4048 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x70, 0x0a, 0x1b, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 4049 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x73, 4050 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 4051 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 4052 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 4053 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x18, 0x75, 4054 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4b, 0x65, 4055 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0xec, 0x02, 0x0a, 0x0f, 0x4b, 0x65, 0x79, 0x55, 4056 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 4057 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 4058 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 4059 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 4060 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 4061 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 4062 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x65, 4063 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 4064 0x08, 0x52, 0x0f, 0x6b, 0x65, 0x79, 0x45, 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x6d, 0x65, 4065 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x69, 0x70, 4066 0x68, 0x65, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, 4067 0x61, 0x74, 0x61, 0x45, 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x12, 4068 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 4069 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 4070 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x69, 0x67, 4071 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x53, 0x69, 0x67, 4072 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x72, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x07, 0x20, 4073 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 4074 0x65, 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20, 4075 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 4076 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 4077 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x70, 0x68, 4078 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0xf1, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x74, 0x65, 0x6e, 4079 0x64, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 4080 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 4081 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 4082 0x75, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x75, 4083 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 4084 0x41, 0x75, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x69, 0x67, 4085 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 4086 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 4087 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 4088 0x08, 0x52, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 4089 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 4090 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x53, 4091 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x63, 0x73, 0x70, 0x5f, 4092 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 4093 0x63, 0x73, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x81, 0x02, 0x0a, 0x07, 0x53, 4094 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 4095 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 4096 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 4097 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 4098 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 4099 0x13, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 4100 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x72, 0x67, 0x61, 4101 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1a, 4102 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 4103 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 4104 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 4105 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 4106 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 4107 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 4108 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 4109 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xe7, 4110 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 4111 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 4112 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 4113 0x12, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 4114 0x72, 0x69, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x64, 0x64, 4115 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6d, 4116 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 4117 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 4118 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 4119 0x57, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6e, 0x73, 0x18, 0x05, 4120 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4121 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x69, 4122 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x58, 4123 0x35, 0x30, 0x39, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x75, 4124 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x61, 0x6e, 0x73, 0x2a, 0x87, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x76, 4125 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 4126 0x1d, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53, 4127 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 4128 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x4f, 0x4d, 0x49, 4129 0x53, 0x45, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 4130 0x41, 0x54, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 4131 0x4d, 0x50, 0x52, 0x4f, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x46, 4132 0x46, 0x49, 0x4c, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 4133 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x50, 0x45, 0x52, 0x53, 0x45, 0x44, 0x45, 4134 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x45, 0x53, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 4135 0x5f, 0x4f, 0x46, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 4136 0x14, 0x0a, 0x10, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x48, 4137 0x4f, 0x4c, 0x44, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 4138 0x47, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x4e, 0x10, 0x07, 0x12, 0x22, 4139 0x0a, 0x1e, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x48, 4140 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x4f, 0x4d, 0x49, 0x53, 0x45, 4141 0x10, 0x08, 0x42, 0x9f, 0x02, 0x0a, 0x2b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4142 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 4143 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 4144 0x61, 0x31, 0x42, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x61, 0x52, 0x65, 0x73, 4145 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x50, 0x67, 4146 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 4147 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4148 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 4149 0x69, 0x74, 0x79, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0x2f, 0x76, 0x31, 4150 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x61, 0xf8, 4151 0x01, 0x01, 0xaa, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 4152 0x64, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 4153 0x74, 0x65, 0x43, 0x41, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x27, 0x47, 4154 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x65, 0x63, 0x75, 4155 0x72, 0x69, 0x74, 0x79, 0x5c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x41, 0x5c, 0x56, 4156 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x2b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 4157 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 4158 0x3a, 0x3a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x41, 0x3a, 0x3a, 0x56, 0x31, 0x62, 4159 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 4160} 4161 4162var ( 4163 file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescOnce sync.Once 4164 file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescData = file_google_cloud_security_privateca_v1beta1_resources_proto_rawDesc 4165) 4166 4167func file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescGZIP() []byte { 4168 file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescOnce.Do(func() { 4169 file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescData) 4170 }) 4171 return file_google_cloud_security_privateca_v1beta1_resources_proto_rawDescData 4172} 4173 4174var file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 7) 4175var file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 36) 4176var file_google_cloud_security_privateca_v1beta1_resources_proto_goTypes = []interface{}{ 4177 (RevocationReason)(0), // 0: google.cloud.security.privateca.v1beta1.RevocationReason 4178 (CertificateAuthority_Type)(0), // 1: google.cloud.security.privateca.v1beta1.CertificateAuthority.Type 4179 (CertificateAuthority_Tier)(0), // 2: google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier 4180 (CertificateAuthority_State)(0), // 3: google.cloud.security.privateca.v1beta1.CertificateAuthority.State 4181 (CertificateAuthority_SignHashAlgorithm)(0), // 4: google.cloud.security.privateca.v1beta1.CertificateAuthority.SignHashAlgorithm 4182 (CertificateRevocationList_State)(0), // 5: google.cloud.security.privateca.v1beta1.CertificateRevocationList.State 4183 (PublicKey_KeyType)(0), // 6: google.cloud.security.privateca.v1beta1.PublicKey.KeyType 4184 (*CertificateAuthority)(nil), // 7: google.cloud.security.privateca.v1beta1.CertificateAuthority 4185 (*CertificateRevocationList)(nil), // 8: google.cloud.security.privateca.v1beta1.CertificateRevocationList 4186 (*Certificate)(nil), // 9: google.cloud.security.privateca.v1beta1.Certificate 4187 (*ReusableConfig)(nil), // 10: google.cloud.security.privateca.v1beta1.ReusableConfig 4188 (*ReusableConfigValues)(nil), // 11: google.cloud.security.privateca.v1beta1.ReusableConfigValues 4189 (*ReusableConfigWrapper)(nil), // 12: google.cloud.security.privateca.v1beta1.ReusableConfigWrapper 4190 (*SubordinateConfig)(nil), // 13: google.cloud.security.privateca.v1beta1.SubordinateConfig 4191 (*PublicKey)(nil), // 14: google.cloud.security.privateca.v1beta1.PublicKey 4192 (*CertificateConfig)(nil), // 15: google.cloud.security.privateca.v1beta1.CertificateConfig 4193 (*CertificateDescription)(nil), // 16: google.cloud.security.privateca.v1beta1.CertificateDescription 4194 (*ObjectId)(nil), // 17: google.cloud.security.privateca.v1beta1.ObjectId 4195 (*X509Extension)(nil), // 18: google.cloud.security.privateca.v1beta1.X509Extension 4196 (*KeyUsage)(nil), // 19: google.cloud.security.privateca.v1beta1.KeyUsage 4197 (*Subject)(nil), // 20: google.cloud.security.privateca.v1beta1.Subject 4198 (*SubjectAltNames)(nil), // 21: google.cloud.security.privateca.v1beta1.SubjectAltNames 4199 (*CertificateAuthority_IssuingOptions)(nil), // 22: google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions 4200 (*CertificateAuthority_CertificateAuthorityPolicy)(nil), // 23: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy 4201 (*CertificateAuthority_AccessUrls)(nil), // 24: google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls 4202 (*CertificateAuthority_KeyVersionSpec)(nil), // 25: google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec 4203 nil, // 26: google.cloud.security.privateca.v1beta1.CertificateAuthority.LabelsEntry 4204 (*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList)(nil), // 27: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList 4205 (*CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames)(nil), // 28: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames 4206 (*CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes)(nil), // 29: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes 4207 (*CertificateRevocationList_RevokedCertificate)(nil), // 30: google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate 4208 nil, // 31: google.cloud.security.privateca.v1beta1.CertificateRevocationList.LabelsEntry 4209 (*Certificate_RevocationDetails)(nil), // 32: google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails 4210 nil, // 33: google.cloud.security.privateca.v1beta1.Certificate.LabelsEntry 4211 nil, // 34: google.cloud.security.privateca.v1beta1.ReusableConfig.LabelsEntry 4212 (*ReusableConfigValues_CaOptions)(nil), // 35: google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions 4213 (*SubordinateConfig_SubordinateConfigChain)(nil), // 36: google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain 4214 (*CertificateConfig_SubjectConfig)(nil), // 37: google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig 4215 (*CertificateDescription_SubjectDescription)(nil), // 38: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription 4216 (*CertificateDescription_KeyId)(nil), // 39: google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId 4217 (*CertificateDescription_CertificateFingerprint)(nil), // 40: google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint 4218 (*KeyUsage_KeyUsageOptions)(nil), // 41: google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions 4219 (*KeyUsage_ExtendedKeyUsageOptions)(nil), // 42: google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions 4220 (*durationpb.Duration)(nil), // 43: google.protobuf.Duration 4221 (*timestamppb.Timestamp)(nil), // 44: google.protobuf.Timestamp 4222 (*wrapperspb.BoolValue)(nil), // 45: google.protobuf.BoolValue 4223 (*wrapperspb.Int32Value)(nil), // 46: google.protobuf.Int32Value 4224} 4225var file_google_cloud_security_privateca_v1beta1_resources_proto_depIdxs = []int32{ 4226 1, // 0: google.cloud.security.privateca.v1beta1.CertificateAuthority.type:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.Type 4227 2, // 1: google.cloud.security.privateca.v1beta1.CertificateAuthority.tier:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier 4228 15, // 2: google.cloud.security.privateca.v1beta1.CertificateAuthority.config:type_name -> google.cloud.security.privateca.v1beta1.CertificateConfig 4229 43, // 3: google.cloud.security.privateca.v1beta1.CertificateAuthority.lifetime:type_name -> google.protobuf.Duration 4230 25, // 4: google.cloud.security.privateca.v1beta1.CertificateAuthority.key_spec:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec 4231 23, // 5: google.cloud.security.privateca.v1beta1.CertificateAuthority.certificate_policy:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy 4232 22, // 6: google.cloud.security.privateca.v1beta1.CertificateAuthority.issuing_options:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions 4233 13, // 7: google.cloud.security.privateca.v1beta1.CertificateAuthority.subordinate_config:type_name -> google.cloud.security.privateca.v1beta1.SubordinateConfig 4234 3, // 8: google.cloud.security.privateca.v1beta1.CertificateAuthority.state:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.State 4235 16, // 9: google.cloud.security.privateca.v1beta1.CertificateAuthority.ca_certificate_descriptions:type_name -> google.cloud.security.privateca.v1beta1.CertificateDescription 4236 24, // 10: google.cloud.security.privateca.v1beta1.CertificateAuthority.access_urls:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls 4237 44, // 11: google.cloud.security.privateca.v1beta1.CertificateAuthority.create_time:type_name -> google.protobuf.Timestamp 4238 44, // 12: google.cloud.security.privateca.v1beta1.CertificateAuthority.update_time:type_name -> google.protobuf.Timestamp 4239 44, // 13: google.cloud.security.privateca.v1beta1.CertificateAuthority.delete_time:type_name -> google.protobuf.Timestamp 4240 26, // 14: google.cloud.security.privateca.v1beta1.CertificateAuthority.labels:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.LabelsEntry 4241 30, // 15: google.cloud.security.privateca.v1beta1.CertificateRevocationList.revoked_certificates:type_name -> google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate 4242 5, // 16: google.cloud.security.privateca.v1beta1.CertificateRevocationList.state:type_name -> google.cloud.security.privateca.v1beta1.CertificateRevocationList.State 4243 44, // 17: google.cloud.security.privateca.v1beta1.CertificateRevocationList.create_time:type_name -> google.protobuf.Timestamp 4244 44, // 18: google.cloud.security.privateca.v1beta1.CertificateRevocationList.update_time:type_name -> google.protobuf.Timestamp 4245 31, // 19: google.cloud.security.privateca.v1beta1.CertificateRevocationList.labels:type_name -> google.cloud.security.privateca.v1beta1.CertificateRevocationList.LabelsEntry 4246 15, // 20: google.cloud.security.privateca.v1beta1.Certificate.config:type_name -> google.cloud.security.privateca.v1beta1.CertificateConfig 4247 43, // 21: google.cloud.security.privateca.v1beta1.Certificate.lifetime:type_name -> google.protobuf.Duration 4248 32, // 22: google.cloud.security.privateca.v1beta1.Certificate.revocation_details:type_name -> google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails 4249 16, // 23: google.cloud.security.privateca.v1beta1.Certificate.certificate_description:type_name -> google.cloud.security.privateca.v1beta1.CertificateDescription 4250 44, // 24: google.cloud.security.privateca.v1beta1.Certificate.create_time:type_name -> google.protobuf.Timestamp 4251 44, // 25: google.cloud.security.privateca.v1beta1.Certificate.update_time:type_name -> google.protobuf.Timestamp 4252 33, // 26: google.cloud.security.privateca.v1beta1.Certificate.labels:type_name -> google.cloud.security.privateca.v1beta1.Certificate.LabelsEntry 4253 11, // 27: google.cloud.security.privateca.v1beta1.ReusableConfig.values:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigValues 4254 44, // 28: google.cloud.security.privateca.v1beta1.ReusableConfig.create_time:type_name -> google.protobuf.Timestamp 4255 44, // 29: google.cloud.security.privateca.v1beta1.ReusableConfig.update_time:type_name -> google.protobuf.Timestamp 4256 34, // 30: google.cloud.security.privateca.v1beta1.ReusableConfig.labels:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfig.LabelsEntry 4257 19, // 31: google.cloud.security.privateca.v1beta1.ReusableConfigValues.key_usage:type_name -> google.cloud.security.privateca.v1beta1.KeyUsage 4258 35, // 32: google.cloud.security.privateca.v1beta1.ReusableConfigValues.ca_options:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions 4259 17, // 33: google.cloud.security.privateca.v1beta1.ReusableConfigValues.policy_ids:type_name -> google.cloud.security.privateca.v1beta1.ObjectId 4260 18, // 34: google.cloud.security.privateca.v1beta1.ReusableConfigValues.additional_extensions:type_name -> google.cloud.security.privateca.v1beta1.X509Extension 4261 11, // 35: google.cloud.security.privateca.v1beta1.ReusableConfigWrapper.reusable_config_values:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigValues 4262 36, // 36: google.cloud.security.privateca.v1beta1.SubordinateConfig.pem_issuer_chain:type_name -> google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain 4263 6, // 37: google.cloud.security.privateca.v1beta1.PublicKey.type:type_name -> google.cloud.security.privateca.v1beta1.PublicKey.KeyType 4264 37, // 38: google.cloud.security.privateca.v1beta1.CertificateConfig.subject_config:type_name -> google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig 4265 12, // 39: google.cloud.security.privateca.v1beta1.CertificateConfig.reusable_config:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigWrapper 4266 14, // 40: google.cloud.security.privateca.v1beta1.CertificateConfig.public_key:type_name -> google.cloud.security.privateca.v1beta1.PublicKey 4267 38, // 41: google.cloud.security.privateca.v1beta1.CertificateDescription.subject_description:type_name -> google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription 4268 11, // 42: google.cloud.security.privateca.v1beta1.CertificateDescription.config_values:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigValues 4269 14, // 43: google.cloud.security.privateca.v1beta1.CertificateDescription.public_key:type_name -> google.cloud.security.privateca.v1beta1.PublicKey 4270 39, // 44: google.cloud.security.privateca.v1beta1.CertificateDescription.subject_key_id:type_name -> google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId 4271 39, // 45: google.cloud.security.privateca.v1beta1.CertificateDescription.authority_key_id:type_name -> google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId 4272 40, // 46: google.cloud.security.privateca.v1beta1.CertificateDescription.cert_fingerprint:type_name -> google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint 4273 17, // 47: google.cloud.security.privateca.v1beta1.X509Extension.object_id:type_name -> google.cloud.security.privateca.v1beta1.ObjectId 4274 41, // 48: google.cloud.security.privateca.v1beta1.KeyUsage.base_key_usage:type_name -> google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions 4275 42, // 49: google.cloud.security.privateca.v1beta1.KeyUsage.extended_key_usage:type_name -> google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions 4276 17, // 50: google.cloud.security.privateca.v1beta1.KeyUsage.unknown_extended_key_usages:type_name -> google.cloud.security.privateca.v1beta1.ObjectId 4277 18, // 51: google.cloud.security.privateca.v1beta1.SubjectAltNames.custom_sans:type_name -> google.cloud.security.privateca.v1beta1.X509Extension 4278 27, // 52: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.allowed_config_list:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList 4279 12, // 53: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.overwrite_config_values:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigWrapper 4280 20, // 54: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.allowed_locations_and_organizations:type_name -> google.cloud.security.privateca.v1beta1.Subject 4281 28, // 55: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.allowed_sans:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames 4282 43, // 56: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.maximum_lifetime:type_name -> google.protobuf.Duration 4283 29, // 57: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.allowed_issuance_modes:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes 4284 4, // 58: google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec.algorithm:type_name -> google.cloud.security.privateca.v1beta1.CertificateAuthority.SignHashAlgorithm 4285 12, // 59: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList.allowed_config_values:type_name -> google.cloud.security.privateca.v1beta1.ReusableConfigWrapper 4286 0, // 60: google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate.revocation_reason:type_name -> google.cloud.security.privateca.v1beta1.RevocationReason 4287 0, // 61: google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails.revocation_state:type_name -> google.cloud.security.privateca.v1beta1.RevocationReason 4288 44, // 62: google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails.revocation_time:type_name -> google.protobuf.Timestamp 4289 45, // 63: google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions.is_ca:type_name -> google.protobuf.BoolValue 4290 46, // 64: google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions.max_issuer_path_length:type_name -> google.protobuf.Int32Value 4291 20, // 65: google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig.subject:type_name -> google.cloud.security.privateca.v1beta1.Subject 4292 21, // 66: google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig.subject_alt_name:type_name -> google.cloud.security.privateca.v1beta1.SubjectAltNames 4293 20, // 67: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.subject:type_name -> google.cloud.security.privateca.v1beta1.Subject 4294 21, // 68: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.subject_alt_name:type_name -> google.cloud.security.privateca.v1beta1.SubjectAltNames 4295 43, // 69: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.lifetime:type_name -> google.protobuf.Duration 4296 44, // 70: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.not_before_time:type_name -> google.protobuf.Timestamp 4297 44, // 71: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.not_after_time:type_name -> google.protobuf.Timestamp 4298 72, // [72:72] is the sub-list for method output_type 4299 72, // [72:72] is the sub-list for method input_type 4300 72, // [72:72] is the sub-list for extension type_name 4301 72, // [72:72] is the sub-list for extension extendee 4302 0, // [0:72] is the sub-list for field type_name 4303} 4304 4305func init() { file_google_cloud_security_privateca_v1beta1_resources_proto_init() } 4306func file_google_cloud_security_privateca_v1beta1_resources_proto_init() { 4307 if File_google_cloud_security_privateca_v1beta1_resources_proto != nil { 4308 return 4309 } 4310 if !protoimpl.UnsafeEnabled { 4311 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 4312 switch v := v.(*CertificateAuthority); i { 4313 case 0: 4314 return &v.state 4315 case 1: 4316 return &v.sizeCache 4317 case 2: 4318 return &v.unknownFields 4319 default: 4320 return nil 4321 } 4322 } 4323 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 4324 switch v := v.(*CertificateRevocationList); i { 4325 case 0: 4326 return &v.state 4327 case 1: 4328 return &v.sizeCache 4329 case 2: 4330 return &v.unknownFields 4331 default: 4332 return nil 4333 } 4334 } 4335 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 4336 switch v := v.(*Certificate); i { 4337 case 0: 4338 return &v.state 4339 case 1: 4340 return &v.sizeCache 4341 case 2: 4342 return &v.unknownFields 4343 default: 4344 return nil 4345 } 4346 } 4347 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 4348 switch v := v.(*ReusableConfig); i { 4349 case 0: 4350 return &v.state 4351 case 1: 4352 return &v.sizeCache 4353 case 2: 4354 return &v.unknownFields 4355 default: 4356 return nil 4357 } 4358 } 4359 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 4360 switch v := v.(*ReusableConfigValues); i { 4361 case 0: 4362 return &v.state 4363 case 1: 4364 return &v.sizeCache 4365 case 2: 4366 return &v.unknownFields 4367 default: 4368 return nil 4369 } 4370 } 4371 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 4372 switch v := v.(*ReusableConfigWrapper); i { 4373 case 0: 4374 return &v.state 4375 case 1: 4376 return &v.sizeCache 4377 case 2: 4378 return &v.unknownFields 4379 default: 4380 return nil 4381 } 4382 } 4383 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 4384 switch v := v.(*SubordinateConfig); i { 4385 case 0: 4386 return &v.state 4387 case 1: 4388 return &v.sizeCache 4389 case 2: 4390 return &v.unknownFields 4391 default: 4392 return nil 4393 } 4394 } 4395 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 4396 switch v := v.(*PublicKey); i { 4397 case 0: 4398 return &v.state 4399 case 1: 4400 return &v.sizeCache 4401 case 2: 4402 return &v.unknownFields 4403 default: 4404 return nil 4405 } 4406 } 4407 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 4408 switch v := v.(*CertificateConfig); i { 4409 case 0: 4410 return &v.state 4411 case 1: 4412 return &v.sizeCache 4413 case 2: 4414 return &v.unknownFields 4415 default: 4416 return nil 4417 } 4418 } 4419 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 4420 switch v := v.(*CertificateDescription); i { 4421 case 0: 4422 return &v.state 4423 case 1: 4424 return &v.sizeCache 4425 case 2: 4426 return &v.unknownFields 4427 default: 4428 return nil 4429 } 4430 } 4431 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 4432 switch v := v.(*ObjectId); i { 4433 case 0: 4434 return &v.state 4435 case 1: 4436 return &v.sizeCache 4437 case 2: 4438 return &v.unknownFields 4439 default: 4440 return nil 4441 } 4442 } 4443 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 4444 switch v := v.(*X509Extension); i { 4445 case 0: 4446 return &v.state 4447 case 1: 4448 return &v.sizeCache 4449 case 2: 4450 return &v.unknownFields 4451 default: 4452 return nil 4453 } 4454 } 4455 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 4456 switch v := v.(*KeyUsage); i { 4457 case 0: 4458 return &v.state 4459 case 1: 4460 return &v.sizeCache 4461 case 2: 4462 return &v.unknownFields 4463 default: 4464 return nil 4465 } 4466 } 4467 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 4468 switch v := v.(*Subject); i { 4469 case 0: 4470 return &v.state 4471 case 1: 4472 return &v.sizeCache 4473 case 2: 4474 return &v.unknownFields 4475 default: 4476 return nil 4477 } 4478 } 4479 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 4480 switch v := v.(*SubjectAltNames); i { 4481 case 0: 4482 return &v.state 4483 case 1: 4484 return &v.sizeCache 4485 case 2: 4486 return &v.unknownFields 4487 default: 4488 return nil 4489 } 4490 } 4491 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 4492 switch v := v.(*CertificateAuthority_IssuingOptions); i { 4493 case 0: 4494 return &v.state 4495 case 1: 4496 return &v.sizeCache 4497 case 2: 4498 return &v.unknownFields 4499 default: 4500 return nil 4501 } 4502 } 4503 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 4504 switch v := v.(*CertificateAuthority_CertificateAuthorityPolicy); i { 4505 case 0: 4506 return &v.state 4507 case 1: 4508 return &v.sizeCache 4509 case 2: 4510 return &v.unknownFields 4511 default: 4512 return nil 4513 } 4514 } 4515 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 4516 switch v := v.(*CertificateAuthority_AccessUrls); i { 4517 case 0: 4518 return &v.state 4519 case 1: 4520 return &v.sizeCache 4521 case 2: 4522 return &v.unknownFields 4523 default: 4524 return nil 4525 } 4526 } 4527 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 4528 switch v := v.(*CertificateAuthority_KeyVersionSpec); i { 4529 case 0: 4530 return &v.state 4531 case 1: 4532 return &v.sizeCache 4533 case 2: 4534 return &v.unknownFields 4535 default: 4536 return nil 4537 } 4538 } 4539 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 4540 switch v := v.(*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList); i { 4541 case 0: 4542 return &v.state 4543 case 1: 4544 return &v.sizeCache 4545 case 2: 4546 return &v.unknownFields 4547 default: 4548 return nil 4549 } 4550 } 4551 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 4552 switch v := v.(*CertificateAuthority_CertificateAuthorityPolicy_AllowedSubjectAltNames); i { 4553 case 0: 4554 return &v.state 4555 case 1: 4556 return &v.sizeCache 4557 case 2: 4558 return &v.unknownFields 4559 default: 4560 return nil 4561 } 4562 } 4563 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 4564 switch v := v.(*CertificateAuthority_CertificateAuthorityPolicy_IssuanceModes); i { 4565 case 0: 4566 return &v.state 4567 case 1: 4568 return &v.sizeCache 4569 case 2: 4570 return &v.unknownFields 4571 default: 4572 return nil 4573 } 4574 } 4575 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 4576 switch v := v.(*CertificateRevocationList_RevokedCertificate); i { 4577 case 0: 4578 return &v.state 4579 case 1: 4580 return &v.sizeCache 4581 case 2: 4582 return &v.unknownFields 4583 default: 4584 return nil 4585 } 4586 } 4587 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 4588 switch v := v.(*Certificate_RevocationDetails); i { 4589 case 0: 4590 return &v.state 4591 case 1: 4592 return &v.sizeCache 4593 case 2: 4594 return &v.unknownFields 4595 default: 4596 return nil 4597 } 4598 } 4599 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 4600 switch v := v.(*ReusableConfigValues_CaOptions); i { 4601 case 0: 4602 return &v.state 4603 case 1: 4604 return &v.sizeCache 4605 case 2: 4606 return &v.unknownFields 4607 default: 4608 return nil 4609 } 4610 } 4611 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 4612 switch v := v.(*SubordinateConfig_SubordinateConfigChain); i { 4613 case 0: 4614 return &v.state 4615 case 1: 4616 return &v.sizeCache 4617 case 2: 4618 return &v.unknownFields 4619 default: 4620 return nil 4621 } 4622 } 4623 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 4624 switch v := v.(*CertificateConfig_SubjectConfig); i { 4625 case 0: 4626 return &v.state 4627 case 1: 4628 return &v.sizeCache 4629 case 2: 4630 return &v.unknownFields 4631 default: 4632 return nil 4633 } 4634 } 4635 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 4636 switch v := v.(*CertificateDescription_SubjectDescription); i { 4637 case 0: 4638 return &v.state 4639 case 1: 4640 return &v.sizeCache 4641 case 2: 4642 return &v.unknownFields 4643 default: 4644 return nil 4645 } 4646 } 4647 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 4648 switch v := v.(*CertificateDescription_KeyId); i { 4649 case 0: 4650 return &v.state 4651 case 1: 4652 return &v.sizeCache 4653 case 2: 4654 return &v.unknownFields 4655 default: 4656 return nil 4657 } 4658 } 4659 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 4660 switch v := v.(*CertificateDescription_CertificateFingerprint); i { 4661 case 0: 4662 return &v.state 4663 case 1: 4664 return &v.sizeCache 4665 case 2: 4666 return &v.unknownFields 4667 default: 4668 return nil 4669 } 4670 } 4671 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 4672 switch v := v.(*KeyUsage_KeyUsageOptions); i { 4673 case 0: 4674 return &v.state 4675 case 1: 4676 return &v.sizeCache 4677 case 2: 4678 return &v.unknownFields 4679 default: 4680 return nil 4681 } 4682 } 4683 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 4684 switch v := v.(*KeyUsage_ExtendedKeyUsageOptions); i { 4685 case 0: 4686 return &v.state 4687 case 1: 4688 return &v.sizeCache 4689 case 2: 4690 return &v.unknownFields 4691 default: 4692 return nil 4693 } 4694 } 4695 } 4696 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[2].OneofWrappers = []interface{}{ 4697 (*Certificate_PemCsr)(nil), 4698 (*Certificate_Config)(nil), 4699 } 4700 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[5].OneofWrappers = []interface{}{ 4701 (*ReusableConfigWrapper_ReusableConfig)(nil), 4702 (*ReusableConfigWrapper_ReusableConfigValues)(nil), 4703 } 4704 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[6].OneofWrappers = []interface{}{ 4705 (*SubordinateConfig_CertificateAuthority)(nil), 4706 (*SubordinateConfig_PemIssuerChain)(nil), 4707 } 4708 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[16].OneofWrappers = []interface{}{ 4709 (*CertificateAuthority_CertificateAuthorityPolicy_AllowedConfigList_)(nil), 4710 (*CertificateAuthority_CertificateAuthorityPolicy_OverwriteConfigValues)(nil), 4711 } 4712 file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes[18].OneofWrappers = []interface{}{ 4713 (*CertificateAuthority_KeyVersionSpec_CloudKmsKeyVersion)(nil), 4714 (*CertificateAuthority_KeyVersionSpec_Algorithm)(nil), 4715 } 4716 type x struct{} 4717 out := protoimpl.TypeBuilder{ 4718 File: protoimpl.DescBuilder{ 4719 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4720 RawDescriptor: file_google_cloud_security_privateca_v1beta1_resources_proto_rawDesc, 4721 NumEnums: 7, 4722 NumMessages: 36, 4723 NumExtensions: 0, 4724 NumServices: 0, 4725 }, 4726 GoTypes: file_google_cloud_security_privateca_v1beta1_resources_proto_goTypes, 4727 DependencyIndexes: file_google_cloud_security_privateca_v1beta1_resources_proto_depIdxs, 4728 EnumInfos: file_google_cloud_security_privateca_v1beta1_resources_proto_enumTypes, 4729 MessageInfos: file_google_cloud_security_privateca_v1beta1_resources_proto_msgTypes, 4730 }.Build() 4731 File_google_cloud_security_privateca_v1beta1_resources_proto = out.File 4732 file_google_cloud_security_privateca_v1beta1_resources_proto_rawDesc = nil 4733 file_google_cloud_security_privateca_v1beta1_resources_proto_goTypes = nil 4734 file_google_cloud_security_privateca_v1beta1_resources_proto_depIdxs = nil 4735} 4736