blob: 33f105f116d29ccbf262cd5234857ba7d43d6181 [file] [log] [blame]
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.21.9
// source: google/cloud/networkconnectivity/v1/policy_based_routing.proto
package networkconnectivitypb
import (
context "context"
reflect "reflect"
sync "sync"
longrunning "cloud.google.com/go/longrunning/autogen/longrunningpb"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The internet protocol version.
type PolicyBasedRoute_Filter_ProtocolVersion int32
const (
// Default value.
PolicyBasedRoute_Filter_PROTOCOL_VERSION_UNSPECIFIED PolicyBasedRoute_Filter_ProtocolVersion = 0
// The PBR is for IPv4 internet protocol traffic.
PolicyBasedRoute_Filter_IPV4 PolicyBasedRoute_Filter_ProtocolVersion = 1
)
// Enum value maps for PolicyBasedRoute_Filter_ProtocolVersion.
var (
PolicyBasedRoute_Filter_ProtocolVersion_name = map[int32]string{
0: "PROTOCOL_VERSION_UNSPECIFIED",
1: "IPV4",
}
PolicyBasedRoute_Filter_ProtocolVersion_value = map[string]int32{
"PROTOCOL_VERSION_UNSPECIFIED": 0,
"IPV4": 1,
}
)
func (x PolicyBasedRoute_Filter_ProtocolVersion) Enum() *PolicyBasedRoute_Filter_ProtocolVersion {
p := new(PolicyBasedRoute_Filter_ProtocolVersion)
*p = x
return p
}
func (x PolicyBasedRoute_Filter_ProtocolVersion) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PolicyBasedRoute_Filter_ProtocolVersion) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_enumTypes[0].Descriptor()
}
func (PolicyBasedRoute_Filter_ProtocolVersion) Type() protoreflect.EnumType {
return &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_enumTypes[0]
}
func (x PolicyBasedRoute_Filter_ProtocolVersion) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PolicyBasedRoute_Filter_ProtocolVersion.Descriptor instead.
func (PolicyBasedRoute_Filter_ProtocolVersion) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0, 2, 0}
}
// Warning code for Policy Based Routing. Expect to add values in the
// future.
type PolicyBasedRoute_Warnings_Code int32
const (
// Default value.
PolicyBasedRoute_Warnings_WARNING_UNSPECIFIED PolicyBasedRoute_Warnings_Code = 0
// The policy based route is not active and functioning. Common causes are
// the dependent network was deleted or the resource project was turned
// off.
PolicyBasedRoute_Warnings_RESOURCE_NOT_ACTIVE PolicyBasedRoute_Warnings_Code = 1
// The policy based route is being modified (e.g. created/deleted) at this
// time.
PolicyBasedRoute_Warnings_RESOURCE_BEING_MODIFIED PolicyBasedRoute_Warnings_Code = 2
)
// Enum value maps for PolicyBasedRoute_Warnings_Code.
var (
PolicyBasedRoute_Warnings_Code_name = map[int32]string{
0: "WARNING_UNSPECIFIED",
1: "RESOURCE_NOT_ACTIVE",
2: "RESOURCE_BEING_MODIFIED",
}
PolicyBasedRoute_Warnings_Code_value = map[string]int32{
"WARNING_UNSPECIFIED": 0,
"RESOURCE_NOT_ACTIVE": 1,
"RESOURCE_BEING_MODIFIED": 2,
}
)
func (x PolicyBasedRoute_Warnings_Code) Enum() *PolicyBasedRoute_Warnings_Code {
p := new(PolicyBasedRoute_Warnings_Code)
*p = x
return p
}
func (x PolicyBasedRoute_Warnings_Code) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PolicyBasedRoute_Warnings_Code) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_enumTypes[1].Descriptor()
}
func (PolicyBasedRoute_Warnings_Code) Type() protoreflect.EnumType {
return &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_enumTypes[1]
}
func (x PolicyBasedRoute_Warnings_Code) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PolicyBasedRoute_Warnings_Code.Descriptor instead.
func (PolicyBasedRoute_Warnings_Code) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0, 3, 0}
}
// Policy Based Routes (PBR) are more powerful routes that allows GCP customers
// to route their L4 network traffic based on not just destination IP, but also
// source IP, protocol and more. A PBR always take precedence when it conflicts
// with other types of routes.
// Next id: 19
type PolicyBasedRoute struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Target specifies network endpoints to which this policy based route applies
// to. If none of the target is specified, the PBR will be installed on all
// network endpoints (e.g. VMs, VPNs, and Interconnects) in the VPC.
//
// Types that are assignable to Target:
//
// *PolicyBasedRoute_VirtualMachine_
// *PolicyBasedRoute_InterconnectAttachment_
Target isPolicyBasedRoute_Target `protobuf_oneof:"target"`
// Types that are assignable to NextHop:
//
// *PolicyBasedRoute_NextHopIlbIp
NextHop isPolicyBasedRoute_NextHop `protobuf_oneof:"next_hop"`
// Immutable. A unique name of the resource in the form of
// `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. Time when the PolicyBasedRoute was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. Time when the PolicyBasedRoute was updated.
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// User-defined labels.
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"`
// Optional. An optional description of this resource. Provide this field when you
// create the resource.
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
// Required. Fully-qualified URL of the network that this route applies to. e.g.
// projects/my-project/global/networks/my-network.
Network string `protobuf:"bytes,6,opt,name=network,proto3" json:"network,omitempty"`
// Required. The filter to match L4 traffic.
Filter *PolicyBasedRoute_Filter `protobuf:"bytes,10,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. The priority of this policy based route. Priority is used to break ties in
// cases where there are more than one matching policy based routes found. In
// cases where multiple policy based routes are matched, the one with the
// lowest-numbered priority value wins. The default value is 1000. The
// priority value must be from 1 to 65535, inclusive.
Priority int32 `protobuf:"varint,11,opt,name=priority,proto3" json:"priority,omitempty"`
// Output only. If potential misconfigurations are detected for this route,
// this field will be populated with warning messages.
Warnings []*PolicyBasedRoute_Warnings `protobuf:"bytes,14,rep,name=warnings,proto3" json:"warnings,omitempty"`
// Output only. Server-defined fully-qualified URL for this resource.
SelfLink string `protobuf:"bytes,15,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
// Output only. Type of this resource. Always networkconnectivity#policyBasedRoute for
// Policy Based Route resources.
Kind string `protobuf:"bytes,16,opt,name=kind,proto3" json:"kind,omitempty"`
}
func (x *PolicyBasedRoute) Reset() {
*x = PolicyBasedRoute{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PolicyBasedRoute) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PolicyBasedRoute) ProtoMessage() {}
func (x *PolicyBasedRoute) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PolicyBasedRoute.ProtoReflect.Descriptor instead.
func (*PolicyBasedRoute) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0}
}
func (m *PolicyBasedRoute) GetTarget() isPolicyBasedRoute_Target {
if m != nil {
return m.Target
}
return nil
}
func (x *PolicyBasedRoute) GetVirtualMachine() *PolicyBasedRoute_VirtualMachine {
if x, ok := x.GetTarget().(*PolicyBasedRoute_VirtualMachine_); ok {
return x.VirtualMachine
}
return nil
}
func (x *PolicyBasedRoute) GetInterconnectAttachment() *PolicyBasedRoute_InterconnectAttachment {
if x, ok := x.GetTarget().(*PolicyBasedRoute_InterconnectAttachment_); ok {
return x.InterconnectAttachment
}
return nil
}
func (m *PolicyBasedRoute) GetNextHop() isPolicyBasedRoute_NextHop {
if m != nil {
return m.NextHop
}
return nil
}
func (x *PolicyBasedRoute) GetNextHopIlbIp() string {
if x, ok := x.GetNextHop().(*PolicyBasedRoute_NextHopIlbIp); ok {
return x.NextHopIlbIp
}
return ""
}
func (x *PolicyBasedRoute) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PolicyBasedRoute) GetCreateTime() *timestamppb.Timestamp {
if x != nil {
return x.CreateTime
}
return nil
}
func (x *PolicyBasedRoute) GetUpdateTime() *timestamppb.Timestamp {
if x != nil {
return x.UpdateTime
}
return nil
}
func (x *PolicyBasedRoute) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *PolicyBasedRoute) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *PolicyBasedRoute) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
func (x *PolicyBasedRoute) GetFilter() *PolicyBasedRoute_Filter {
if x != nil {
return x.Filter
}
return nil
}
func (x *PolicyBasedRoute) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
func (x *PolicyBasedRoute) GetWarnings() []*PolicyBasedRoute_Warnings {
if x != nil {
return x.Warnings
}
return nil
}
func (x *PolicyBasedRoute) GetSelfLink() string {
if x != nil {
return x.SelfLink
}
return ""
}
func (x *PolicyBasedRoute) GetKind() string {
if x != nil {
return x.Kind
}
return ""
}
type isPolicyBasedRoute_Target interface {
isPolicyBasedRoute_Target()
}
type PolicyBasedRoute_VirtualMachine_ struct {
// Optional. VM instances to which this policy based route applies to.
VirtualMachine *PolicyBasedRoute_VirtualMachine `protobuf:"bytes,18,opt,name=virtual_machine,json=virtualMachine,proto3,oneof"`
}
type PolicyBasedRoute_InterconnectAttachment_ struct {
// Optional. The interconnect attachments to which this route applies to.
InterconnectAttachment *PolicyBasedRoute_InterconnectAttachment `protobuf:"bytes,9,opt,name=interconnect_attachment,json=interconnectAttachment,proto3,oneof"`
}
func (*PolicyBasedRoute_VirtualMachine_) isPolicyBasedRoute_Target() {}
func (*PolicyBasedRoute_InterconnectAttachment_) isPolicyBasedRoute_Target() {}
type isPolicyBasedRoute_NextHop interface {
isPolicyBasedRoute_NextHop()
}
type PolicyBasedRoute_NextHopIlbIp struct {
// Optional. The IP of a global access enabled L4 ILB that should be the next hop to
// handle matching packets. For this version, only next_hop_ilb_ip is
// supported.
NextHopIlbIp string `protobuf:"bytes,12,opt,name=next_hop_ilb_ip,json=nextHopIlbIp,proto3,oneof"`
}
func (*PolicyBasedRoute_NextHopIlbIp) isPolicyBasedRoute_NextHop() {}
// Request for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
type ListPolicyBasedRoutesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent resource's name.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of results per page that should be returned.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// A filter expression that filters the results listed in the response.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// Sort the results by a certain order.
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
}
func (x *ListPolicyBasedRoutesRequest) Reset() {
*x = ListPolicyBasedRoutesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListPolicyBasedRoutesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListPolicyBasedRoutesRequest) ProtoMessage() {}
func (x *ListPolicyBasedRoutesRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListPolicyBasedRoutesRequest.ProtoReflect.Descriptor instead.
func (*ListPolicyBasedRoutesRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{1}
}
func (x *ListPolicyBasedRoutesRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListPolicyBasedRoutesRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListPolicyBasedRoutesRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListPolicyBasedRoutesRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *ListPolicyBasedRoutesRequest) GetOrderBy() string {
if x != nil {
return x.OrderBy
}
return ""
}
// Response for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
type ListPolicyBasedRoutesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Policy based routes to be returned.
PolicyBasedRoutes []*PolicyBasedRoute `protobuf:"bytes,1,rep,name=policy_based_routes,json=policyBasedRoutes,proto3" json:"policy_based_routes,omitempty"`
// The next pagination token in the List response. It should be used as
// page_token for the following request. An empty value means no more result.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// Locations that could not be reached.
Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
}
func (x *ListPolicyBasedRoutesResponse) Reset() {
*x = ListPolicyBasedRoutesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListPolicyBasedRoutesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListPolicyBasedRoutesResponse) ProtoMessage() {}
func (x *ListPolicyBasedRoutesResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListPolicyBasedRoutesResponse.ProtoReflect.Descriptor instead.
func (*ListPolicyBasedRoutesResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{2}
}
func (x *ListPolicyBasedRoutesResponse) GetPolicyBasedRoutes() []*PolicyBasedRoute {
if x != nil {
return x.PolicyBasedRoutes
}
return nil
}
func (x *ListPolicyBasedRoutesResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
func (x *ListPolicyBasedRoutesResponse) GetUnreachable() []string {
if x != nil {
return x.Unreachable
}
return nil
}
// Request for [PolicyBasedRouting.GetPolicyBasedRoute][] method.
type GetPolicyBasedRouteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Name of the PolicyBasedRoute resource to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetPolicyBasedRouteRequest) Reset() {
*x = GetPolicyBasedRouteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetPolicyBasedRouteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetPolicyBasedRouteRequest) ProtoMessage() {}
func (x *GetPolicyBasedRouteRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetPolicyBasedRouteRequest.ProtoReflect.Descriptor instead.
func (*GetPolicyBasedRouteRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{3}
}
func (x *GetPolicyBasedRouteRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for [PolicyBasedRouting.CreatePolicyBasedRoute][] method.
type CreatePolicyBasedRouteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent resource's name of the PolicyBasedRoute.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Unique id for the Policy Based Route to create.
PolicyBasedRouteId string `protobuf:"bytes,2,opt,name=policy_based_route_id,json=policyBasedRouteId,proto3" json:"policy_based_route_id,omitempty"`
// Required. Initial values for a new Policy Based Route.
PolicyBasedRoute *PolicyBasedRoute `protobuf:"bytes,3,opt,name=policy_based_route,json=policyBasedRoute,proto3" json:"policy_based_route,omitempty"`
// Optional. An optional request ID to identify requests. Specify a unique request ID
// so that if you must retry your request, the server will know to ignore
// the request if it has already been completed. The server will guarantee
// that for at least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and t
// he request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
}
func (x *CreatePolicyBasedRouteRequest) Reset() {
*x = CreatePolicyBasedRouteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreatePolicyBasedRouteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreatePolicyBasedRouteRequest) ProtoMessage() {}
func (x *CreatePolicyBasedRouteRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreatePolicyBasedRouteRequest.ProtoReflect.Descriptor instead.
func (*CreatePolicyBasedRouteRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{4}
}
func (x *CreatePolicyBasedRouteRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreatePolicyBasedRouteRequest) GetPolicyBasedRouteId() string {
if x != nil {
return x.PolicyBasedRouteId
}
return ""
}
func (x *CreatePolicyBasedRouteRequest) GetPolicyBasedRoute() *PolicyBasedRoute {
if x != nil {
return x.PolicyBasedRoute
}
return nil
}
func (x *CreatePolicyBasedRouteRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
// Request for [PolicyBasedRouting.DeletePolicyBasedRoute][] method.
type DeletePolicyBasedRouteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. Name of the PolicyBasedRoute resource to delete.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. An optional request ID to identify requests. Specify a unique request ID
// so that if you must retry your request, the server will know to ignore
// the request if it has already been completed. The server will guarantee
// that for at least 60 minutes after the first request.
//
// For example, consider a situation where you make an initial request and t
// he request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
}
func (x *DeletePolicyBasedRouteRequest) Reset() {
*x = DeletePolicyBasedRouteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeletePolicyBasedRouteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeletePolicyBasedRouteRequest) ProtoMessage() {}
func (x *DeletePolicyBasedRouteRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeletePolicyBasedRouteRequest.ProtoReflect.Descriptor instead.
func (*DeletePolicyBasedRouteRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{5}
}
func (x *DeletePolicyBasedRouteRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DeletePolicyBasedRouteRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
// VM instances to which this policy based route applies to.
type PolicyBasedRoute_VirtualMachine struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Optional. A list of VM instance tags to which this policy based route applies to.
// VM instances that have ANY of tags specified here will install this
// PBR.
Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
}
func (x *PolicyBasedRoute_VirtualMachine) Reset() {
*x = PolicyBasedRoute_VirtualMachine{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PolicyBasedRoute_VirtualMachine) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PolicyBasedRoute_VirtualMachine) ProtoMessage() {}
func (x *PolicyBasedRoute_VirtualMachine) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PolicyBasedRoute_VirtualMachine.ProtoReflect.Descriptor instead.
func (*PolicyBasedRoute_VirtualMachine) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0, 0}
}
func (x *PolicyBasedRoute_VirtualMachine) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
// InterconnectAttachment to which this route applies to.
type PolicyBasedRoute_InterconnectAttachment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Optional. Cloud region to install this policy based route on interconnect
// attachment. Use `all` to install it on all interconnect attachments.
Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
}
func (x *PolicyBasedRoute_InterconnectAttachment) Reset() {
*x = PolicyBasedRoute_InterconnectAttachment{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PolicyBasedRoute_InterconnectAttachment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PolicyBasedRoute_InterconnectAttachment) ProtoMessage() {}
func (x *PolicyBasedRoute_InterconnectAttachment) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PolicyBasedRoute_InterconnectAttachment.ProtoReflect.Descriptor instead.
func (*PolicyBasedRoute_InterconnectAttachment) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0, 1}
}
func (x *PolicyBasedRoute_InterconnectAttachment) GetRegion() string {
if x != nil {
return x.Region
}
return ""
}
// Filter matches L4 traffic.
type PolicyBasedRoute_Filter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Optional. The IP protocol that this policy based route applies to. Valid values are
// 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
IpProtocol string `protobuf:"bytes,1,opt,name=ip_protocol,json=ipProtocol,proto3" json:"ip_protocol,omitempty"`
// Optional. The source IP range of outgoing packets that this policy based route
// applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
SrcRange string `protobuf:"bytes,2,opt,name=src_range,json=srcRange,proto3" json:"src_range,omitempty"`
// Optional. The destination IP range of outgoing packets that this policy based route
// applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
DestRange string `protobuf:"bytes,3,opt,name=dest_range,json=destRange,proto3" json:"dest_range,omitempty"`
// Required. Internet protocol versions this policy based route applies to. For this
// version, only IPV4 is supported.
ProtocolVersion PolicyBasedRoute_Filter_ProtocolVersion `protobuf:"varint,6,opt,name=protocol_version,json=protocolVersion,proto3,enum=google.cloud.networkconnectivity.v1.PolicyBasedRoute_Filter_ProtocolVersion" json:"protocol_version,omitempty"`
}
func (x *PolicyBasedRoute_Filter) Reset() {
*x = PolicyBasedRoute_Filter{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PolicyBasedRoute_Filter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PolicyBasedRoute_Filter) ProtoMessage() {}
func (x *PolicyBasedRoute_Filter) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PolicyBasedRoute_Filter.ProtoReflect.Descriptor instead.
func (*PolicyBasedRoute_Filter) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0, 2}
}
func (x *PolicyBasedRoute_Filter) GetIpProtocol() string {
if x != nil {
return x.IpProtocol
}
return ""
}
func (x *PolicyBasedRoute_Filter) GetSrcRange() string {
if x != nil {
return x.SrcRange
}
return ""
}
func (x *PolicyBasedRoute_Filter) GetDestRange() string {
if x != nil {
return x.DestRange
}
return ""
}
func (x *PolicyBasedRoute_Filter) GetProtocolVersion() PolicyBasedRoute_Filter_ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return PolicyBasedRoute_Filter_PROTOCOL_VERSION_UNSPECIFIED
}
// Informational warning message.
type PolicyBasedRoute_Warnings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. A warning code, if applicable.
Code PolicyBasedRoute_Warnings_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.networkconnectivity.v1.PolicyBasedRoute_Warnings_Code" json:"code,omitempty"`
// Output only. Metadata about this warning in key: value format. The key should provides
// more detail on the warning being returned. For example, for warnings
// where there are no results in a list request for a particular zone, this
// key might be scope and the key value might be the zone name. Other
// examples might be a key indicating a deprecated resource and a suggested
// replacement.
Data map[string]string `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Output only. A human-readable description of the warning code.
WarningMessage string `protobuf:"bytes,3,opt,name=warning_message,json=warningMessage,proto3" json:"warning_message,omitempty"`
}
func (x *PolicyBasedRoute_Warnings) Reset() {
*x = PolicyBasedRoute_Warnings{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PolicyBasedRoute_Warnings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PolicyBasedRoute_Warnings) ProtoMessage() {}
func (x *PolicyBasedRoute_Warnings) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PolicyBasedRoute_Warnings.ProtoReflect.Descriptor instead.
func (*PolicyBasedRoute_Warnings) Descriptor() ([]byte, []int) {
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP(), []int{0, 3}
}
func (x *PolicyBasedRoute_Warnings) GetCode() PolicyBasedRoute_Warnings_Code {
if x != nil {
return x.Code
}
return PolicyBasedRoute_Warnings_WARNING_UNSPECIFIED
}
func (x *PolicyBasedRoute_Warnings) GetData() map[string]string {
if x != nil {
return x.Data
}
return nil
}
func (x *PolicyBasedRoute_Warnings) GetWarningMessage() string {
if x != nil {
return x.WarningMessage
}
return ""
}
var File_google_cloud_networkconnectivity_v1_policy_based_routing_proto protoreflect.FileDescriptor
var file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDesc = []byte{
0x0a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x62, 0x61, 0x73,
0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62,
0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba,
0x0f, 0x0a, 0x10, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f,
0x75, 0x74, 0x65, 0x12, 0x74, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6d,
0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f,
0x75, 0x74, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69,
0x6e, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75,
0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x17, 0x69, 0x6e,
0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63,
0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76,
0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75,
0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41,
0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74,
0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6c, 0x62, 0x5f, 0x69, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f,
0x70, 0x49, 0x6c, 0x62, 0x49, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x25,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e,
0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x59, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
0x65, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72,
0x69, 0x74, 0x79, 0x12, 0x5f, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18,
0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x61, 0x72,
0x6e, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e,
0x69, 0x6e, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e,
0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73, 0x65,
0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x10,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a,
0x29, 0x0a, 0x0e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e,
0x65, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42,
0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x35, 0x0a, 0x16, 0x49, 0x6e,
0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68,
0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x1a, 0xb1, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0b,
0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x73, 0x72, 0x63, 0x52,
0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e,
0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x64,
0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x7c, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42,
0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f,
0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49,
0x50, 0x56, 0x34, 0x10, 0x01, 0x1a, 0x89, 0x03, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e,
0x67, 0x73, 0x12, 0x5c, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73,
0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73,
0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x12, 0x61, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64,
0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x44,
0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x64,
0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
0x03, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x04, 0x43, 0x6f,
0x64, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e,
0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52,
0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49,
0x56, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
0x5f, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
0x02, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x86, 0x01, 0xea,
0x41, 0x82, 0x01, 0x0a, 0x33, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61,
0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7b, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73,
0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72,
0x6f, 0x75, 0x74, 0x65, 0x7d, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42,
0x0a, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x22, 0xd0, 0x01, 0x0a, 0x1c,
0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52,
0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c,
0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xd0,
0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73,
0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x65, 0x0a, 0x13, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64,
0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52,
0x6f, 0x75, 0x74, 0x65, 0x52, 0x11, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65,
0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c,
0x65, 0x22, 0x6d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61,
0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x4f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0,
0x41, 0x02, 0xfa, 0x41, 0x35, 0x0a, 0x33, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x22, 0xa8, 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x15, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f,
0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x70, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x68, 0x0a,
0x12, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f,
0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73,
0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x1d,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65,
0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02,
0xfa, 0x41, 0x35, 0x0a, 0x33, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61,
0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22,
0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x49, 0x64, 0x32, 0xe3, 0x08, 0x0a, 0x19, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73,
0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0xeb, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42,
0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64,
0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61,
0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62,
0x61, 0x6c, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52,
0x6f, 0x75, 0x74, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd8,
0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65,
0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e,
0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x49,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f,
0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xae, 0x02, 0x0a, 0x16, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52,
0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50,
0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x12, 0x70, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
0xda, 0x41, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2c, 0x70, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f,
0x69, 0x64, 0xca, 0x41, 0x25, 0x0a, 0x10, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73,
0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf3, 0x01, 0x0a, 0x16, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64,
0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75,
0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c,
0x2a, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61,
0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x1a, 0x56, 0xca, 0x41, 0x22, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x91, 0x02, 0x0a, 0x27, 0x63, 0x6f, 0x6d,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65,
0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x56, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0xaa, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x23,
0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x5c, 0x56, 0x31, 0xea, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c,
0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescOnce sync.Once
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescData = file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDesc
)
func file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescGZIP() []byte {
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescOnce.Do(func() {
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescData)
})
return file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDescData
}
var file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_goTypes = []interface{}{
(PolicyBasedRoute_Filter_ProtocolVersion)(0), // 0: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion
(PolicyBasedRoute_Warnings_Code)(0), // 1: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code
(*PolicyBasedRoute)(nil), // 2: google.cloud.networkconnectivity.v1.PolicyBasedRoute
(*ListPolicyBasedRoutesRequest)(nil), // 3: google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
(*ListPolicyBasedRoutesResponse)(nil), // 4: google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
(*GetPolicyBasedRouteRequest)(nil), // 5: google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
(*CreatePolicyBasedRouteRequest)(nil), // 6: google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
(*DeletePolicyBasedRouteRequest)(nil), // 7: google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
(*PolicyBasedRoute_VirtualMachine)(nil), // 8: google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
(*PolicyBasedRoute_InterconnectAttachment)(nil), // 9: google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
(*PolicyBasedRoute_Filter)(nil), // 10: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
(*PolicyBasedRoute_Warnings)(nil), // 11: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
nil, // 12: google.cloud.networkconnectivity.v1.PolicyBasedRoute.LabelsEntry
nil, // 13: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.DataEntry
(*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
(*longrunning.Operation)(nil), // 15: google.longrunning.Operation
}
var file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_depIdxs = []int32{
8, // 0: google.cloud.networkconnectivity.v1.PolicyBasedRoute.virtual_machine:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
9, // 1: google.cloud.networkconnectivity.v1.PolicyBasedRoute.interconnect_attachment:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
14, // 2: google.cloud.networkconnectivity.v1.PolicyBasedRoute.create_time:type_name -> google.protobuf.Timestamp
14, // 3: google.cloud.networkconnectivity.v1.PolicyBasedRoute.update_time:type_name -> google.protobuf.Timestamp
12, // 4: google.cloud.networkconnectivity.v1.PolicyBasedRoute.labels:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.LabelsEntry
10, // 5: google.cloud.networkconnectivity.v1.PolicyBasedRoute.filter:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
11, // 6: google.cloud.networkconnectivity.v1.PolicyBasedRoute.warnings:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
2, // 7: google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.policy_based_routes:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute
2, // 8: google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest.policy_based_route:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute
0, // 9: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.protocol_version:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion
1, // 10: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.code:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code
13, // 11: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.data:type_name -> google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.DataEntry
3, // 12: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.ListPolicyBasedRoutes:input_type -> google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
5, // 13: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.GetPolicyBasedRoute:input_type -> google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
6, // 14: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.CreatePolicyBasedRoute:input_type -> google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
7, // 15: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.DeletePolicyBasedRoute:input_type -> google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
4, // 16: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.ListPolicyBasedRoutes:output_type -> google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
2, // 17: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.GetPolicyBasedRoute:output_type -> google.cloud.networkconnectivity.v1.PolicyBasedRoute
15, // 18: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.CreatePolicyBasedRoute:output_type -> google.longrunning.Operation
15, // 19: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.DeletePolicyBasedRoute:output_type -> google.longrunning.Operation
16, // [16:20] is the sub-list for method output_type
12, // [12:16] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_init() }
func file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_init() {
if File_google_cloud_networkconnectivity_v1_policy_based_routing_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PolicyBasedRoute); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListPolicyBasedRoutesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListPolicyBasedRoutesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetPolicyBasedRouteRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreatePolicyBasedRouteRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeletePolicyBasedRouteRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PolicyBasedRoute_VirtualMachine); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PolicyBasedRoute_InterconnectAttachment); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PolicyBasedRoute_Filter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PolicyBasedRoute_Warnings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes[0].OneofWrappers = []interface{}{
(*PolicyBasedRoute_VirtualMachine_)(nil),
(*PolicyBasedRoute_InterconnectAttachment_)(nil),
(*PolicyBasedRoute_NextHopIlbIp)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDesc,
NumEnums: 2,
NumMessages: 12,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_goTypes,
DependencyIndexes: file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_depIdxs,
EnumInfos: file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_enumTypes,
MessageInfos: file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_msgTypes,
}.Build()
File_google_cloud_networkconnectivity_v1_policy_based_routing_proto = out.File
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_rawDesc = nil
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_goTypes = nil
file_google_cloud_networkconnectivity_v1_policy_based_routing_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// PolicyBasedRoutingServiceClient is the client API for PolicyBasedRoutingService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type PolicyBasedRoutingServiceClient interface {
// Lists PolicyBasedRoutes in a given project and location.
ListPolicyBasedRoutes(ctx context.Context, in *ListPolicyBasedRoutesRequest, opts ...grpc.CallOption) (*ListPolicyBasedRoutesResponse, error)
// Gets details of a single PolicyBasedRoute.
GetPolicyBasedRoute(ctx context.Context, in *GetPolicyBasedRouteRequest, opts ...grpc.CallOption) (*PolicyBasedRoute, error)
// Creates a new PolicyBasedRoute in a given project and location.
CreatePolicyBasedRoute(ctx context.Context, in *CreatePolicyBasedRouteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Deletes a single PolicyBasedRoute.
DeletePolicyBasedRoute(ctx context.Context, in *DeletePolicyBasedRouteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
}
type policyBasedRoutingServiceClient struct {
cc grpc.ClientConnInterface
}
func NewPolicyBasedRoutingServiceClient(cc grpc.ClientConnInterface) PolicyBasedRoutingServiceClient {
return &policyBasedRoutingServiceClient{cc}
}
func (c *policyBasedRoutingServiceClient) ListPolicyBasedRoutes(ctx context.Context, in *ListPolicyBasedRoutesRequest, opts ...grpc.CallOption) (*ListPolicyBasedRoutesResponse, error) {
out := new(ListPolicyBasedRoutesResponse)
err := c.cc.Invoke(ctx, "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/ListPolicyBasedRoutes", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *policyBasedRoutingServiceClient) GetPolicyBasedRoute(ctx context.Context, in *GetPolicyBasedRouteRequest, opts ...grpc.CallOption) (*PolicyBasedRoute, error) {
out := new(PolicyBasedRoute)
err := c.cc.Invoke(ctx, "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/GetPolicyBasedRoute", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *policyBasedRoutingServiceClient) CreatePolicyBasedRoute(ctx context.Context, in *CreatePolicyBasedRouteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/CreatePolicyBasedRoute", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *policyBasedRoutingServiceClient) DeletePolicyBasedRoute(ctx context.Context, in *DeletePolicyBasedRouteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/DeletePolicyBasedRoute", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// PolicyBasedRoutingServiceServer is the server API for PolicyBasedRoutingService service.
type PolicyBasedRoutingServiceServer interface {
// Lists PolicyBasedRoutes in a given project and location.
ListPolicyBasedRoutes(context.Context, *ListPolicyBasedRoutesRequest) (*ListPolicyBasedRoutesResponse, error)
// Gets details of a single PolicyBasedRoute.
GetPolicyBasedRoute(context.Context, *GetPolicyBasedRouteRequest) (*PolicyBasedRoute, error)
// Creates a new PolicyBasedRoute in a given project and location.
CreatePolicyBasedRoute(context.Context, *CreatePolicyBasedRouteRequest) (*longrunning.Operation, error)
// Deletes a single PolicyBasedRoute.
DeletePolicyBasedRoute(context.Context, *DeletePolicyBasedRouteRequest) (*longrunning.Operation, error)
}
// UnimplementedPolicyBasedRoutingServiceServer can be embedded to have forward compatible implementations.
type UnimplementedPolicyBasedRoutingServiceServer struct {
}
func (*UnimplementedPolicyBasedRoutingServiceServer) ListPolicyBasedRoutes(context.Context, *ListPolicyBasedRoutesRequest) (*ListPolicyBasedRoutesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListPolicyBasedRoutes not implemented")
}
func (*UnimplementedPolicyBasedRoutingServiceServer) GetPolicyBasedRoute(context.Context, *GetPolicyBasedRouteRequest) (*PolicyBasedRoute, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetPolicyBasedRoute not implemented")
}
func (*UnimplementedPolicyBasedRoutingServiceServer) CreatePolicyBasedRoute(context.Context, *CreatePolicyBasedRouteRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreatePolicyBasedRoute not implemented")
}
func (*UnimplementedPolicyBasedRoutingServiceServer) DeletePolicyBasedRoute(context.Context, *DeletePolicyBasedRouteRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeletePolicyBasedRoute not implemented")
}
func RegisterPolicyBasedRoutingServiceServer(s *grpc.Server, srv PolicyBasedRoutingServiceServer) {
s.RegisterService(&_PolicyBasedRoutingService_serviceDesc, srv)
}
func _PolicyBasedRoutingService_ListPolicyBasedRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPolicyBasedRoutesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PolicyBasedRoutingServiceServer).ListPolicyBasedRoutes(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/ListPolicyBasedRoutes",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PolicyBasedRoutingServiceServer).ListPolicyBasedRoutes(ctx, req.(*ListPolicyBasedRoutesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PolicyBasedRoutingService_GetPolicyBasedRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetPolicyBasedRouteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PolicyBasedRoutingServiceServer).GetPolicyBasedRoute(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/GetPolicyBasedRoute",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PolicyBasedRoutingServiceServer).GetPolicyBasedRoute(ctx, req.(*GetPolicyBasedRouteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PolicyBasedRoutingService_CreatePolicyBasedRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatePolicyBasedRouteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PolicyBasedRoutingServiceServer).CreatePolicyBasedRoute(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/CreatePolicyBasedRoute",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PolicyBasedRoutingServiceServer).CreatePolicyBasedRoute(ctx, req.(*CreatePolicyBasedRouteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PolicyBasedRoutingService_DeletePolicyBasedRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeletePolicyBasedRouteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PolicyBasedRoutingServiceServer).DeletePolicyBasedRoute(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.networkconnectivity.v1.PolicyBasedRoutingService/DeletePolicyBasedRoute",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PolicyBasedRoutingServiceServer).DeletePolicyBasedRoute(ctx, req.(*DeletePolicyBasedRouteRequest))
}
return interceptor(ctx, in, info, handler)
}
var _PolicyBasedRoutingService_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.networkconnectivity.v1.PolicyBasedRoutingService",
HandlerType: (*PolicyBasedRoutingServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListPolicyBasedRoutes",
Handler: _PolicyBasedRoutingService_ListPolicyBasedRoutes_Handler,
},
{
MethodName: "GetPolicyBasedRoute",
Handler: _PolicyBasedRoutingService_GetPolicyBasedRoute_Handler,
},
{
MethodName: "CreatePolicyBasedRoute",
Handler: _PolicyBasedRoutingService_CreatePolicyBasedRoute_Handler,
},
{
MethodName: "DeletePolicyBasedRoute",
Handler: _PolicyBasedRoutingService_DeletePolicyBasedRoute_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/networkconnectivity/v1/policy_based_routing.proto",
}