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/api/expr/v1alpha1/conformance_service.proto 20 21package confpb 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 v1alpha1 "google.golang.org/genproto/googleapis/api/expr/v1alpha1" 29 status "google.golang.org/genproto/googleapis/rpc/status" 30 grpc "google.golang.org/grpc" 31 codes "google.golang.org/grpc/codes" 32 status1 "google.golang.org/grpc/status" 33 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 34 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 35) 36 37const ( 38 // Verify that this generated code is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 40 // Verify that runtime/protoimpl is sufficiently up-to-date. 41 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 42) 43 44// Severities of issues. 45type IssueDetails_Severity int32 46 47const ( 48 // An unspecified severity. 49 IssueDetails_SEVERITY_UNSPECIFIED IssueDetails_Severity = 0 50 // Deprecation issue for statements and method that may no longer be 51 // supported or maintained. 52 IssueDetails_DEPRECATION IssueDetails_Severity = 1 53 // Warnings such as: unused variables. 54 IssueDetails_WARNING IssueDetails_Severity = 2 55 // Errors such as: unmatched curly braces or variable redefinition. 56 IssueDetails_ERROR IssueDetails_Severity = 3 57) 58 59// Enum value maps for IssueDetails_Severity. 60var ( 61 IssueDetails_Severity_name = map[int32]string{ 62 0: "SEVERITY_UNSPECIFIED", 63 1: "DEPRECATION", 64 2: "WARNING", 65 3: "ERROR", 66 } 67 IssueDetails_Severity_value = map[string]int32{ 68 "SEVERITY_UNSPECIFIED": 0, 69 "DEPRECATION": 1, 70 "WARNING": 2, 71 "ERROR": 3, 72 } 73) 74 75func (x IssueDetails_Severity) Enum() *IssueDetails_Severity { 76 p := new(IssueDetails_Severity) 77 *p = x 78 return p 79} 80 81func (x IssueDetails_Severity) String() string { 82 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 83} 84 85func (IssueDetails_Severity) Descriptor() protoreflect.EnumDescriptor { 86 return file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes[0].Descriptor() 87} 88 89func (IssueDetails_Severity) Type() protoreflect.EnumType { 90 return &file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes[0] 91} 92 93func (x IssueDetails_Severity) Number() protoreflect.EnumNumber { 94 return protoreflect.EnumNumber(x) 95} 96 97// Deprecated: Use IssueDetails_Severity.Descriptor instead. 98func (IssueDetails_Severity) EnumDescriptor() ([]byte, []int) { 99 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{6, 0} 100} 101 102// Request message for the Parse method. 103type ParseRequest struct { 104 state protoimpl.MessageState 105 sizeCache protoimpl.SizeCache 106 unknownFields protoimpl.UnknownFields 107 108 // Required. Source text in CEL syntax. 109 CelSource string `protobuf:"bytes,1,opt,name=cel_source,json=celSource,proto3" json:"cel_source,omitempty"` 110 // Tag for version of CEL syntax, for future use. 111 SyntaxVersion string `protobuf:"bytes,2,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"` 112 // File or resource for source text, used in [SourceInfo][google.api.expr.v1alpha1.SourceInfo]. 113 SourceLocation string `protobuf:"bytes,3,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"` 114 // Prevent macro expansion. See "Macros" in Language Defiinition. 115 DisableMacros bool `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"` 116} 117 118func (x *ParseRequest) Reset() { 119 *x = ParseRequest{} 120 if protoimpl.UnsafeEnabled { 121 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[0] 122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 123 ms.StoreMessageInfo(mi) 124 } 125} 126 127func (x *ParseRequest) String() string { 128 return protoimpl.X.MessageStringOf(x) 129} 130 131func (*ParseRequest) ProtoMessage() {} 132 133func (x *ParseRequest) ProtoReflect() protoreflect.Message { 134 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[0] 135 if protoimpl.UnsafeEnabled && x != nil { 136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 137 if ms.LoadMessageInfo() == nil { 138 ms.StoreMessageInfo(mi) 139 } 140 return ms 141 } 142 return mi.MessageOf(x) 143} 144 145// Deprecated: Use ParseRequest.ProtoReflect.Descriptor instead. 146func (*ParseRequest) Descriptor() ([]byte, []int) { 147 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{0} 148} 149 150func (x *ParseRequest) GetCelSource() string { 151 if x != nil { 152 return x.CelSource 153 } 154 return "" 155} 156 157func (x *ParseRequest) GetSyntaxVersion() string { 158 if x != nil { 159 return x.SyntaxVersion 160 } 161 return "" 162} 163 164func (x *ParseRequest) GetSourceLocation() string { 165 if x != nil { 166 return x.SourceLocation 167 } 168 return "" 169} 170 171func (x *ParseRequest) GetDisableMacros() bool { 172 if x != nil { 173 return x.DisableMacros 174 } 175 return false 176} 177 178// Response message for the Parse method. 179type ParseResponse struct { 180 state protoimpl.MessageState 181 sizeCache protoimpl.SizeCache 182 unknownFields protoimpl.UnknownFields 183 184 // The parsed representation, or unset if parsing failed. 185 ParsedExpr *v1alpha1.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"` 186 // Any number of issues with [StatusDetails][] as the details. 187 Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"` 188} 189 190func (x *ParseResponse) Reset() { 191 *x = ParseResponse{} 192 if protoimpl.UnsafeEnabled { 193 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[1] 194 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 195 ms.StoreMessageInfo(mi) 196 } 197} 198 199func (x *ParseResponse) String() string { 200 return protoimpl.X.MessageStringOf(x) 201} 202 203func (*ParseResponse) ProtoMessage() {} 204 205func (x *ParseResponse) ProtoReflect() protoreflect.Message { 206 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[1] 207 if protoimpl.UnsafeEnabled && x != nil { 208 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 209 if ms.LoadMessageInfo() == nil { 210 ms.StoreMessageInfo(mi) 211 } 212 return ms 213 } 214 return mi.MessageOf(x) 215} 216 217// Deprecated: Use ParseResponse.ProtoReflect.Descriptor instead. 218func (*ParseResponse) Descriptor() ([]byte, []int) { 219 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{1} 220} 221 222func (x *ParseResponse) GetParsedExpr() *v1alpha1.ParsedExpr { 223 if x != nil { 224 return x.ParsedExpr 225 } 226 return nil 227} 228 229func (x *ParseResponse) GetIssues() []*status.Status { 230 if x != nil { 231 return x.Issues 232 } 233 return nil 234} 235 236// Request message for the Check method. 237type CheckRequest struct { 238 state protoimpl.MessageState 239 sizeCache protoimpl.SizeCache 240 unknownFields protoimpl.UnknownFields 241 242 // Required. The parsed representation of the CEL program. 243 ParsedExpr *v1alpha1.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"` 244 // Declarations of types for external variables and functions. 245 // Required if program uses external variables or functions 246 // not in the default environment. 247 TypeEnv []*v1alpha1.Decl `protobuf:"bytes,2,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"` 248 // The protocol buffer context. See "Name Resolution" in the 249 // Language Definition. 250 Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"` 251 // If true, use only the declarations in [type_env][google.api.expr.v1alpha1.CheckRequest.type_env]. If false (default), 252 // add declarations for the standard definitions to the type environment. See 253 // "Standard Definitions" in the Language Definition. 254 NoStdEnv bool `protobuf:"varint,4,opt,name=no_std_env,json=noStdEnv,proto3" json:"no_std_env,omitempty"` 255} 256 257func (x *CheckRequest) Reset() { 258 *x = CheckRequest{} 259 if protoimpl.UnsafeEnabled { 260 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[2] 261 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 262 ms.StoreMessageInfo(mi) 263 } 264} 265 266func (x *CheckRequest) String() string { 267 return protoimpl.X.MessageStringOf(x) 268} 269 270func (*CheckRequest) ProtoMessage() {} 271 272func (x *CheckRequest) ProtoReflect() protoreflect.Message { 273 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[2] 274 if protoimpl.UnsafeEnabled && x != nil { 275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 276 if ms.LoadMessageInfo() == nil { 277 ms.StoreMessageInfo(mi) 278 } 279 return ms 280 } 281 return mi.MessageOf(x) 282} 283 284// Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead. 285func (*CheckRequest) Descriptor() ([]byte, []int) { 286 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{2} 287} 288 289func (x *CheckRequest) GetParsedExpr() *v1alpha1.ParsedExpr { 290 if x != nil { 291 return x.ParsedExpr 292 } 293 return nil 294} 295 296func (x *CheckRequest) GetTypeEnv() []*v1alpha1.Decl { 297 if x != nil { 298 return x.TypeEnv 299 } 300 return nil 301} 302 303func (x *CheckRequest) GetContainer() string { 304 if x != nil { 305 return x.Container 306 } 307 return "" 308} 309 310func (x *CheckRequest) GetNoStdEnv() bool { 311 if x != nil { 312 return x.NoStdEnv 313 } 314 return false 315} 316 317// Response message for the Check method. 318type CheckResponse struct { 319 state protoimpl.MessageState 320 sizeCache protoimpl.SizeCache 321 unknownFields protoimpl.UnknownFields 322 323 // The annotated representation, or unset if checking failed. 324 CheckedExpr *v1alpha1.CheckedExpr `protobuf:"bytes,1,opt,name=checked_expr,json=checkedExpr,proto3" json:"checked_expr,omitempty"` 325 // Any number of issues with [StatusDetails][] as the details. 326 Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"` 327} 328 329func (x *CheckResponse) Reset() { 330 *x = CheckResponse{} 331 if protoimpl.UnsafeEnabled { 332 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[3] 333 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 334 ms.StoreMessageInfo(mi) 335 } 336} 337 338func (x *CheckResponse) String() string { 339 return protoimpl.X.MessageStringOf(x) 340} 341 342func (*CheckResponse) ProtoMessage() {} 343 344func (x *CheckResponse) ProtoReflect() protoreflect.Message { 345 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[3] 346 if protoimpl.UnsafeEnabled && x != nil { 347 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 348 if ms.LoadMessageInfo() == nil { 349 ms.StoreMessageInfo(mi) 350 } 351 return ms 352 } 353 return mi.MessageOf(x) 354} 355 356// Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead. 357func (*CheckResponse) Descriptor() ([]byte, []int) { 358 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{3} 359} 360 361func (x *CheckResponse) GetCheckedExpr() *v1alpha1.CheckedExpr { 362 if x != nil { 363 return x.CheckedExpr 364 } 365 return nil 366} 367 368func (x *CheckResponse) GetIssues() []*status.Status { 369 if x != nil { 370 return x.Issues 371 } 372 return nil 373} 374 375// Request message for the Eval method. 376type EvalRequest struct { 377 state protoimpl.MessageState 378 sizeCache protoimpl.SizeCache 379 unknownFields protoimpl.UnknownFields 380 381 // Required. Either the parsed or annotated representation of the CEL program. 382 // 383 // Types that are assignable to ExprKind: 384 // *EvalRequest_ParsedExpr 385 // *EvalRequest_CheckedExpr 386 ExprKind isEvalRequest_ExprKind `protobuf_oneof:"expr_kind"` 387 // Bindings for the external variables. The types SHOULD be compatible 388 // with the type environment in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked. 389 Bindings map[string]*v1alpha1.ExprValue `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 390 // SHOULD be the same container as used in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked. 391 Container string `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"` 392} 393 394func (x *EvalRequest) Reset() { 395 *x = EvalRequest{} 396 if protoimpl.UnsafeEnabled { 397 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4] 398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 399 ms.StoreMessageInfo(mi) 400 } 401} 402 403func (x *EvalRequest) String() string { 404 return protoimpl.X.MessageStringOf(x) 405} 406 407func (*EvalRequest) ProtoMessage() {} 408 409func (x *EvalRequest) ProtoReflect() protoreflect.Message { 410 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4] 411 if protoimpl.UnsafeEnabled && x != nil { 412 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 413 if ms.LoadMessageInfo() == nil { 414 ms.StoreMessageInfo(mi) 415 } 416 return ms 417 } 418 return mi.MessageOf(x) 419} 420 421// Deprecated: Use EvalRequest.ProtoReflect.Descriptor instead. 422func (*EvalRequest) Descriptor() ([]byte, []int) { 423 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{4} 424} 425 426func (m *EvalRequest) GetExprKind() isEvalRequest_ExprKind { 427 if m != nil { 428 return m.ExprKind 429 } 430 return nil 431} 432 433func (x *EvalRequest) GetParsedExpr() *v1alpha1.ParsedExpr { 434 if x, ok := x.GetExprKind().(*EvalRequest_ParsedExpr); ok { 435 return x.ParsedExpr 436 } 437 return nil 438} 439 440func (x *EvalRequest) GetCheckedExpr() *v1alpha1.CheckedExpr { 441 if x, ok := x.GetExprKind().(*EvalRequest_CheckedExpr); ok { 442 return x.CheckedExpr 443 } 444 return nil 445} 446 447func (x *EvalRequest) GetBindings() map[string]*v1alpha1.ExprValue { 448 if x != nil { 449 return x.Bindings 450 } 451 return nil 452} 453 454func (x *EvalRequest) GetContainer() string { 455 if x != nil { 456 return x.Container 457 } 458 return "" 459} 460 461type isEvalRequest_ExprKind interface { 462 isEvalRequest_ExprKind() 463} 464 465type EvalRequest_ParsedExpr struct { 466 // Evaluate based on the parsed representation. 467 ParsedExpr *v1alpha1.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3,oneof"` 468} 469 470type EvalRequest_CheckedExpr struct { 471 // Evaluate based on the checked representation. 472 CheckedExpr *v1alpha1.CheckedExpr `protobuf:"bytes,2,opt,name=checked_expr,json=checkedExpr,proto3,oneof"` 473} 474 475func (*EvalRequest_ParsedExpr) isEvalRequest_ExprKind() {} 476 477func (*EvalRequest_CheckedExpr) isEvalRequest_ExprKind() {} 478 479// Response message for the Eval method. 480type EvalResponse struct { 481 state protoimpl.MessageState 482 sizeCache protoimpl.SizeCache 483 unknownFields protoimpl.UnknownFields 484 485 // The execution result, or unset if execution couldn't start. 486 Result *v1alpha1.ExprValue `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` 487 // Any number of issues with [StatusDetails][] as the details. 488 // Note that CEL execution errors are reified into [ExprValue][google.api.expr.v1alpha1.ExprValue]. 489 // Nevertheless, we'll allow out-of-band issues to be raised, 490 // which also makes the replies more regular. 491 Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"` 492} 493 494func (x *EvalResponse) Reset() { 495 *x = EvalResponse{} 496 if protoimpl.UnsafeEnabled { 497 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[5] 498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 499 ms.StoreMessageInfo(mi) 500 } 501} 502 503func (x *EvalResponse) String() string { 504 return protoimpl.X.MessageStringOf(x) 505} 506 507func (*EvalResponse) ProtoMessage() {} 508 509func (x *EvalResponse) ProtoReflect() protoreflect.Message { 510 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[5] 511 if protoimpl.UnsafeEnabled && x != nil { 512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 513 if ms.LoadMessageInfo() == nil { 514 ms.StoreMessageInfo(mi) 515 } 516 return ms 517 } 518 return mi.MessageOf(x) 519} 520 521// Deprecated: Use EvalResponse.ProtoReflect.Descriptor instead. 522func (*EvalResponse) Descriptor() ([]byte, []int) { 523 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{5} 524} 525 526func (x *EvalResponse) GetResult() *v1alpha1.ExprValue { 527 if x != nil { 528 return x.Result 529 } 530 return nil 531} 532 533func (x *EvalResponse) GetIssues() []*status.Status { 534 if x != nil { 535 return x.Issues 536 } 537 return nil 538} 539 540// Warnings or errors in service execution are represented by 541// [google.rpc.Status][google.rpc.Status] messages, with the following message 542// in the details field. 543type IssueDetails struct { 544 state protoimpl.MessageState 545 sizeCache protoimpl.SizeCache 546 unknownFields protoimpl.UnknownFields 547 548 // The severity of the issue. 549 Severity IssueDetails_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.api.expr.v1alpha1.IssueDetails_Severity" json:"severity,omitempty"` 550 // Position in the source, if known. 551 Position *v1alpha1.SourcePosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` 552 // Expression ID from [Expr][google.api.expr.v1alpha1.Expr], 0 if unknown. 553 Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` 554} 555 556func (x *IssueDetails) Reset() { 557 *x = IssueDetails{} 558 if protoimpl.UnsafeEnabled { 559 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[6] 560 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 561 ms.StoreMessageInfo(mi) 562 } 563} 564 565func (x *IssueDetails) String() string { 566 return protoimpl.X.MessageStringOf(x) 567} 568 569func (*IssueDetails) ProtoMessage() {} 570 571func (x *IssueDetails) ProtoReflect() protoreflect.Message { 572 mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[6] 573 if protoimpl.UnsafeEnabled && x != nil { 574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 575 if ms.LoadMessageInfo() == nil { 576 ms.StoreMessageInfo(mi) 577 } 578 return ms 579 } 580 return mi.MessageOf(x) 581} 582 583// Deprecated: Use IssueDetails.ProtoReflect.Descriptor instead. 584func (*IssueDetails) Descriptor() ([]byte, []int) { 585 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{6} 586} 587 588func (x *IssueDetails) GetSeverity() IssueDetails_Severity { 589 if x != nil { 590 return x.Severity 591 } 592 return IssueDetails_SEVERITY_UNSPECIFIED 593} 594 595func (x *IssueDetails) GetPosition() *v1alpha1.SourcePosition { 596 if x != nil { 597 return x.Position 598 } 599 return nil 600} 601 602func (x *IssueDetails) GetId() int64 { 603 if x != nil { 604 return x.Id 605 } 606 return 0 607} 608 609var File_google_api_expr_v1alpha1_conformance_service_proto protoreflect.FileDescriptor 610 611var file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc = []byte{ 612 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 613 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 614 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 615 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 616 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x26, 617 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 618 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 619 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 620 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 621 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 622 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 623 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 624 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 625 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 626 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 627 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 628 0x52, 0x09, 0x63, 0x65, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 629 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 630 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 631 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 632 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 633 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x64, 634 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 635 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x72, 636 0x6f, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 637 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65, 638 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 639 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 640 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x52, 641 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x69, 642 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 643 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 644 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 645 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 646 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 647 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 648 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 649 0x78, 0x70, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 650 0x39, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 651 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 652 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 653 0x6c, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x76, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 654 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 655 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x73, 656 0x74, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 657 0x53, 0x74, 0x64, 0x45, 0x6e, 0x76, 0x22, 0x85, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 658 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 659 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 660 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 661 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 662 0x64, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 663 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 664 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 665 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0x80, 666 0x03, 0x0a, 0x0b, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 667 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 668 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 669 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 670 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 671 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 672 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 673 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 674 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 675 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 676 0x78, 0x70, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 677 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 678 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 679 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x6e, 680 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 681 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 682 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 683 0x65, 0x72, 0x1a, 0x60, 0x0a, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 684 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 685 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 686 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 687 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 688 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 689 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 690 0x64, 0x22, 0x77, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 691 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 692 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 693 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 694 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 695 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 696 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 697 0x75, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0c, 0x49, 698 0x73, 0x73, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4b, 0x0a, 0x08, 0x73, 699 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 700 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 701 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44, 0x65, 702 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 703 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 704 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 705 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 706 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 707 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 708 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4d, 709 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 710 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 711 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 712 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 713 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x32, 0xa5, 0x02, 714 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 715 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x26, 0x2e, 716 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 717 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 718 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 719 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 720 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 721 0x12, 0x5a, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 722 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 723 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 724 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 725 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 726 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x04, 727 0x45, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 728 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 729 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 730 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 731 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 732 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x88, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 733 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 734 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 735 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 736 0x01, 0x5a, 0x4a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 737 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 738 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 739 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31, 740 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x70, 0x62, 0xf8, 0x01, 0x01, 741 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 742} 743 744var ( 745 file_google_api_expr_v1alpha1_conformance_service_proto_rawDescOnce sync.Once 746 file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData = file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc 747) 748 749func file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP() []byte { 750 file_google_api_expr_v1alpha1_conformance_service_proto_rawDescOnce.Do(func() { 751 file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData) 752 }) 753 return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData 754} 755 756var file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 757var file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8) 758var file_google_api_expr_v1alpha1_conformance_service_proto_goTypes = []interface{}{ 759 (IssueDetails_Severity)(0), // 0: google.api.expr.v1alpha1.IssueDetails.Severity 760 (*ParseRequest)(nil), // 1: google.api.expr.v1alpha1.ParseRequest 761 (*ParseResponse)(nil), // 2: google.api.expr.v1alpha1.ParseResponse 762 (*CheckRequest)(nil), // 3: google.api.expr.v1alpha1.CheckRequest 763 (*CheckResponse)(nil), // 4: google.api.expr.v1alpha1.CheckResponse 764 (*EvalRequest)(nil), // 5: google.api.expr.v1alpha1.EvalRequest 765 (*EvalResponse)(nil), // 6: google.api.expr.v1alpha1.EvalResponse 766 (*IssueDetails)(nil), // 7: google.api.expr.v1alpha1.IssueDetails 767 nil, // 8: google.api.expr.v1alpha1.EvalRequest.BindingsEntry 768 (*v1alpha1.ParsedExpr)(nil), // 9: google.api.expr.v1alpha1.ParsedExpr 769 (*status.Status)(nil), // 10: google.rpc.Status 770 (*v1alpha1.Decl)(nil), // 11: google.api.expr.v1alpha1.Decl 771 (*v1alpha1.CheckedExpr)(nil), // 12: google.api.expr.v1alpha1.CheckedExpr 772 (*v1alpha1.ExprValue)(nil), // 13: google.api.expr.v1alpha1.ExprValue 773 (*v1alpha1.SourcePosition)(nil), // 14: google.api.expr.v1alpha1.SourcePosition 774} 775var file_google_api_expr_v1alpha1_conformance_service_proto_depIdxs = []int32{ 776 9, // 0: google.api.expr.v1alpha1.ParseResponse.parsed_expr:type_name -> google.api.expr.v1alpha1.ParsedExpr 777 10, // 1: google.api.expr.v1alpha1.ParseResponse.issues:type_name -> google.rpc.Status 778 9, // 2: google.api.expr.v1alpha1.CheckRequest.parsed_expr:type_name -> google.api.expr.v1alpha1.ParsedExpr 779 11, // 3: google.api.expr.v1alpha1.CheckRequest.type_env:type_name -> google.api.expr.v1alpha1.Decl 780 12, // 4: google.api.expr.v1alpha1.CheckResponse.checked_expr:type_name -> google.api.expr.v1alpha1.CheckedExpr 781 10, // 5: google.api.expr.v1alpha1.CheckResponse.issues:type_name -> google.rpc.Status 782 9, // 6: google.api.expr.v1alpha1.EvalRequest.parsed_expr:type_name -> google.api.expr.v1alpha1.ParsedExpr 783 12, // 7: google.api.expr.v1alpha1.EvalRequest.checked_expr:type_name -> google.api.expr.v1alpha1.CheckedExpr 784 8, // 8: google.api.expr.v1alpha1.EvalRequest.bindings:type_name -> google.api.expr.v1alpha1.EvalRequest.BindingsEntry 785 13, // 9: google.api.expr.v1alpha1.EvalResponse.result:type_name -> google.api.expr.v1alpha1.ExprValue 786 10, // 10: google.api.expr.v1alpha1.EvalResponse.issues:type_name -> google.rpc.Status 787 0, // 11: google.api.expr.v1alpha1.IssueDetails.severity:type_name -> google.api.expr.v1alpha1.IssueDetails.Severity 788 14, // 12: google.api.expr.v1alpha1.IssueDetails.position:type_name -> google.api.expr.v1alpha1.SourcePosition 789 13, // 13: google.api.expr.v1alpha1.EvalRequest.BindingsEntry.value:type_name -> google.api.expr.v1alpha1.ExprValue 790 1, // 14: google.api.expr.v1alpha1.ConformanceService.Parse:input_type -> google.api.expr.v1alpha1.ParseRequest 791 3, // 15: google.api.expr.v1alpha1.ConformanceService.Check:input_type -> google.api.expr.v1alpha1.CheckRequest 792 5, // 16: google.api.expr.v1alpha1.ConformanceService.Eval:input_type -> google.api.expr.v1alpha1.EvalRequest 793 2, // 17: google.api.expr.v1alpha1.ConformanceService.Parse:output_type -> google.api.expr.v1alpha1.ParseResponse 794 4, // 18: google.api.expr.v1alpha1.ConformanceService.Check:output_type -> google.api.expr.v1alpha1.CheckResponse 795 6, // 19: google.api.expr.v1alpha1.ConformanceService.Eval:output_type -> google.api.expr.v1alpha1.EvalResponse 796 17, // [17:20] is the sub-list for method output_type 797 14, // [14:17] is the sub-list for method input_type 798 14, // [14:14] is the sub-list for extension type_name 799 14, // [14:14] is the sub-list for extension extendee 800 0, // [0:14] is the sub-list for field type_name 801} 802 803func init() { file_google_api_expr_v1alpha1_conformance_service_proto_init() } 804func file_google_api_expr_v1alpha1_conformance_service_proto_init() { 805 if File_google_api_expr_v1alpha1_conformance_service_proto != nil { 806 return 807 } 808 if !protoimpl.UnsafeEnabled { 809 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 810 switch v := v.(*ParseRequest); i { 811 case 0: 812 return &v.state 813 case 1: 814 return &v.sizeCache 815 case 2: 816 return &v.unknownFields 817 default: 818 return nil 819 } 820 } 821 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 822 switch v := v.(*ParseResponse); i { 823 case 0: 824 return &v.state 825 case 1: 826 return &v.sizeCache 827 case 2: 828 return &v.unknownFields 829 default: 830 return nil 831 } 832 } 833 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 834 switch v := v.(*CheckRequest); i { 835 case 0: 836 return &v.state 837 case 1: 838 return &v.sizeCache 839 case 2: 840 return &v.unknownFields 841 default: 842 return nil 843 } 844 } 845 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 846 switch v := v.(*CheckResponse); i { 847 case 0: 848 return &v.state 849 case 1: 850 return &v.sizeCache 851 case 2: 852 return &v.unknownFields 853 default: 854 return nil 855 } 856 } 857 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 858 switch v := v.(*EvalRequest); i { 859 case 0: 860 return &v.state 861 case 1: 862 return &v.sizeCache 863 case 2: 864 return &v.unknownFields 865 default: 866 return nil 867 } 868 } 869 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 870 switch v := v.(*EvalResponse); i { 871 case 0: 872 return &v.state 873 case 1: 874 return &v.sizeCache 875 case 2: 876 return &v.unknownFields 877 default: 878 return nil 879 } 880 } 881 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 882 switch v := v.(*IssueDetails); i { 883 case 0: 884 return &v.state 885 case 1: 886 return &v.sizeCache 887 case 2: 888 return &v.unknownFields 889 default: 890 return nil 891 } 892 } 893 } 894 file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4].OneofWrappers = []interface{}{ 895 (*EvalRequest_ParsedExpr)(nil), 896 (*EvalRequest_CheckedExpr)(nil), 897 } 898 type x struct{} 899 out := protoimpl.TypeBuilder{ 900 File: protoimpl.DescBuilder{ 901 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 902 RawDescriptor: file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc, 903 NumEnums: 1, 904 NumMessages: 8, 905 NumExtensions: 0, 906 NumServices: 1, 907 }, 908 GoTypes: file_google_api_expr_v1alpha1_conformance_service_proto_goTypes, 909 DependencyIndexes: file_google_api_expr_v1alpha1_conformance_service_proto_depIdxs, 910 EnumInfos: file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes, 911 MessageInfos: file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes, 912 }.Build() 913 File_google_api_expr_v1alpha1_conformance_service_proto = out.File 914 file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc = nil 915 file_google_api_expr_v1alpha1_conformance_service_proto_goTypes = nil 916 file_google_api_expr_v1alpha1_conformance_service_proto_depIdxs = nil 917} 918 919// Reference imports to suppress errors if they are not otherwise used. 920var _ context.Context 921var _ grpc.ClientConnInterface 922 923// This is a compile-time assertion to ensure that this generated file 924// is compatible with the grpc package it is being compiled against. 925const _ = grpc.SupportPackageIsVersion6 926 927// ConformanceServiceClient is the client API for ConformanceService service. 928// 929// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 930type ConformanceServiceClient interface { 931 // Transforms CEL source text into a parsed representation. 932 Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error) 933 // Runs static checks on a parsed CEL representation and return 934 // an annotated representation, or a set of issues. 935 Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) 936 // Evaluates a parsed or annotation CEL representation given 937 // values of external bindings. 938 Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error) 939} 940 941type conformanceServiceClient struct { 942 cc grpc.ClientConnInterface 943} 944 945func NewConformanceServiceClient(cc grpc.ClientConnInterface) ConformanceServiceClient { 946 return &conformanceServiceClient{cc} 947} 948 949func (c *conformanceServiceClient) Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error) { 950 out := new(ParseResponse) 951 err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Parse", in, out, opts...) 952 if err != nil { 953 return nil, err 954 } 955 return out, nil 956} 957 958func (c *conformanceServiceClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) { 959 out := new(CheckResponse) 960 err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Check", in, out, opts...) 961 if err != nil { 962 return nil, err 963 } 964 return out, nil 965} 966 967func (c *conformanceServiceClient) Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error) { 968 out := new(EvalResponse) 969 err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Eval", in, out, opts...) 970 if err != nil { 971 return nil, err 972 } 973 return out, nil 974} 975 976// ConformanceServiceServer is the server API for ConformanceService service. 977type ConformanceServiceServer interface { 978 // Transforms CEL source text into a parsed representation. 979 Parse(context.Context, *ParseRequest) (*ParseResponse, error) 980 // Runs static checks on a parsed CEL representation and return 981 // an annotated representation, or a set of issues. 982 Check(context.Context, *CheckRequest) (*CheckResponse, error) 983 // Evaluates a parsed or annotation CEL representation given 984 // values of external bindings. 985 Eval(context.Context, *EvalRequest) (*EvalResponse, error) 986} 987 988// UnimplementedConformanceServiceServer can be embedded to have forward compatible implementations. 989type UnimplementedConformanceServiceServer struct { 990} 991 992func (*UnimplementedConformanceServiceServer) Parse(context.Context, *ParseRequest) (*ParseResponse, error) { 993 return nil, status1.Errorf(codes.Unimplemented, "method Parse not implemented") 994} 995func (*UnimplementedConformanceServiceServer) Check(context.Context, *CheckRequest) (*CheckResponse, error) { 996 return nil, status1.Errorf(codes.Unimplemented, "method Check not implemented") 997} 998func (*UnimplementedConformanceServiceServer) Eval(context.Context, *EvalRequest) (*EvalResponse, error) { 999 return nil, status1.Errorf(codes.Unimplemented, "method Eval not implemented") 1000} 1001 1002func RegisterConformanceServiceServer(s *grpc.Server, srv ConformanceServiceServer) { 1003 s.RegisterService(&_ConformanceService_serviceDesc, srv) 1004} 1005 1006func _ConformanceService_Parse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1007 in := new(ParseRequest) 1008 if err := dec(in); err != nil { 1009 return nil, err 1010 } 1011 if interceptor == nil { 1012 return srv.(ConformanceServiceServer).Parse(ctx, in) 1013 } 1014 info := &grpc.UnaryServerInfo{ 1015 Server: srv, 1016 FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Parse", 1017 } 1018 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1019 return srv.(ConformanceServiceServer).Parse(ctx, req.(*ParseRequest)) 1020 } 1021 return interceptor(ctx, in, info, handler) 1022} 1023 1024func _ConformanceService_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1025 in := new(CheckRequest) 1026 if err := dec(in); err != nil { 1027 return nil, err 1028 } 1029 if interceptor == nil { 1030 return srv.(ConformanceServiceServer).Check(ctx, in) 1031 } 1032 info := &grpc.UnaryServerInfo{ 1033 Server: srv, 1034 FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Check", 1035 } 1036 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1037 return srv.(ConformanceServiceServer).Check(ctx, req.(*CheckRequest)) 1038 } 1039 return interceptor(ctx, in, info, handler) 1040} 1041 1042func _ConformanceService_Eval_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1043 in := new(EvalRequest) 1044 if err := dec(in); err != nil { 1045 return nil, err 1046 } 1047 if interceptor == nil { 1048 return srv.(ConformanceServiceServer).Eval(ctx, in) 1049 } 1050 info := &grpc.UnaryServerInfo{ 1051 Server: srv, 1052 FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Eval", 1053 } 1054 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1055 return srv.(ConformanceServiceServer).Eval(ctx, req.(*EvalRequest)) 1056 } 1057 return interceptor(ctx, in, info, handler) 1058} 1059 1060var _ConformanceService_serviceDesc = grpc.ServiceDesc{ 1061 ServiceName: "google.api.expr.v1alpha1.ConformanceService", 1062 HandlerType: (*ConformanceServiceServer)(nil), 1063 Methods: []grpc.MethodDesc{ 1064 { 1065 MethodName: "Parse", 1066 Handler: _ConformanceService_Parse_Handler, 1067 }, 1068 { 1069 MethodName: "Check", 1070 Handler: _ConformanceService_Check_Handler, 1071 }, 1072 { 1073 MethodName: "Eval", 1074 Handler: _ConformanceService_Eval_Handler, 1075 }, 1076 }, 1077 Streams: []grpc.StreamDesc{}, 1078 Metadata: "google/api/expr/v1alpha1/conformance_service.proto", 1079} 1080