...

Source file src/google.golang.org/genproto/googleapis/cloud/networkservices/v1/grpc_route.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/networkservices/v1

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    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/networkservices/v1/grpc_route.proto
    20  
    21  package networkservices
    22  
    23  import (
    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  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    32  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    33  )
    34  
    35  const (
    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  // The type of the match.
    43  type GrpcRoute_MethodMatch_Type int32
    44  
    45  const (
    46  	// Unspecified.
    47  	GrpcRoute_MethodMatch_TYPE_UNSPECIFIED GrpcRoute_MethodMatch_Type = 0
    48  	// Will only match the exact name provided.
    49  	GrpcRoute_MethodMatch_EXACT GrpcRoute_MethodMatch_Type = 1
    50  	// Will interpret grpc_method and grpc_service as regexes. RE2 syntax is
    51  	// supported.
    52  	GrpcRoute_MethodMatch_REGULAR_EXPRESSION GrpcRoute_MethodMatch_Type = 2
    53  )
    54  
    55  // Enum value maps for GrpcRoute_MethodMatch_Type.
    56  var (
    57  	GrpcRoute_MethodMatch_Type_name = map[int32]string{
    58  		0: "TYPE_UNSPECIFIED",
    59  		1: "EXACT",
    60  		2: "REGULAR_EXPRESSION",
    61  	}
    62  	GrpcRoute_MethodMatch_Type_value = map[string]int32{
    63  		"TYPE_UNSPECIFIED":   0,
    64  		"EXACT":              1,
    65  		"REGULAR_EXPRESSION": 2,
    66  	}
    67  )
    68  
    69  func (x GrpcRoute_MethodMatch_Type) Enum() *GrpcRoute_MethodMatch_Type {
    70  	p := new(GrpcRoute_MethodMatch_Type)
    71  	*p = x
    72  	return p
    73  }
    74  
    75  func (x GrpcRoute_MethodMatch_Type) String() string {
    76  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    77  }
    78  
    79  func (GrpcRoute_MethodMatch_Type) Descriptor() protoreflect.EnumDescriptor {
    80  	return file_google_cloud_networkservices_v1_grpc_route_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (GrpcRoute_MethodMatch_Type) Type() protoreflect.EnumType {
    84  	return &file_google_cloud_networkservices_v1_grpc_route_proto_enumTypes[0]
    85  }
    86  
    87  func (x GrpcRoute_MethodMatch_Type) Number() protoreflect.EnumNumber {
    88  	return protoreflect.EnumNumber(x)
    89  }
    90  
    91  // Deprecated: Use GrpcRoute_MethodMatch_Type.Descriptor instead.
    92  func (GrpcRoute_MethodMatch_Type) EnumDescriptor() ([]byte, []int) {
    93  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 0, 0}
    94  }
    95  
    96  // The type of match.
    97  type GrpcRoute_HeaderMatch_Type int32
    98  
    99  const (
   100  	// Unspecified.
   101  	GrpcRoute_HeaderMatch_TYPE_UNSPECIFIED GrpcRoute_HeaderMatch_Type = 0
   102  	// Will only match the exact value provided.
   103  	GrpcRoute_HeaderMatch_EXACT GrpcRoute_HeaderMatch_Type = 1
   104  	// Will match paths conforming to the prefix specified by value. RE2
   105  	// syntax is supported.
   106  	GrpcRoute_HeaderMatch_REGULAR_EXPRESSION GrpcRoute_HeaderMatch_Type = 2
   107  )
   108  
   109  // Enum value maps for GrpcRoute_HeaderMatch_Type.
   110  var (
   111  	GrpcRoute_HeaderMatch_Type_name = map[int32]string{
   112  		0: "TYPE_UNSPECIFIED",
   113  		1: "EXACT",
   114  		2: "REGULAR_EXPRESSION",
   115  	}
   116  	GrpcRoute_HeaderMatch_Type_value = map[string]int32{
   117  		"TYPE_UNSPECIFIED":   0,
   118  		"EXACT":              1,
   119  		"REGULAR_EXPRESSION": 2,
   120  	}
   121  )
   122  
   123  func (x GrpcRoute_HeaderMatch_Type) Enum() *GrpcRoute_HeaderMatch_Type {
   124  	p := new(GrpcRoute_HeaderMatch_Type)
   125  	*p = x
   126  	return p
   127  }
   128  
   129  func (x GrpcRoute_HeaderMatch_Type) String() string {
   130  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   131  }
   132  
   133  func (GrpcRoute_HeaderMatch_Type) Descriptor() protoreflect.EnumDescriptor {
   134  	return file_google_cloud_networkservices_v1_grpc_route_proto_enumTypes[1].Descriptor()
   135  }
   136  
   137  func (GrpcRoute_HeaderMatch_Type) Type() protoreflect.EnumType {
   138  	return &file_google_cloud_networkservices_v1_grpc_route_proto_enumTypes[1]
   139  }
   140  
   141  func (x GrpcRoute_HeaderMatch_Type) Number() protoreflect.EnumNumber {
   142  	return protoreflect.EnumNumber(x)
   143  }
   144  
   145  // Deprecated: Use GrpcRoute_HeaderMatch_Type.Descriptor instead.
   146  func (GrpcRoute_HeaderMatch_Type) EnumDescriptor() ([]byte, []int) {
   147  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 1, 0}
   148  }
   149  
   150  // GrpcRoute is the resource defining how gRPC traffic routed by a Mesh
   151  // or Gateway resource is routed.
   152  type GrpcRoute struct {
   153  	state         protoimpl.MessageState
   154  	sizeCache     protoimpl.SizeCache
   155  	unknownFields protoimpl.UnknownFields
   156  
   157  	// Required. Name of the GrpcRoute resource. It matches pattern
   158  	// `projects/*/locations/global/grpcRoutes/<grpc_route_name>`
   159  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   160  	// Output only. Server-defined URL of this resource
   161  	SelfLink string `protobuf:"bytes,12,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
   162  	// Output only. The timestamp when the resource was created.
   163  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   164  	// Output only. The timestamp when the resource was updated.
   165  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   166  	// Optional. Set of label tags associated with the GrpcRoute resource.
   167  	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   168  	// Optional. A free-text description of the resource. Max length 1024 characters.
   169  	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
   170  	// Required. Service hostnames with an optional port for which this route describes
   171  	// traffic.
   172  	//
   173  	// Format: <hostname>[:<port>]
   174  	//
   175  	// Hostname is the fully qualified domain name of a network host. This matches
   176  	// the RFC 1123 definition of a hostname with 2 notable exceptions:
   177  	//  - IPs are not allowed.
   178  	//  - A hostname may be prefixed with a wildcard label (*.). The wildcard
   179  	//    label must appear by itself as the first label.
   180  	//
   181  	// Hostname can be "precise" which is a domain name without the terminating
   182  	// dot of a network host (e.g. "foo.example.com") or "wildcard", which is a
   183  	// domain name prefixed with a single wildcard label (e.g. *.example.com).
   184  	//
   185  	// Note that as per RFC1035 and RFC1123, a label must consist of lower case
   186  	// alphanumeric characters or '-', and must start and end with an alphanumeric
   187  	// character. No other punctuation is allowed.
   188  	//
   189  	// The routes associated with a Mesh or Gateway must have unique hostnames. If
   190  	// you attempt to attach multiple routes with conflicting hostnames, the
   191  	// configuration will be rejected.
   192  	//
   193  	// For example, while it is acceptable for routes for the hostnames
   194  	// "*.foo.bar.com" and "*.bar.com" to be associated with the same route, it is
   195  	// not possible to associate two routes both with "*.bar.com" or both with
   196  	// "bar.com".
   197  	//
   198  	// If a port is specified, then gRPC clients must use the channel URI with the
   199  	// port to match this rule (i.e. "xds:///service:123"), otherwise they must
   200  	// supply the URI without a port (i.e. "xds:///service").
   201  	Hostnames []string `protobuf:"bytes,6,rep,name=hostnames,proto3" json:"hostnames,omitempty"`
   202  	// Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of
   203  	// the routing rules to route the requests served by the mesh.
   204  	//
   205  	// Each mesh reference should match the pattern:
   206  	// `projects/*/locations/global/meshes/<mesh_name>`
   207  	Meshes []string `protobuf:"bytes,9,rep,name=meshes,proto3" json:"meshes,omitempty"`
   208  	// Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one
   209  	// of the routing rules to route the requests served by the gateway.
   210  	//
   211  	// Each gateway reference should match the pattern:
   212  	// `projects/*/locations/global/gateways/<gateway_name>`
   213  	Gateways []string `protobuf:"bytes,10,rep,name=gateways,proto3" json:"gateways,omitempty"`
   214  	// Required. A list of detailed rules defining how to route traffic.
   215  	//
   216  	// Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the
   217  	// first matching GrpcRoute.RouteRule will be executed. At least one rule
   218  	// must be supplied.
   219  	Rules []*GrpcRoute_RouteRule `protobuf:"bytes,7,rep,name=rules,proto3" json:"rules,omitempty"`
   220  }
   221  
   222  func (x *GrpcRoute) Reset() {
   223  	*x = GrpcRoute{}
   224  	if protoimpl.UnsafeEnabled {
   225  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[0]
   226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   227  		ms.StoreMessageInfo(mi)
   228  	}
   229  }
   230  
   231  func (x *GrpcRoute) String() string {
   232  	return protoimpl.X.MessageStringOf(x)
   233  }
   234  
   235  func (*GrpcRoute) ProtoMessage() {}
   236  
   237  func (x *GrpcRoute) ProtoReflect() protoreflect.Message {
   238  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[0]
   239  	if protoimpl.UnsafeEnabled && x != nil {
   240  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   241  		if ms.LoadMessageInfo() == nil {
   242  			ms.StoreMessageInfo(mi)
   243  		}
   244  		return ms
   245  	}
   246  	return mi.MessageOf(x)
   247  }
   248  
   249  // Deprecated: Use GrpcRoute.ProtoReflect.Descriptor instead.
   250  func (*GrpcRoute) Descriptor() ([]byte, []int) {
   251  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0}
   252  }
   253  
   254  func (x *GrpcRoute) GetName() string {
   255  	if x != nil {
   256  		return x.Name
   257  	}
   258  	return ""
   259  }
   260  
   261  func (x *GrpcRoute) GetSelfLink() string {
   262  	if x != nil {
   263  		return x.SelfLink
   264  	}
   265  	return ""
   266  }
   267  
   268  func (x *GrpcRoute) GetCreateTime() *timestamppb.Timestamp {
   269  	if x != nil {
   270  		return x.CreateTime
   271  	}
   272  	return nil
   273  }
   274  
   275  func (x *GrpcRoute) GetUpdateTime() *timestamppb.Timestamp {
   276  	if x != nil {
   277  		return x.UpdateTime
   278  	}
   279  	return nil
   280  }
   281  
   282  func (x *GrpcRoute) GetLabels() map[string]string {
   283  	if x != nil {
   284  		return x.Labels
   285  	}
   286  	return nil
   287  }
   288  
   289  func (x *GrpcRoute) GetDescription() string {
   290  	if x != nil {
   291  		return x.Description
   292  	}
   293  	return ""
   294  }
   295  
   296  func (x *GrpcRoute) GetHostnames() []string {
   297  	if x != nil {
   298  		return x.Hostnames
   299  	}
   300  	return nil
   301  }
   302  
   303  func (x *GrpcRoute) GetMeshes() []string {
   304  	if x != nil {
   305  		return x.Meshes
   306  	}
   307  	return nil
   308  }
   309  
   310  func (x *GrpcRoute) GetGateways() []string {
   311  	if x != nil {
   312  		return x.Gateways
   313  	}
   314  	return nil
   315  }
   316  
   317  func (x *GrpcRoute) GetRules() []*GrpcRoute_RouteRule {
   318  	if x != nil {
   319  		return x.Rules
   320  	}
   321  	return nil
   322  }
   323  
   324  // Request used with the ListGrpcRoutes method.
   325  type ListGrpcRoutesRequest struct {
   326  	state         protoimpl.MessageState
   327  	sizeCache     protoimpl.SizeCache
   328  	unknownFields protoimpl.UnknownFields
   329  
   330  	// Required. The project and location from which the GrpcRoutes should be
   331  	// listed, specified in the format `projects/*/locations/global`.
   332  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   333  	// Maximum number of GrpcRoutes to return per call.
   334  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   335  	// The value returned by the last `ListGrpcRoutesResponse`
   336  	// Indicates that this is a continuation of a prior `ListGrpcRoutes` call,
   337  	// and that the system should return the next page of data.
   338  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   339  }
   340  
   341  func (x *ListGrpcRoutesRequest) Reset() {
   342  	*x = ListGrpcRoutesRequest{}
   343  	if protoimpl.UnsafeEnabled {
   344  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[1]
   345  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   346  		ms.StoreMessageInfo(mi)
   347  	}
   348  }
   349  
   350  func (x *ListGrpcRoutesRequest) String() string {
   351  	return protoimpl.X.MessageStringOf(x)
   352  }
   353  
   354  func (*ListGrpcRoutesRequest) ProtoMessage() {}
   355  
   356  func (x *ListGrpcRoutesRequest) ProtoReflect() protoreflect.Message {
   357  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[1]
   358  	if protoimpl.UnsafeEnabled && x != nil {
   359  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   360  		if ms.LoadMessageInfo() == nil {
   361  			ms.StoreMessageInfo(mi)
   362  		}
   363  		return ms
   364  	}
   365  	return mi.MessageOf(x)
   366  }
   367  
   368  // Deprecated: Use ListGrpcRoutesRequest.ProtoReflect.Descriptor instead.
   369  func (*ListGrpcRoutesRequest) Descriptor() ([]byte, []int) {
   370  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{1}
   371  }
   372  
   373  func (x *ListGrpcRoutesRequest) GetParent() string {
   374  	if x != nil {
   375  		return x.Parent
   376  	}
   377  	return ""
   378  }
   379  
   380  func (x *ListGrpcRoutesRequest) GetPageSize() int32 {
   381  	if x != nil {
   382  		return x.PageSize
   383  	}
   384  	return 0
   385  }
   386  
   387  func (x *ListGrpcRoutesRequest) GetPageToken() string {
   388  	if x != nil {
   389  		return x.PageToken
   390  	}
   391  	return ""
   392  }
   393  
   394  // Response returned by the ListGrpcRoutes method.
   395  type ListGrpcRoutesResponse struct {
   396  	state         protoimpl.MessageState
   397  	sizeCache     protoimpl.SizeCache
   398  	unknownFields protoimpl.UnknownFields
   399  
   400  	// List of GrpcRoute resources.
   401  	GrpcRoutes []*GrpcRoute `protobuf:"bytes,1,rep,name=grpc_routes,json=grpcRoutes,proto3" json:"grpc_routes,omitempty"`
   402  	// If there might be more results than those appearing in this response, then
   403  	// `next_page_token` is included. To get the next set of results, call this
   404  	// method again using the value of `next_page_token` as `page_token`.
   405  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   406  }
   407  
   408  func (x *ListGrpcRoutesResponse) Reset() {
   409  	*x = ListGrpcRoutesResponse{}
   410  	if protoimpl.UnsafeEnabled {
   411  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[2]
   412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   413  		ms.StoreMessageInfo(mi)
   414  	}
   415  }
   416  
   417  func (x *ListGrpcRoutesResponse) String() string {
   418  	return protoimpl.X.MessageStringOf(x)
   419  }
   420  
   421  func (*ListGrpcRoutesResponse) ProtoMessage() {}
   422  
   423  func (x *ListGrpcRoutesResponse) ProtoReflect() protoreflect.Message {
   424  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[2]
   425  	if protoimpl.UnsafeEnabled && x != nil {
   426  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   427  		if ms.LoadMessageInfo() == nil {
   428  			ms.StoreMessageInfo(mi)
   429  		}
   430  		return ms
   431  	}
   432  	return mi.MessageOf(x)
   433  }
   434  
   435  // Deprecated: Use ListGrpcRoutesResponse.ProtoReflect.Descriptor instead.
   436  func (*ListGrpcRoutesResponse) Descriptor() ([]byte, []int) {
   437  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{2}
   438  }
   439  
   440  func (x *ListGrpcRoutesResponse) GetGrpcRoutes() []*GrpcRoute {
   441  	if x != nil {
   442  		return x.GrpcRoutes
   443  	}
   444  	return nil
   445  }
   446  
   447  func (x *ListGrpcRoutesResponse) GetNextPageToken() string {
   448  	if x != nil {
   449  		return x.NextPageToken
   450  	}
   451  	return ""
   452  }
   453  
   454  // Request used by the GetGrpcRoute method.
   455  type GetGrpcRouteRequest struct {
   456  	state         protoimpl.MessageState
   457  	sizeCache     protoimpl.SizeCache
   458  	unknownFields protoimpl.UnknownFields
   459  
   460  	// Required. A name of the GrpcRoute to get. Must be in the format
   461  	// `projects/*/locations/global/grpcRoutes/*`.
   462  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   463  }
   464  
   465  func (x *GetGrpcRouteRequest) Reset() {
   466  	*x = GetGrpcRouteRequest{}
   467  	if protoimpl.UnsafeEnabled {
   468  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[3]
   469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   470  		ms.StoreMessageInfo(mi)
   471  	}
   472  }
   473  
   474  func (x *GetGrpcRouteRequest) String() string {
   475  	return protoimpl.X.MessageStringOf(x)
   476  }
   477  
   478  func (*GetGrpcRouteRequest) ProtoMessage() {}
   479  
   480  func (x *GetGrpcRouteRequest) ProtoReflect() protoreflect.Message {
   481  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[3]
   482  	if protoimpl.UnsafeEnabled && x != nil {
   483  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   484  		if ms.LoadMessageInfo() == nil {
   485  			ms.StoreMessageInfo(mi)
   486  		}
   487  		return ms
   488  	}
   489  	return mi.MessageOf(x)
   490  }
   491  
   492  // Deprecated: Use GetGrpcRouteRequest.ProtoReflect.Descriptor instead.
   493  func (*GetGrpcRouteRequest) Descriptor() ([]byte, []int) {
   494  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{3}
   495  }
   496  
   497  func (x *GetGrpcRouteRequest) GetName() string {
   498  	if x != nil {
   499  		return x.Name
   500  	}
   501  	return ""
   502  }
   503  
   504  // Request used by the CreateGrpcRoute method.
   505  type CreateGrpcRouteRequest struct {
   506  	state         protoimpl.MessageState
   507  	sizeCache     protoimpl.SizeCache
   508  	unknownFields protoimpl.UnknownFields
   509  
   510  	// Required. The parent resource of the GrpcRoute. Must be in the
   511  	// format `projects/*/locations/global`.
   512  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   513  	// Required. Short name of the GrpcRoute resource to be created.
   514  	GrpcRouteId string `protobuf:"bytes,2,opt,name=grpc_route_id,json=grpcRouteId,proto3" json:"grpc_route_id,omitempty"`
   515  	// Required. GrpcRoute resource to be created.
   516  	GrpcRoute *GrpcRoute `protobuf:"bytes,3,opt,name=grpc_route,json=grpcRoute,proto3" json:"grpc_route,omitempty"`
   517  }
   518  
   519  func (x *CreateGrpcRouteRequest) Reset() {
   520  	*x = CreateGrpcRouteRequest{}
   521  	if protoimpl.UnsafeEnabled {
   522  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[4]
   523  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   524  		ms.StoreMessageInfo(mi)
   525  	}
   526  }
   527  
   528  func (x *CreateGrpcRouteRequest) String() string {
   529  	return protoimpl.X.MessageStringOf(x)
   530  }
   531  
   532  func (*CreateGrpcRouteRequest) ProtoMessage() {}
   533  
   534  func (x *CreateGrpcRouteRequest) ProtoReflect() protoreflect.Message {
   535  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[4]
   536  	if protoimpl.UnsafeEnabled && x != nil {
   537  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   538  		if ms.LoadMessageInfo() == nil {
   539  			ms.StoreMessageInfo(mi)
   540  		}
   541  		return ms
   542  	}
   543  	return mi.MessageOf(x)
   544  }
   545  
   546  // Deprecated: Use CreateGrpcRouteRequest.ProtoReflect.Descriptor instead.
   547  func (*CreateGrpcRouteRequest) Descriptor() ([]byte, []int) {
   548  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{4}
   549  }
   550  
   551  func (x *CreateGrpcRouteRequest) GetParent() string {
   552  	if x != nil {
   553  		return x.Parent
   554  	}
   555  	return ""
   556  }
   557  
   558  func (x *CreateGrpcRouteRequest) GetGrpcRouteId() string {
   559  	if x != nil {
   560  		return x.GrpcRouteId
   561  	}
   562  	return ""
   563  }
   564  
   565  func (x *CreateGrpcRouteRequest) GetGrpcRoute() *GrpcRoute {
   566  	if x != nil {
   567  		return x.GrpcRoute
   568  	}
   569  	return nil
   570  }
   571  
   572  // Request used by the UpdateGrpcRoute method.
   573  type UpdateGrpcRouteRequest struct {
   574  	state         protoimpl.MessageState
   575  	sizeCache     protoimpl.SizeCache
   576  	unknownFields protoimpl.UnknownFields
   577  
   578  	// Optional. Field mask is used to specify the fields to be overwritten in the
   579  	// GrpcRoute resource by the update.
   580  	// The fields specified in the update_mask are relative to the resource, not
   581  	// the full request. A field will be overwritten if it is in the mask. If the
   582  	// user does not provide a mask then all fields will be overwritten.
   583  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   584  	// Required. Updated GrpcRoute resource.
   585  	GrpcRoute *GrpcRoute `protobuf:"bytes,2,opt,name=grpc_route,json=grpcRoute,proto3" json:"grpc_route,omitempty"`
   586  }
   587  
   588  func (x *UpdateGrpcRouteRequest) Reset() {
   589  	*x = UpdateGrpcRouteRequest{}
   590  	if protoimpl.UnsafeEnabled {
   591  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[5]
   592  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   593  		ms.StoreMessageInfo(mi)
   594  	}
   595  }
   596  
   597  func (x *UpdateGrpcRouteRequest) String() string {
   598  	return protoimpl.X.MessageStringOf(x)
   599  }
   600  
   601  func (*UpdateGrpcRouteRequest) ProtoMessage() {}
   602  
   603  func (x *UpdateGrpcRouteRequest) ProtoReflect() protoreflect.Message {
   604  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[5]
   605  	if protoimpl.UnsafeEnabled && x != nil {
   606  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   607  		if ms.LoadMessageInfo() == nil {
   608  			ms.StoreMessageInfo(mi)
   609  		}
   610  		return ms
   611  	}
   612  	return mi.MessageOf(x)
   613  }
   614  
   615  // Deprecated: Use UpdateGrpcRouteRequest.ProtoReflect.Descriptor instead.
   616  func (*UpdateGrpcRouteRequest) Descriptor() ([]byte, []int) {
   617  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{5}
   618  }
   619  
   620  func (x *UpdateGrpcRouteRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   621  	if x != nil {
   622  		return x.UpdateMask
   623  	}
   624  	return nil
   625  }
   626  
   627  func (x *UpdateGrpcRouteRequest) GetGrpcRoute() *GrpcRoute {
   628  	if x != nil {
   629  		return x.GrpcRoute
   630  	}
   631  	return nil
   632  }
   633  
   634  // Request used by the DeleteGrpcRoute method.
   635  type DeleteGrpcRouteRequest struct {
   636  	state         protoimpl.MessageState
   637  	sizeCache     protoimpl.SizeCache
   638  	unknownFields protoimpl.UnknownFields
   639  
   640  	// Required. A name of the GrpcRoute to delete. Must be in the format
   641  	// `projects/*/locations/global/grpcRoutes/*`.
   642  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   643  }
   644  
   645  func (x *DeleteGrpcRouteRequest) Reset() {
   646  	*x = DeleteGrpcRouteRequest{}
   647  	if protoimpl.UnsafeEnabled {
   648  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[6]
   649  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   650  		ms.StoreMessageInfo(mi)
   651  	}
   652  }
   653  
   654  func (x *DeleteGrpcRouteRequest) String() string {
   655  	return protoimpl.X.MessageStringOf(x)
   656  }
   657  
   658  func (*DeleteGrpcRouteRequest) ProtoMessage() {}
   659  
   660  func (x *DeleteGrpcRouteRequest) ProtoReflect() protoreflect.Message {
   661  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[6]
   662  	if protoimpl.UnsafeEnabled && x != nil {
   663  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   664  		if ms.LoadMessageInfo() == nil {
   665  			ms.StoreMessageInfo(mi)
   666  		}
   667  		return ms
   668  	}
   669  	return mi.MessageOf(x)
   670  }
   671  
   672  // Deprecated: Use DeleteGrpcRouteRequest.ProtoReflect.Descriptor instead.
   673  func (*DeleteGrpcRouteRequest) Descriptor() ([]byte, []int) {
   674  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{6}
   675  }
   676  
   677  func (x *DeleteGrpcRouteRequest) GetName() string {
   678  	if x != nil {
   679  		return x.Name
   680  	}
   681  	return ""
   682  }
   683  
   684  // Specifies a match against a method.
   685  type GrpcRoute_MethodMatch struct {
   686  	state         protoimpl.MessageState
   687  	sizeCache     protoimpl.SizeCache
   688  	unknownFields protoimpl.UnknownFields
   689  
   690  	// Optional. Specifies how to match against the name. If not specified, a default
   691  	// value of "EXACT" is used.
   692  	Type GrpcRoute_MethodMatch_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.networkservices.v1.GrpcRoute_MethodMatch_Type" json:"type,omitempty"`
   693  	// Required. Name of the service to match against. If unspecified, will match all
   694  	// services.
   695  	GrpcService string `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"`
   696  	// Required. Name of the method to match against. If unspecified, will match all
   697  	// methods.
   698  	GrpcMethod string `protobuf:"bytes,3,opt,name=grpc_method,json=grpcMethod,proto3" json:"grpc_method,omitempty"`
   699  	// Optional. Specifies that matches are case sensitive.  The default value is true.
   700  	// case_sensitive must not be used with a type of REGULAR_EXPRESSION.
   701  	CaseSensitive *bool `protobuf:"varint,4,opt,name=case_sensitive,json=caseSensitive,proto3,oneof" json:"case_sensitive,omitempty"`
   702  }
   703  
   704  func (x *GrpcRoute_MethodMatch) Reset() {
   705  	*x = GrpcRoute_MethodMatch{}
   706  	if protoimpl.UnsafeEnabled {
   707  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[7]
   708  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   709  		ms.StoreMessageInfo(mi)
   710  	}
   711  }
   712  
   713  func (x *GrpcRoute_MethodMatch) String() string {
   714  	return protoimpl.X.MessageStringOf(x)
   715  }
   716  
   717  func (*GrpcRoute_MethodMatch) ProtoMessage() {}
   718  
   719  func (x *GrpcRoute_MethodMatch) ProtoReflect() protoreflect.Message {
   720  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[7]
   721  	if protoimpl.UnsafeEnabled && x != nil {
   722  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   723  		if ms.LoadMessageInfo() == nil {
   724  			ms.StoreMessageInfo(mi)
   725  		}
   726  		return ms
   727  	}
   728  	return mi.MessageOf(x)
   729  }
   730  
   731  // Deprecated: Use GrpcRoute_MethodMatch.ProtoReflect.Descriptor instead.
   732  func (*GrpcRoute_MethodMatch) Descriptor() ([]byte, []int) {
   733  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 0}
   734  }
   735  
   736  func (x *GrpcRoute_MethodMatch) GetType() GrpcRoute_MethodMatch_Type {
   737  	if x != nil {
   738  		return x.Type
   739  	}
   740  	return GrpcRoute_MethodMatch_TYPE_UNSPECIFIED
   741  }
   742  
   743  func (x *GrpcRoute_MethodMatch) GetGrpcService() string {
   744  	if x != nil {
   745  		return x.GrpcService
   746  	}
   747  	return ""
   748  }
   749  
   750  func (x *GrpcRoute_MethodMatch) GetGrpcMethod() string {
   751  	if x != nil {
   752  		return x.GrpcMethod
   753  	}
   754  	return ""
   755  }
   756  
   757  func (x *GrpcRoute_MethodMatch) GetCaseSensitive() bool {
   758  	if x != nil && x.CaseSensitive != nil {
   759  		return *x.CaseSensitive
   760  	}
   761  	return false
   762  }
   763  
   764  // A match against a collection of headers.
   765  type GrpcRoute_HeaderMatch struct {
   766  	state         protoimpl.MessageState
   767  	sizeCache     protoimpl.SizeCache
   768  	unknownFields protoimpl.UnknownFields
   769  
   770  	// Optional. Specifies how to match against the value of the header. If not
   771  	// specified, a default value of EXACT is used.
   772  	Type GrpcRoute_HeaderMatch_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.networkservices.v1.GrpcRoute_HeaderMatch_Type" json:"type,omitempty"`
   773  	// Required. The key of the header.
   774  	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
   775  	// Required. The value of the header.
   776  	Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
   777  }
   778  
   779  func (x *GrpcRoute_HeaderMatch) Reset() {
   780  	*x = GrpcRoute_HeaderMatch{}
   781  	if protoimpl.UnsafeEnabled {
   782  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[8]
   783  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   784  		ms.StoreMessageInfo(mi)
   785  	}
   786  }
   787  
   788  func (x *GrpcRoute_HeaderMatch) String() string {
   789  	return protoimpl.X.MessageStringOf(x)
   790  }
   791  
   792  func (*GrpcRoute_HeaderMatch) ProtoMessage() {}
   793  
   794  func (x *GrpcRoute_HeaderMatch) ProtoReflect() protoreflect.Message {
   795  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[8]
   796  	if protoimpl.UnsafeEnabled && x != nil {
   797  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   798  		if ms.LoadMessageInfo() == nil {
   799  			ms.StoreMessageInfo(mi)
   800  		}
   801  		return ms
   802  	}
   803  	return mi.MessageOf(x)
   804  }
   805  
   806  // Deprecated: Use GrpcRoute_HeaderMatch.ProtoReflect.Descriptor instead.
   807  func (*GrpcRoute_HeaderMatch) Descriptor() ([]byte, []int) {
   808  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 1}
   809  }
   810  
   811  func (x *GrpcRoute_HeaderMatch) GetType() GrpcRoute_HeaderMatch_Type {
   812  	if x != nil {
   813  		return x.Type
   814  	}
   815  	return GrpcRoute_HeaderMatch_TYPE_UNSPECIFIED
   816  }
   817  
   818  func (x *GrpcRoute_HeaderMatch) GetKey() string {
   819  	if x != nil {
   820  		return x.Key
   821  	}
   822  	return ""
   823  }
   824  
   825  func (x *GrpcRoute_HeaderMatch) GetValue() string {
   826  	if x != nil {
   827  		return x.Value
   828  	}
   829  	return ""
   830  }
   831  
   832  // Criteria for matching traffic. A RouteMatch will be considered to match
   833  // when all supplied fields match.
   834  type GrpcRoute_RouteMatch struct {
   835  	state         protoimpl.MessageState
   836  	sizeCache     protoimpl.SizeCache
   837  	unknownFields protoimpl.UnknownFields
   838  
   839  	// Optional. A gRPC method to match against. If this field is empty or omitted, will
   840  	// match all methods.
   841  	Method *GrpcRoute_MethodMatch `protobuf:"bytes,1,opt,name=method,proto3,oneof" json:"method,omitempty"`
   842  	// Optional. Specifies a collection of headers to match.
   843  	Headers []*GrpcRoute_HeaderMatch `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
   844  }
   845  
   846  func (x *GrpcRoute_RouteMatch) Reset() {
   847  	*x = GrpcRoute_RouteMatch{}
   848  	if protoimpl.UnsafeEnabled {
   849  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[9]
   850  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   851  		ms.StoreMessageInfo(mi)
   852  	}
   853  }
   854  
   855  func (x *GrpcRoute_RouteMatch) String() string {
   856  	return protoimpl.X.MessageStringOf(x)
   857  }
   858  
   859  func (*GrpcRoute_RouteMatch) ProtoMessage() {}
   860  
   861  func (x *GrpcRoute_RouteMatch) ProtoReflect() protoreflect.Message {
   862  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[9]
   863  	if protoimpl.UnsafeEnabled && x != nil {
   864  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   865  		if ms.LoadMessageInfo() == nil {
   866  			ms.StoreMessageInfo(mi)
   867  		}
   868  		return ms
   869  	}
   870  	return mi.MessageOf(x)
   871  }
   872  
   873  // Deprecated: Use GrpcRoute_RouteMatch.ProtoReflect.Descriptor instead.
   874  func (*GrpcRoute_RouteMatch) Descriptor() ([]byte, []int) {
   875  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 2}
   876  }
   877  
   878  func (x *GrpcRoute_RouteMatch) GetMethod() *GrpcRoute_MethodMatch {
   879  	if x != nil {
   880  		return x.Method
   881  	}
   882  	return nil
   883  }
   884  
   885  func (x *GrpcRoute_RouteMatch) GetHeaders() []*GrpcRoute_HeaderMatch {
   886  	if x != nil {
   887  		return x.Headers
   888  	}
   889  	return nil
   890  }
   891  
   892  // The destination to which traffic will be routed.
   893  type GrpcRoute_Destination struct {
   894  	state         protoimpl.MessageState
   895  	sizeCache     protoimpl.SizeCache
   896  	unknownFields protoimpl.UnknownFields
   897  
   898  	// Specifies the kind of destination to which traffic will be routed.
   899  	//
   900  	// Types that are assignable to DestinationType:
   901  	//	*GrpcRoute_Destination_ServiceName
   902  	DestinationType isGrpcRoute_Destination_DestinationType `protobuf_oneof:"destination_type"`
   903  	// Optional. Specifies the proportion of requests forwarded to the backend referenced
   904  	// by the serviceName field. This is computed as:
   905  	//         weight/Sum(weights in this destination list).
   906  	// For non-zero values, there may be some epsilon from the exact proportion
   907  	// defined here depending on the precision an implementation supports.
   908  	//
   909  	// If only one serviceName is specified and it has a weight greater than 0,
   910  	// 100% of the traffic is forwarded to that backend.
   911  	//
   912  	// If weights are specified for any one service name, they need to be
   913  	// specified for all of them.
   914  	//
   915  	// If weights are unspecified for all services, then, traffic is distributed
   916  	// in equal proportions to all of them.
   917  	Weight *int32 `protobuf:"varint,2,opt,name=weight,proto3,oneof" json:"weight,omitempty"`
   918  }
   919  
   920  func (x *GrpcRoute_Destination) Reset() {
   921  	*x = GrpcRoute_Destination{}
   922  	if protoimpl.UnsafeEnabled {
   923  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[10]
   924  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   925  		ms.StoreMessageInfo(mi)
   926  	}
   927  }
   928  
   929  func (x *GrpcRoute_Destination) String() string {
   930  	return protoimpl.X.MessageStringOf(x)
   931  }
   932  
   933  func (*GrpcRoute_Destination) ProtoMessage() {}
   934  
   935  func (x *GrpcRoute_Destination) ProtoReflect() protoreflect.Message {
   936  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[10]
   937  	if protoimpl.UnsafeEnabled && x != nil {
   938  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   939  		if ms.LoadMessageInfo() == nil {
   940  			ms.StoreMessageInfo(mi)
   941  		}
   942  		return ms
   943  	}
   944  	return mi.MessageOf(x)
   945  }
   946  
   947  // Deprecated: Use GrpcRoute_Destination.ProtoReflect.Descriptor instead.
   948  func (*GrpcRoute_Destination) Descriptor() ([]byte, []int) {
   949  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 3}
   950  }
   951  
   952  func (m *GrpcRoute_Destination) GetDestinationType() isGrpcRoute_Destination_DestinationType {
   953  	if m != nil {
   954  		return m.DestinationType
   955  	}
   956  	return nil
   957  }
   958  
   959  func (x *GrpcRoute_Destination) GetServiceName() string {
   960  	if x, ok := x.GetDestinationType().(*GrpcRoute_Destination_ServiceName); ok {
   961  		return x.ServiceName
   962  	}
   963  	return ""
   964  }
   965  
   966  func (x *GrpcRoute_Destination) GetWeight() int32 {
   967  	if x != nil && x.Weight != nil {
   968  		return *x.Weight
   969  	}
   970  	return 0
   971  }
   972  
   973  type isGrpcRoute_Destination_DestinationType interface {
   974  	isGrpcRoute_Destination_DestinationType()
   975  }
   976  
   977  type GrpcRoute_Destination_ServiceName struct {
   978  	// Required. The URL of a destination service to which to route traffic. Must refer
   979  	// to either a BackendService or ServiceDirectoryService.
   980  	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3,oneof"`
   981  }
   982  
   983  func (*GrpcRoute_Destination_ServiceName) isGrpcRoute_Destination_DestinationType() {}
   984  
   985  // The specification for fault injection introduced into traffic to test the
   986  // resiliency of clients to destination service failure. As part of fault
   987  // injection, when clients send requests to a destination, delays can be
   988  // introduced on a percentage of requests before sending those requests to the
   989  // destination service. Similarly requests from clients can be aborted by for
   990  // a percentage of requests.
   991  type GrpcRoute_FaultInjectionPolicy struct {
   992  	state         protoimpl.MessageState
   993  	sizeCache     protoimpl.SizeCache
   994  	unknownFields protoimpl.UnknownFields
   995  
   996  	// The specification for injecting delay to client requests.
   997  	Delay *GrpcRoute_FaultInjectionPolicy_Delay `protobuf:"bytes,1,opt,name=delay,proto3,oneof" json:"delay,omitempty"`
   998  	// The specification for aborting to client requests.
   999  	Abort *GrpcRoute_FaultInjectionPolicy_Abort `protobuf:"bytes,2,opt,name=abort,proto3,oneof" json:"abort,omitempty"`
  1000  }
  1001  
  1002  func (x *GrpcRoute_FaultInjectionPolicy) Reset() {
  1003  	*x = GrpcRoute_FaultInjectionPolicy{}
  1004  	if protoimpl.UnsafeEnabled {
  1005  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[11]
  1006  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1007  		ms.StoreMessageInfo(mi)
  1008  	}
  1009  }
  1010  
  1011  func (x *GrpcRoute_FaultInjectionPolicy) String() string {
  1012  	return protoimpl.X.MessageStringOf(x)
  1013  }
  1014  
  1015  func (*GrpcRoute_FaultInjectionPolicy) ProtoMessage() {}
  1016  
  1017  func (x *GrpcRoute_FaultInjectionPolicy) ProtoReflect() protoreflect.Message {
  1018  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[11]
  1019  	if protoimpl.UnsafeEnabled && x != nil {
  1020  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1021  		if ms.LoadMessageInfo() == nil {
  1022  			ms.StoreMessageInfo(mi)
  1023  		}
  1024  		return ms
  1025  	}
  1026  	return mi.MessageOf(x)
  1027  }
  1028  
  1029  // Deprecated: Use GrpcRoute_FaultInjectionPolicy.ProtoReflect.Descriptor instead.
  1030  func (*GrpcRoute_FaultInjectionPolicy) Descriptor() ([]byte, []int) {
  1031  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 4}
  1032  }
  1033  
  1034  func (x *GrpcRoute_FaultInjectionPolicy) GetDelay() *GrpcRoute_FaultInjectionPolicy_Delay {
  1035  	if x != nil {
  1036  		return x.Delay
  1037  	}
  1038  	return nil
  1039  }
  1040  
  1041  func (x *GrpcRoute_FaultInjectionPolicy) GetAbort() *GrpcRoute_FaultInjectionPolicy_Abort {
  1042  	if x != nil {
  1043  		return x.Abort
  1044  	}
  1045  	return nil
  1046  }
  1047  
  1048  // The specifications for retries.
  1049  type GrpcRoute_RetryPolicy struct {
  1050  	state         protoimpl.MessageState
  1051  	sizeCache     protoimpl.SizeCache
  1052  	unknownFields protoimpl.UnknownFields
  1053  
  1054  	// - connect-failure: Router will retry on failures connecting to Backend
  1055  	//    Services, for example due to connection timeouts.
  1056  	// - refused-stream: Router will retry if the backend service resets the
  1057  	// stream
  1058  	//    with a REFUSED_STREAM error code. This reset type indicates that it is
  1059  	//    safe to retry.
  1060  	// - cancelled: Router will retry if the gRPC status code in the response
  1061  	// header
  1062  	//    is set to cancelled
  1063  	// - deadline-exceeded: Router will retry if the gRPC status code in the
  1064  	// response
  1065  	//    header is set to deadline-exceeded
  1066  	// - resource-exhausted: Router will retry if the gRPC status code in the
  1067  	//    response header is set to resource-exhausted
  1068  	// - unavailable: Router will retry if the gRPC status code in the response
  1069  	//    header is set to unavailable
  1070  	RetryConditions []string `protobuf:"bytes,1,rep,name=retry_conditions,json=retryConditions,proto3" json:"retry_conditions,omitempty"`
  1071  	// Specifies the allowed number of retries. This number must be > 0. If not
  1072  	// specified, default to 1.
  1073  	NumRetries uint32 `protobuf:"varint,2,opt,name=num_retries,json=numRetries,proto3" json:"num_retries,omitempty"`
  1074  }
  1075  
  1076  func (x *GrpcRoute_RetryPolicy) Reset() {
  1077  	*x = GrpcRoute_RetryPolicy{}
  1078  	if protoimpl.UnsafeEnabled {
  1079  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[12]
  1080  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1081  		ms.StoreMessageInfo(mi)
  1082  	}
  1083  }
  1084  
  1085  func (x *GrpcRoute_RetryPolicy) String() string {
  1086  	return protoimpl.X.MessageStringOf(x)
  1087  }
  1088  
  1089  func (*GrpcRoute_RetryPolicy) ProtoMessage() {}
  1090  
  1091  func (x *GrpcRoute_RetryPolicy) ProtoReflect() protoreflect.Message {
  1092  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[12]
  1093  	if protoimpl.UnsafeEnabled && x != nil {
  1094  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1095  		if ms.LoadMessageInfo() == nil {
  1096  			ms.StoreMessageInfo(mi)
  1097  		}
  1098  		return ms
  1099  	}
  1100  	return mi.MessageOf(x)
  1101  }
  1102  
  1103  // Deprecated: Use GrpcRoute_RetryPolicy.ProtoReflect.Descriptor instead.
  1104  func (*GrpcRoute_RetryPolicy) Descriptor() ([]byte, []int) {
  1105  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 5}
  1106  }
  1107  
  1108  func (x *GrpcRoute_RetryPolicy) GetRetryConditions() []string {
  1109  	if x != nil {
  1110  		return x.RetryConditions
  1111  	}
  1112  	return nil
  1113  }
  1114  
  1115  func (x *GrpcRoute_RetryPolicy) GetNumRetries() uint32 {
  1116  	if x != nil {
  1117  		return x.NumRetries
  1118  	}
  1119  	return 0
  1120  }
  1121  
  1122  // Specifies how to route matched traffic.
  1123  type GrpcRoute_RouteAction struct {
  1124  	state         protoimpl.MessageState
  1125  	sizeCache     protoimpl.SizeCache
  1126  	unknownFields protoimpl.UnknownFields
  1127  
  1128  	// Optional. The destination services to which traffic should be forwarded. If
  1129  	// multiple destinations are specified, traffic will be split between
  1130  	// Backend Service(s) according to the weight field of these destinations.
  1131  	Destinations []*GrpcRoute_Destination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
  1132  	// Optional. The specification for fault injection introduced into traffic to test the
  1133  	// resiliency of clients to destination service failure. As part of fault
  1134  	// injection, when clients send requests to a destination, delays can be
  1135  	// introduced on a percentage of requests before sending those requests to
  1136  	// the destination service. Similarly requests from clients can be aborted
  1137  	// by for a percentage of requests.
  1138  	//
  1139  	// timeout and retry_policy will be ignored by clients that are configured
  1140  	// with a fault_injection_policy
  1141  	FaultInjectionPolicy *GrpcRoute_FaultInjectionPolicy `protobuf:"bytes,3,opt,name=fault_injection_policy,json=faultInjectionPolicy,proto3" json:"fault_injection_policy,omitempty"`
  1142  	// Optional. Specifies the timeout for selected route. Timeout is computed from the
  1143  	// time the request has been fully processed (i.e. end of stream) up until
  1144  	// the response has been completely processed. Timeout includes all retries.
  1145  	Timeout *durationpb.Duration `protobuf:"bytes,7,opt,name=timeout,proto3" json:"timeout,omitempty"`
  1146  	// Optional. Specifies the retry policy associated with this route.
  1147  	RetryPolicy *GrpcRoute_RetryPolicy `protobuf:"bytes,8,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"`
  1148  }
  1149  
  1150  func (x *GrpcRoute_RouteAction) Reset() {
  1151  	*x = GrpcRoute_RouteAction{}
  1152  	if protoimpl.UnsafeEnabled {
  1153  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[13]
  1154  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1155  		ms.StoreMessageInfo(mi)
  1156  	}
  1157  }
  1158  
  1159  func (x *GrpcRoute_RouteAction) String() string {
  1160  	return protoimpl.X.MessageStringOf(x)
  1161  }
  1162  
  1163  func (*GrpcRoute_RouteAction) ProtoMessage() {}
  1164  
  1165  func (x *GrpcRoute_RouteAction) ProtoReflect() protoreflect.Message {
  1166  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[13]
  1167  	if protoimpl.UnsafeEnabled && x != nil {
  1168  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1169  		if ms.LoadMessageInfo() == nil {
  1170  			ms.StoreMessageInfo(mi)
  1171  		}
  1172  		return ms
  1173  	}
  1174  	return mi.MessageOf(x)
  1175  }
  1176  
  1177  // Deprecated: Use GrpcRoute_RouteAction.ProtoReflect.Descriptor instead.
  1178  func (*GrpcRoute_RouteAction) Descriptor() ([]byte, []int) {
  1179  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 6}
  1180  }
  1181  
  1182  func (x *GrpcRoute_RouteAction) GetDestinations() []*GrpcRoute_Destination {
  1183  	if x != nil {
  1184  		return x.Destinations
  1185  	}
  1186  	return nil
  1187  }
  1188  
  1189  func (x *GrpcRoute_RouteAction) GetFaultInjectionPolicy() *GrpcRoute_FaultInjectionPolicy {
  1190  	if x != nil {
  1191  		return x.FaultInjectionPolicy
  1192  	}
  1193  	return nil
  1194  }
  1195  
  1196  func (x *GrpcRoute_RouteAction) GetTimeout() *durationpb.Duration {
  1197  	if x != nil {
  1198  		return x.Timeout
  1199  	}
  1200  	return nil
  1201  }
  1202  
  1203  func (x *GrpcRoute_RouteAction) GetRetryPolicy() *GrpcRoute_RetryPolicy {
  1204  	if x != nil {
  1205  		return x.RetryPolicy
  1206  	}
  1207  	return nil
  1208  }
  1209  
  1210  // Describes how to route traffic.
  1211  type GrpcRoute_RouteRule struct {
  1212  	state         protoimpl.MessageState
  1213  	sizeCache     protoimpl.SizeCache
  1214  	unknownFields protoimpl.UnknownFields
  1215  
  1216  	// Optional. Matches define conditions used for matching the rule against incoming
  1217  	// gRPC requests. Each match is independent, i.e. this rule will be matched
  1218  	// if ANY one of the matches is satisfied.  If no matches field is
  1219  	// specified, this rule will unconditionally match traffic.
  1220  	Matches []*GrpcRoute_RouteMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"`
  1221  	// Required. A detailed rule defining how to route traffic. This field is required.
  1222  	Action *GrpcRoute_RouteAction `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
  1223  }
  1224  
  1225  func (x *GrpcRoute_RouteRule) Reset() {
  1226  	*x = GrpcRoute_RouteRule{}
  1227  	if protoimpl.UnsafeEnabled {
  1228  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[14]
  1229  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1230  		ms.StoreMessageInfo(mi)
  1231  	}
  1232  }
  1233  
  1234  func (x *GrpcRoute_RouteRule) String() string {
  1235  	return protoimpl.X.MessageStringOf(x)
  1236  }
  1237  
  1238  func (*GrpcRoute_RouteRule) ProtoMessage() {}
  1239  
  1240  func (x *GrpcRoute_RouteRule) ProtoReflect() protoreflect.Message {
  1241  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[14]
  1242  	if protoimpl.UnsafeEnabled && x != nil {
  1243  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1244  		if ms.LoadMessageInfo() == nil {
  1245  			ms.StoreMessageInfo(mi)
  1246  		}
  1247  		return ms
  1248  	}
  1249  	return mi.MessageOf(x)
  1250  }
  1251  
  1252  // Deprecated: Use GrpcRoute_RouteRule.ProtoReflect.Descriptor instead.
  1253  func (*GrpcRoute_RouteRule) Descriptor() ([]byte, []int) {
  1254  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 7}
  1255  }
  1256  
  1257  func (x *GrpcRoute_RouteRule) GetMatches() []*GrpcRoute_RouteMatch {
  1258  	if x != nil {
  1259  		return x.Matches
  1260  	}
  1261  	return nil
  1262  }
  1263  
  1264  func (x *GrpcRoute_RouteRule) GetAction() *GrpcRoute_RouteAction {
  1265  	if x != nil {
  1266  		return x.Action
  1267  	}
  1268  	return nil
  1269  }
  1270  
  1271  // Specification of how client requests are delayed as part of fault
  1272  // injection before being sent to a destination.
  1273  type GrpcRoute_FaultInjectionPolicy_Delay struct {
  1274  	state         protoimpl.MessageState
  1275  	sizeCache     protoimpl.SizeCache
  1276  	unknownFields protoimpl.UnknownFields
  1277  
  1278  	// Specify a fixed delay before forwarding the request.
  1279  	FixedDelay *durationpb.Duration `protobuf:"bytes,1,opt,name=fixed_delay,json=fixedDelay,proto3,oneof" json:"fixed_delay,omitempty"`
  1280  	// The percentage of traffic on which delay will be injected.
  1281  	//
  1282  	// The value must be between [0, 100]
  1283  	Percentage *int32 `protobuf:"varint,2,opt,name=percentage,proto3,oneof" json:"percentage,omitempty"`
  1284  }
  1285  
  1286  func (x *GrpcRoute_FaultInjectionPolicy_Delay) Reset() {
  1287  	*x = GrpcRoute_FaultInjectionPolicy_Delay{}
  1288  	if protoimpl.UnsafeEnabled {
  1289  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[16]
  1290  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1291  		ms.StoreMessageInfo(mi)
  1292  	}
  1293  }
  1294  
  1295  func (x *GrpcRoute_FaultInjectionPolicy_Delay) String() string {
  1296  	return protoimpl.X.MessageStringOf(x)
  1297  }
  1298  
  1299  func (*GrpcRoute_FaultInjectionPolicy_Delay) ProtoMessage() {}
  1300  
  1301  func (x *GrpcRoute_FaultInjectionPolicy_Delay) ProtoReflect() protoreflect.Message {
  1302  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[16]
  1303  	if protoimpl.UnsafeEnabled && x != nil {
  1304  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1305  		if ms.LoadMessageInfo() == nil {
  1306  			ms.StoreMessageInfo(mi)
  1307  		}
  1308  		return ms
  1309  	}
  1310  	return mi.MessageOf(x)
  1311  }
  1312  
  1313  // Deprecated: Use GrpcRoute_FaultInjectionPolicy_Delay.ProtoReflect.Descriptor instead.
  1314  func (*GrpcRoute_FaultInjectionPolicy_Delay) Descriptor() ([]byte, []int) {
  1315  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 4, 0}
  1316  }
  1317  
  1318  func (x *GrpcRoute_FaultInjectionPolicy_Delay) GetFixedDelay() *durationpb.Duration {
  1319  	if x != nil {
  1320  		return x.FixedDelay
  1321  	}
  1322  	return nil
  1323  }
  1324  
  1325  func (x *GrpcRoute_FaultInjectionPolicy_Delay) GetPercentage() int32 {
  1326  	if x != nil && x.Percentage != nil {
  1327  		return *x.Percentage
  1328  	}
  1329  	return 0
  1330  }
  1331  
  1332  // Specification of how client requests are aborted as part of fault
  1333  // injection before being sent to a destination.
  1334  type GrpcRoute_FaultInjectionPolicy_Abort struct {
  1335  	state         protoimpl.MessageState
  1336  	sizeCache     protoimpl.SizeCache
  1337  	unknownFields protoimpl.UnknownFields
  1338  
  1339  	// The HTTP status code used to abort the request.
  1340  	//
  1341  	// The value must be between 200 and 599 inclusive.
  1342  	HttpStatus *int32 `protobuf:"varint,1,opt,name=http_status,json=httpStatus,proto3,oneof" json:"http_status,omitempty"`
  1343  	// The percentage of traffic which will be aborted.
  1344  	//
  1345  	// The value must be between [0, 100]
  1346  	Percentage *int32 `protobuf:"varint,2,opt,name=percentage,proto3,oneof" json:"percentage,omitempty"`
  1347  }
  1348  
  1349  func (x *GrpcRoute_FaultInjectionPolicy_Abort) Reset() {
  1350  	*x = GrpcRoute_FaultInjectionPolicy_Abort{}
  1351  	if protoimpl.UnsafeEnabled {
  1352  		mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[17]
  1353  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1354  		ms.StoreMessageInfo(mi)
  1355  	}
  1356  }
  1357  
  1358  func (x *GrpcRoute_FaultInjectionPolicy_Abort) String() string {
  1359  	return protoimpl.X.MessageStringOf(x)
  1360  }
  1361  
  1362  func (*GrpcRoute_FaultInjectionPolicy_Abort) ProtoMessage() {}
  1363  
  1364  func (x *GrpcRoute_FaultInjectionPolicy_Abort) ProtoReflect() protoreflect.Message {
  1365  	mi := &file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[17]
  1366  	if protoimpl.UnsafeEnabled && x != nil {
  1367  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1368  		if ms.LoadMessageInfo() == nil {
  1369  			ms.StoreMessageInfo(mi)
  1370  		}
  1371  		return ms
  1372  	}
  1373  	return mi.MessageOf(x)
  1374  }
  1375  
  1376  // Deprecated: Use GrpcRoute_FaultInjectionPolicy_Abort.ProtoReflect.Descriptor instead.
  1377  func (*GrpcRoute_FaultInjectionPolicy_Abort) Descriptor() ([]byte, []int) {
  1378  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP(), []int{0, 4, 1}
  1379  }
  1380  
  1381  func (x *GrpcRoute_FaultInjectionPolicy_Abort) GetHttpStatus() int32 {
  1382  	if x != nil && x.HttpStatus != nil {
  1383  		return *x.HttpStatus
  1384  	}
  1385  	return 0
  1386  }
  1387  
  1388  func (x *GrpcRoute_FaultInjectionPolicy_Abort) GetPercentage() int32 {
  1389  	if x != nil && x.Percentage != nil {
  1390  		return *x.Percentage
  1391  	}
  1392  	return 0
  1393  }
  1394  
  1395  var File_google_cloud_networkservices_v1_grpc_route_proto protoreflect.FileDescriptor
  1396  
  1397  var file_google_cloud_networkservices_v1_grpc_route_proto_rawDesc = []byte{
  1398  	0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e,
  1399  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76,
  1400  	0x31, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  1401  	0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1402  	0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
  1403  	0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
  1404  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
  1405  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  1406  	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1407  	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1408  	0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1409  	0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1410  	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1411  	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1412  	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
  1413  	0x74, 0x6f, 0x22, 0x86, 0x16, 0x0a, 0x09, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65,
  1414  	0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  1415  	0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x65, 0x6c,
  1416  	0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1417  	0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x40, 0x0a, 0x0b, 0x63,
  1418  	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  1419  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1420  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
  1421  	0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a,
  1422  	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
  1423  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1424  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
  1425  	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
  1426  	0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1427  	0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e,
  1428  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76,
  1429  	0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65,
  1430  	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61,
  1431  	0x62, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  1432  	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b,
  1433  	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x09, 0x68,
  1434  	0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03,
  1435  	0xe0, 0x41, 0x02, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x43,
  1436  	0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b,
  1437  	0xe0, 0x41, 0x01, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73,
  1438  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  1439  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x06, 0x6d, 0x65, 0x73,
  1440  	0x68, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18,
  1441  	0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x6e,
  1442  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x67,
  1443  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x61,
  1444  	0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x08, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12,
  1445  	0x4f, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34,
  1446  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65,
  1447  	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31,
  1448  	0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65,
  1449  	0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73,
  1450  	0x1a, 0xb6, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68,
  1451  	0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b,
  1452  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65,
  1453  	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31,
  1454  	0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f,
  1455  	0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
  1456  	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73,
  1457  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1458  	0x02, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x24,
  1459  	0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20,
  1460  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x4d, 0x65,
  1461  	0x74, 0x68, 0x6f, 0x64, 0x12, 0x2f, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e,
  1462  	0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
  1463  	0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
  1464  	0x76, 0x65, 0x88, 0x01, 0x01, 0x22, 0x3f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
  1465  	0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
  1466  	0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x16,
  1467  	0x0a, 0x12, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53,
  1468  	0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f,
  1469  	0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x1a, 0xd6, 0x01, 0x0a, 0x0b, 0x48, 0x65,
  1470  	0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70,
  1471  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1472  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65,
  1473  	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f,
  1474  	0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e,
  1475  	0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
  1476  	0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1477  	0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  1478  	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  1479  	0x65, 0x22, 0x3f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50,
  1480  	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  1481  	0x09, 0x0a, 0x05, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45,
  1482  	0x47, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e,
  1483  	0x10, 0x02, 0x1a, 0xc8, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63,
  1484  	0x68, 0x12, 0x58, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  1485  	0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1486  	0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
  1487  	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4d, 0x65,
  1488  	0x74, 0x68, 0x6f, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
  1489  	0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x07, 0x68,
  1490  	0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67,
  1491  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77,
  1492  	0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  1493  	0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d,
  1494  	0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
  1495  	0x72, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0xa2, 0x01,
  1496  	0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a,
  1497  	0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1498  	0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x63, 0x6f, 0x6d,
  1499  	0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1500  	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69,
  1501  	0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d,
  1502  	0x65, 0x12, 0x20, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  1503  	0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74,
  1504  	0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  1505  	0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67,
  1506  	0x68, 0x74, 0x1a, 0xf0, 0x03, 0x0a, 0x14, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65,
  1507  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x60, 0x0a, 0x05, 0x64,
  1508  	0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f,
  1509  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
  1510  	0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70,
  1511  	0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65,
  1512  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x61,
  1513  	0x79, 0x48, 0x00, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a,
  1514  	0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67,
  1515  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77,
  1516  	0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  1517  	0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e,
  1518  	0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x62,
  1519  	0x6f, 0x72, 0x74, 0x48, 0x01, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x1a,
  1520  	0x8c, 0x01, 0x0a, 0x05, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x66, 0x69, 0x78,
  1521  	0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  1522  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1523  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78,
  1524  	0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x70, 0x65,
  1525  	0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01,
  1526  	0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42,
  1527  	0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42,
  1528  	0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0x71,
  1529  	0x0a, 0x05, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f,
  1530  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a,
  1531  	0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a,
  1532  	0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1533  	0x05, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x88,
  1534  	0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74,
  1535  	0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67,
  1536  	0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f,
  1537  	0x61, 0x62, 0x6f, 0x72, 0x74, 0x1a, 0x59, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f,
  1538  	0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f,
  1539  	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f,
  1540  	0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  1541  	0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02,
  1542  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73,
  1543  	0x1a, 0x84, 0x03, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1544  	0x12, 0x5f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  1545  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1546  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72,
  1547  	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75,
  1548  	0x74, 0x65, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
  1549  	0xe0, 0x41, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1550  	0x73, 0x12, 0x7a, 0x0a, 0x16, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63,
  1551  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
  1552  	0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1553  	0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
  1554  	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x61,
  1555  	0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
  1556  	0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e,
  1557  	0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, 0x0a,
  1558  	0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  1559  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1560  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07,
  1561  	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5e, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79,
  1562  	0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e,
  1563  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74,
  1564  	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e,
  1565  	0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50,
  1566  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72,
  1567  	0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xb6, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74,
  1568  	0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73,
  1569  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1570  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72,
  1571  	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75,
  1572  	0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x03, 0xe0,
  1573  	0x41, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x61,
  1574  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f,
  1575  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
  1576  	0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72,
  1577  	0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74,
  1578  	0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1579  	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
  1580  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
  1581  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1582  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x6e, 0xea, 0x41, 0x6b,
  1583  	0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  1584  	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  1585  	0x2f, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a,
  1586  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c,
  1587  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  1588  	0x6f, 0x6e, 0x7d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x7b,
  1589  	0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x7d, 0x22, 0x9d, 0x01, 0x0a, 0x15,
  1590  	0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65,
  1591  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
  1592  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x6e,
  1593  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x67,
  1594  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72,
  1595  	0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
  1596  	0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
  1597  	0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
  1598  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  1599  	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x16,
  1600  	0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65,
  1601  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72,
  1602  	0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f,
  1603  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
  1604  	0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72,
  1605  	0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75,
  1606  	0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
  1607  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
  1608  	0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x13, 0x47,
  1609  	0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
  1610  	0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1611  	0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
  1612  	0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1613  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75,
  1614  	0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65,
  1615  	0x61, 0x74, 0x65, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
  1616  	0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  1617  	0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x6e, 0x65, 0x74,
  1618  	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
  1619  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x70, 0x63,
  1620  	0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a,
  1621  	0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
  1622  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x52,
  1623  	0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72,
  1624  	0x6f, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
  1625  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
  1626  	0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70,
  1627  	0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x67, 0x72, 0x70,
  1628  	0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74,
  1629  	0x65, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1630  	0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
  1631  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1632  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61,
  1633  	0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
  1634  	0x61, 0x73, 0x6b, 0x12, 0x4e, 0x0a, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x74,
  1635  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1636  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65,
  1637  	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f,
  1638  	0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x67, 0x72, 0x70, 0x63, 0x52, 0x6f,
  1639  	0x75, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x70,
  1640  	0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a,
  1641  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02,
  1642  	0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76,
  1643  	0x69, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1644  	0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x70, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x04, 0x6e,
  1645  	0x61, 0x6d, 0x65, 0x42, 0xf0, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1646  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
  1647  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x47, 0x72, 0x70,
  1648  	0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4e, 0x67,
  1649  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
  1650  	0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1651  	0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
  1652  	0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x65,
  1653  	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0xaa, 0x02, 0x1f,
  1654  	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74,
  1655  	0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca,
  1656  	0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e,
  1657  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5c, 0x56,
  1658  	0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75,
  1659  	0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  1660  	0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1661  }
  1662  
  1663  var (
  1664  	file_google_cloud_networkservices_v1_grpc_route_proto_rawDescOnce sync.Once
  1665  	file_google_cloud_networkservices_v1_grpc_route_proto_rawDescData = file_google_cloud_networkservices_v1_grpc_route_proto_rawDesc
  1666  )
  1667  
  1668  func file_google_cloud_networkservices_v1_grpc_route_proto_rawDescGZIP() []byte {
  1669  	file_google_cloud_networkservices_v1_grpc_route_proto_rawDescOnce.Do(func() {
  1670  		file_google_cloud_networkservices_v1_grpc_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_networkservices_v1_grpc_route_proto_rawDescData)
  1671  	})
  1672  	return file_google_cloud_networkservices_v1_grpc_route_proto_rawDescData
  1673  }
  1674  
  1675  var file_google_cloud_networkservices_v1_grpc_route_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1676  var file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
  1677  var file_google_cloud_networkservices_v1_grpc_route_proto_goTypes = []interface{}{
  1678  	(GrpcRoute_MethodMatch_Type)(0),              // 0: google.cloud.networkservices.v1.GrpcRoute.MethodMatch.Type
  1679  	(GrpcRoute_HeaderMatch_Type)(0),              // 1: google.cloud.networkservices.v1.GrpcRoute.HeaderMatch.Type
  1680  	(*GrpcRoute)(nil),                            // 2: google.cloud.networkservices.v1.GrpcRoute
  1681  	(*ListGrpcRoutesRequest)(nil),                // 3: google.cloud.networkservices.v1.ListGrpcRoutesRequest
  1682  	(*ListGrpcRoutesResponse)(nil),               // 4: google.cloud.networkservices.v1.ListGrpcRoutesResponse
  1683  	(*GetGrpcRouteRequest)(nil),                  // 5: google.cloud.networkservices.v1.GetGrpcRouteRequest
  1684  	(*CreateGrpcRouteRequest)(nil),               // 6: google.cloud.networkservices.v1.CreateGrpcRouteRequest
  1685  	(*UpdateGrpcRouteRequest)(nil),               // 7: google.cloud.networkservices.v1.UpdateGrpcRouteRequest
  1686  	(*DeleteGrpcRouteRequest)(nil),               // 8: google.cloud.networkservices.v1.DeleteGrpcRouteRequest
  1687  	(*GrpcRoute_MethodMatch)(nil),                // 9: google.cloud.networkservices.v1.GrpcRoute.MethodMatch
  1688  	(*GrpcRoute_HeaderMatch)(nil),                // 10: google.cloud.networkservices.v1.GrpcRoute.HeaderMatch
  1689  	(*GrpcRoute_RouteMatch)(nil),                 // 11: google.cloud.networkservices.v1.GrpcRoute.RouteMatch
  1690  	(*GrpcRoute_Destination)(nil),                // 12: google.cloud.networkservices.v1.GrpcRoute.Destination
  1691  	(*GrpcRoute_FaultInjectionPolicy)(nil),       // 13: google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy
  1692  	(*GrpcRoute_RetryPolicy)(nil),                // 14: google.cloud.networkservices.v1.GrpcRoute.RetryPolicy
  1693  	(*GrpcRoute_RouteAction)(nil),                // 15: google.cloud.networkservices.v1.GrpcRoute.RouteAction
  1694  	(*GrpcRoute_RouteRule)(nil),                  // 16: google.cloud.networkservices.v1.GrpcRoute.RouteRule
  1695  	nil,                                          // 17: google.cloud.networkservices.v1.GrpcRoute.LabelsEntry
  1696  	(*GrpcRoute_FaultInjectionPolicy_Delay)(nil), // 18: google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.Delay
  1697  	(*GrpcRoute_FaultInjectionPolicy_Abort)(nil), // 19: google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.Abort
  1698  	(*timestamppb.Timestamp)(nil),                // 20: google.protobuf.Timestamp
  1699  	(*fieldmaskpb.FieldMask)(nil),                // 21: google.protobuf.FieldMask
  1700  	(*durationpb.Duration)(nil),                  // 22: google.protobuf.Duration
  1701  }
  1702  var file_google_cloud_networkservices_v1_grpc_route_proto_depIdxs = []int32{
  1703  	20, // 0: google.cloud.networkservices.v1.GrpcRoute.create_time:type_name -> google.protobuf.Timestamp
  1704  	20, // 1: google.cloud.networkservices.v1.GrpcRoute.update_time:type_name -> google.protobuf.Timestamp
  1705  	17, // 2: google.cloud.networkservices.v1.GrpcRoute.labels:type_name -> google.cloud.networkservices.v1.GrpcRoute.LabelsEntry
  1706  	16, // 3: google.cloud.networkservices.v1.GrpcRoute.rules:type_name -> google.cloud.networkservices.v1.GrpcRoute.RouteRule
  1707  	2,  // 4: google.cloud.networkservices.v1.ListGrpcRoutesResponse.grpc_routes:type_name -> google.cloud.networkservices.v1.GrpcRoute
  1708  	2,  // 5: google.cloud.networkservices.v1.CreateGrpcRouteRequest.grpc_route:type_name -> google.cloud.networkservices.v1.GrpcRoute
  1709  	21, // 6: google.cloud.networkservices.v1.UpdateGrpcRouteRequest.update_mask:type_name -> google.protobuf.FieldMask
  1710  	2,  // 7: google.cloud.networkservices.v1.UpdateGrpcRouteRequest.grpc_route:type_name -> google.cloud.networkservices.v1.GrpcRoute
  1711  	0,  // 8: google.cloud.networkservices.v1.GrpcRoute.MethodMatch.type:type_name -> google.cloud.networkservices.v1.GrpcRoute.MethodMatch.Type
  1712  	1,  // 9: google.cloud.networkservices.v1.GrpcRoute.HeaderMatch.type:type_name -> google.cloud.networkservices.v1.GrpcRoute.HeaderMatch.Type
  1713  	9,  // 10: google.cloud.networkservices.v1.GrpcRoute.RouteMatch.method:type_name -> google.cloud.networkservices.v1.GrpcRoute.MethodMatch
  1714  	10, // 11: google.cloud.networkservices.v1.GrpcRoute.RouteMatch.headers:type_name -> google.cloud.networkservices.v1.GrpcRoute.HeaderMatch
  1715  	18, // 12: google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.delay:type_name -> google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.Delay
  1716  	19, // 13: google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.abort:type_name -> google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.Abort
  1717  	12, // 14: google.cloud.networkservices.v1.GrpcRoute.RouteAction.destinations:type_name -> google.cloud.networkservices.v1.GrpcRoute.Destination
  1718  	13, // 15: google.cloud.networkservices.v1.GrpcRoute.RouteAction.fault_injection_policy:type_name -> google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy
  1719  	22, // 16: google.cloud.networkservices.v1.GrpcRoute.RouteAction.timeout:type_name -> google.protobuf.Duration
  1720  	14, // 17: google.cloud.networkservices.v1.GrpcRoute.RouteAction.retry_policy:type_name -> google.cloud.networkservices.v1.GrpcRoute.RetryPolicy
  1721  	11, // 18: google.cloud.networkservices.v1.GrpcRoute.RouteRule.matches:type_name -> google.cloud.networkservices.v1.GrpcRoute.RouteMatch
  1722  	15, // 19: google.cloud.networkservices.v1.GrpcRoute.RouteRule.action:type_name -> google.cloud.networkservices.v1.GrpcRoute.RouteAction
  1723  	22, // 20: google.cloud.networkservices.v1.GrpcRoute.FaultInjectionPolicy.Delay.fixed_delay:type_name -> google.protobuf.Duration
  1724  	21, // [21:21] is the sub-list for method output_type
  1725  	21, // [21:21] is the sub-list for method input_type
  1726  	21, // [21:21] is the sub-list for extension type_name
  1727  	21, // [21:21] is the sub-list for extension extendee
  1728  	0,  // [0:21] is the sub-list for field type_name
  1729  }
  1730  
  1731  func init() { file_google_cloud_networkservices_v1_grpc_route_proto_init() }
  1732  func file_google_cloud_networkservices_v1_grpc_route_proto_init() {
  1733  	if File_google_cloud_networkservices_v1_grpc_route_proto != nil {
  1734  		return
  1735  	}
  1736  	if !protoimpl.UnsafeEnabled {
  1737  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1738  			switch v := v.(*GrpcRoute); i {
  1739  			case 0:
  1740  				return &v.state
  1741  			case 1:
  1742  				return &v.sizeCache
  1743  			case 2:
  1744  				return &v.unknownFields
  1745  			default:
  1746  				return nil
  1747  			}
  1748  		}
  1749  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1750  			switch v := v.(*ListGrpcRoutesRequest); i {
  1751  			case 0:
  1752  				return &v.state
  1753  			case 1:
  1754  				return &v.sizeCache
  1755  			case 2:
  1756  				return &v.unknownFields
  1757  			default:
  1758  				return nil
  1759  			}
  1760  		}
  1761  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1762  			switch v := v.(*ListGrpcRoutesResponse); i {
  1763  			case 0:
  1764  				return &v.state
  1765  			case 1:
  1766  				return &v.sizeCache
  1767  			case 2:
  1768  				return &v.unknownFields
  1769  			default:
  1770  				return nil
  1771  			}
  1772  		}
  1773  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1774  			switch v := v.(*GetGrpcRouteRequest); i {
  1775  			case 0:
  1776  				return &v.state
  1777  			case 1:
  1778  				return &v.sizeCache
  1779  			case 2:
  1780  				return &v.unknownFields
  1781  			default:
  1782  				return nil
  1783  			}
  1784  		}
  1785  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1786  			switch v := v.(*CreateGrpcRouteRequest); i {
  1787  			case 0:
  1788  				return &v.state
  1789  			case 1:
  1790  				return &v.sizeCache
  1791  			case 2:
  1792  				return &v.unknownFields
  1793  			default:
  1794  				return nil
  1795  			}
  1796  		}
  1797  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1798  			switch v := v.(*UpdateGrpcRouteRequest); i {
  1799  			case 0:
  1800  				return &v.state
  1801  			case 1:
  1802  				return &v.sizeCache
  1803  			case 2:
  1804  				return &v.unknownFields
  1805  			default:
  1806  				return nil
  1807  			}
  1808  		}
  1809  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1810  			switch v := v.(*DeleteGrpcRouteRequest); i {
  1811  			case 0:
  1812  				return &v.state
  1813  			case 1:
  1814  				return &v.sizeCache
  1815  			case 2:
  1816  				return &v.unknownFields
  1817  			default:
  1818  				return nil
  1819  			}
  1820  		}
  1821  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1822  			switch v := v.(*GrpcRoute_MethodMatch); i {
  1823  			case 0:
  1824  				return &v.state
  1825  			case 1:
  1826  				return &v.sizeCache
  1827  			case 2:
  1828  				return &v.unknownFields
  1829  			default:
  1830  				return nil
  1831  			}
  1832  		}
  1833  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1834  			switch v := v.(*GrpcRoute_HeaderMatch); i {
  1835  			case 0:
  1836  				return &v.state
  1837  			case 1:
  1838  				return &v.sizeCache
  1839  			case 2:
  1840  				return &v.unknownFields
  1841  			default:
  1842  				return nil
  1843  			}
  1844  		}
  1845  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1846  			switch v := v.(*GrpcRoute_RouteMatch); i {
  1847  			case 0:
  1848  				return &v.state
  1849  			case 1:
  1850  				return &v.sizeCache
  1851  			case 2:
  1852  				return &v.unknownFields
  1853  			default:
  1854  				return nil
  1855  			}
  1856  		}
  1857  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1858  			switch v := v.(*GrpcRoute_Destination); i {
  1859  			case 0:
  1860  				return &v.state
  1861  			case 1:
  1862  				return &v.sizeCache
  1863  			case 2:
  1864  				return &v.unknownFields
  1865  			default:
  1866  				return nil
  1867  			}
  1868  		}
  1869  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1870  			switch v := v.(*GrpcRoute_FaultInjectionPolicy); i {
  1871  			case 0:
  1872  				return &v.state
  1873  			case 1:
  1874  				return &v.sizeCache
  1875  			case 2:
  1876  				return &v.unknownFields
  1877  			default:
  1878  				return nil
  1879  			}
  1880  		}
  1881  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1882  			switch v := v.(*GrpcRoute_RetryPolicy); i {
  1883  			case 0:
  1884  				return &v.state
  1885  			case 1:
  1886  				return &v.sizeCache
  1887  			case 2:
  1888  				return &v.unknownFields
  1889  			default:
  1890  				return nil
  1891  			}
  1892  		}
  1893  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1894  			switch v := v.(*GrpcRoute_RouteAction); i {
  1895  			case 0:
  1896  				return &v.state
  1897  			case 1:
  1898  				return &v.sizeCache
  1899  			case 2:
  1900  				return &v.unknownFields
  1901  			default:
  1902  				return nil
  1903  			}
  1904  		}
  1905  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1906  			switch v := v.(*GrpcRoute_RouteRule); i {
  1907  			case 0:
  1908  				return &v.state
  1909  			case 1:
  1910  				return &v.sizeCache
  1911  			case 2:
  1912  				return &v.unknownFields
  1913  			default:
  1914  				return nil
  1915  			}
  1916  		}
  1917  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  1918  			switch v := v.(*GrpcRoute_FaultInjectionPolicy_Delay); i {
  1919  			case 0:
  1920  				return &v.state
  1921  			case 1:
  1922  				return &v.sizeCache
  1923  			case 2:
  1924  				return &v.unknownFields
  1925  			default:
  1926  				return nil
  1927  			}
  1928  		}
  1929  		file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  1930  			switch v := v.(*GrpcRoute_FaultInjectionPolicy_Abort); i {
  1931  			case 0:
  1932  				return &v.state
  1933  			case 1:
  1934  				return &v.sizeCache
  1935  			case 2:
  1936  				return &v.unknownFields
  1937  			default:
  1938  				return nil
  1939  			}
  1940  		}
  1941  	}
  1942  	file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[7].OneofWrappers = []interface{}{}
  1943  	file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[9].OneofWrappers = []interface{}{}
  1944  	file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[10].OneofWrappers = []interface{}{
  1945  		(*GrpcRoute_Destination_ServiceName)(nil),
  1946  	}
  1947  	file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[11].OneofWrappers = []interface{}{}
  1948  	file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[16].OneofWrappers = []interface{}{}
  1949  	file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes[17].OneofWrappers = []interface{}{}
  1950  	type x struct{}
  1951  	out := protoimpl.TypeBuilder{
  1952  		File: protoimpl.DescBuilder{
  1953  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1954  			RawDescriptor: file_google_cloud_networkservices_v1_grpc_route_proto_rawDesc,
  1955  			NumEnums:      2,
  1956  			NumMessages:   18,
  1957  			NumExtensions: 0,
  1958  			NumServices:   0,
  1959  		},
  1960  		GoTypes:           file_google_cloud_networkservices_v1_grpc_route_proto_goTypes,
  1961  		DependencyIndexes: file_google_cloud_networkservices_v1_grpc_route_proto_depIdxs,
  1962  		EnumInfos:         file_google_cloud_networkservices_v1_grpc_route_proto_enumTypes,
  1963  		MessageInfos:      file_google_cloud_networkservices_v1_grpc_route_proto_msgTypes,
  1964  	}.Build()
  1965  	File_google_cloud_networkservices_v1_grpc_route_proto = out.File
  1966  	file_google_cloud_networkservices_v1_grpc_route_proto_rawDesc = nil
  1967  	file_google_cloud_networkservices_v1_grpc_route_proto_goTypes = nil
  1968  	file_google_cloud_networkservices_v1_grpc_route_proto_depIdxs = nil
  1969  }
  1970  

View as plain text