...

Source file src/cloud.google.com/go/resourcemanager/apiv3/resourcemanagerpb/tag_holds.pb.go

Documentation: cloud.google.com/go/resourcemanager/apiv3/resourcemanagerpb

     1  // Copyright 2023 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.33.0
    18  // 	protoc        v4.25.3
    19  // source: google/cloud/resourcemanager/v3/tag_holds.proto
    20  
    21  package resourcemanagerpb
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
    29  	_ "google.golang.org/genproto/googleapis/api/annotations"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	_ "google.golang.org/protobuf/types/known/emptypb"
    36  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    37  )
    38  
    39  const (
    40  	// Verify that this generated code is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    42  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    43  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    44  )
    45  
    46  // A TagHold represents the use of a TagValue that is not captured by
    47  // TagBindings. If a TagValue has any TagHolds, deletion will be blocked.
    48  // This resource is intended to be created in the same cloud location as the
    49  // `holder`.
    50  type TagHold struct {
    51  	state         protoimpl.MessageState
    52  	sizeCache     protoimpl.SizeCache
    53  	unknownFields protoimpl.UnknownFields
    54  
    55  	// Output only. The resource name of a TagHold. This is a String of the form:
    56  	// `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}`
    57  	// (e.g. `tagValues/123/tagHolds/456`). This resource name is generated by
    58  	// the server.
    59  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    60  	// Required. The name of the resource where the TagValue is being used. Must
    61  	// be less than 200 characters. E.g.
    62  	// `//compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group`
    63  	Holder string `protobuf:"bytes,2,opt,name=holder,proto3" json:"holder,omitempty"`
    64  	// Optional. An optional string representing the origin of this request. This
    65  	// field should include human-understandable information to distinguish
    66  	// origins from each other. Must be less than 200 characters. E.g.
    67  	// `migs-35678234`
    68  	Origin string `protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty"`
    69  	// Optional. A URL where an end user can learn more about removing this hold.
    70  	// E.g.
    71  	// `https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing`
    72  	HelpLink string `protobuf:"bytes,4,opt,name=help_link,json=helpLink,proto3" json:"help_link,omitempty"`
    73  	// Output only. The time this TagHold was created.
    74  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
    75  }
    76  
    77  func (x *TagHold) Reset() {
    78  	*x = TagHold{}
    79  	if protoimpl.UnsafeEnabled {
    80  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[0]
    81  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    82  		ms.StoreMessageInfo(mi)
    83  	}
    84  }
    85  
    86  func (x *TagHold) String() string {
    87  	return protoimpl.X.MessageStringOf(x)
    88  }
    89  
    90  func (*TagHold) ProtoMessage() {}
    91  
    92  func (x *TagHold) ProtoReflect() protoreflect.Message {
    93  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[0]
    94  	if protoimpl.UnsafeEnabled && x != nil {
    95  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    96  		if ms.LoadMessageInfo() == nil {
    97  			ms.StoreMessageInfo(mi)
    98  		}
    99  		return ms
   100  	}
   101  	return mi.MessageOf(x)
   102  }
   103  
   104  // Deprecated: Use TagHold.ProtoReflect.Descriptor instead.
   105  func (*TagHold) Descriptor() ([]byte, []int) {
   106  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{0}
   107  }
   108  
   109  func (x *TagHold) GetName() string {
   110  	if x != nil {
   111  		return x.Name
   112  	}
   113  	return ""
   114  }
   115  
   116  func (x *TagHold) GetHolder() string {
   117  	if x != nil {
   118  		return x.Holder
   119  	}
   120  	return ""
   121  }
   122  
   123  func (x *TagHold) GetOrigin() string {
   124  	if x != nil {
   125  		return x.Origin
   126  	}
   127  	return ""
   128  }
   129  
   130  func (x *TagHold) GetHelpLink() string {
   131  	if x != nil {
   132  		return x.HelpLink
   133  	}
   134  	return ""
   135  }
   136  
   137  func (x *TagHold) GetCreateTime() *timestamppb.Timestamp {
   138  	if x != nil {
   139  		return x.CreateTime
   140  	}
   141  	return nil
   142  }
   143  
   144  // The request message to create a TagHold.
   145  type CreateTagHoldRequest struct {
   146  	state         protoimpl.MessageState
   147  	sizeCache     protoimpl.SizeCache
   148  	unknownFields protoimpl.UnknownFields
   149  
   150  	// Required. The resource name of the TagHold's parent TagValue. Must be of
   151  	// the form: `tagValues/{tag-value-id}`.
   152  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   153  	// Required. The TagHold to be created.
   154  	TagHold *TagHold `protobuf:"bytes,2,opt,name=tag_hold,json=tagHold,proto3" json:"tag_hold,omitempty"`
   155  	// Optional. Set to true to perform the validations necessary for creating the
   156  	// resource, but not actually perform the action.
   157  	ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
   158  }
   159  
   160  func (x *CreateTagHoldRequest) Reset() {
   161  	*x = CreateTagHoldRequest{}
   162  	if protoimpl.UnsafeEnabled {
   163  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[1]
   164  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   165  		ms.StoreMessageInfo(mi)
   166  	}
   167  }
   168  
   169  func (x *CreateTagHoldRequest) String() string {
   170  	return protoimpl.X.MessageStringOf(x)
   171  }
   172  
   173  func (*CreateTagHoldRequest) ProtoMessage() {}
   174  
   175  func (x *CreateTagHoldRequest) ProtoReflect() protoreflect.Message {
   176  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[1]
   177  	if protoimpl.UnsafeEnabled && x != nil {
   178  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   179  		if ms.LoadMessageInfo() == nil {
   180  			ms.StoreMessageInfo(mi)
   181  		}
   182  		return ms
   183  	}
   184  	return mi.MessageOf(x)
   185  }
   186  
   187  // Deprecated: Use CreateTagHoldRequest.ProtoReflect.Descriptor instead.
   188  func (*CreateTagHoldRequest) Descriptor() ([]byte, []int) {
   189  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{1}
   190  }
   191  
   192  func (x *CreateTagHoldRequest) GetParent() string {
   193  	if x != nil {
   194  		return x.Parent
   195  	}
   196  	return ""
   197  }
   198  
   199  func (x *CreateTagHoldRequest) GetTagHold() *TagHold {
   200  	if x != nil {
   201  		return x.TagHold
   202  	}
   203  	return nil
   204  }
   205  
   206  func (x *CreateTagHoldRequest) GetValidateOnly() bool {
   207  	if x != nil {
   208  		return x.ValidateOnly
   209  	}
   210  	return false
   211  }
   212  
   213  // Runtime operation information for creating a TagHold.
   214  // (-- The metadata is currently empty, but may include information in the
   215  // future. --)
   216  type CreateTagHoldMetadata struct {
   217  	state         protoimpl.MessageState
   218  	sizeCache     protoimpl.SizeCache
   219  	unknownFields protoimpl.UnknownFields
   220  }
   221  
   222  func (x *CreateTagHoldMetadata) Reset() {
   223  	*x = CreateTagHoldMetadata{}
   224  	if protoimpl.UnsafeEnabled {
   225  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[2]
   226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   227  		ms.StoreMessageInfo(mi)
   228  	}
   229  }
   230  
   231  func (x *CreateTagHoldMetadata) String() string {
   232  	return protoimpl.X.MessageStringOf(x)
   233  }
   234  
   235  func (*CreateTagHoldMetadata) ProtoMessage() {}
   236  
   237  func (x *CreateTagHoldMetadata) ProtoReflect() protoreflect.Message {
   238  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[2]
   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 CreateTagHoldMetadata.ProtoReflect.Descriptor instead.
   250  func (*CreateTagHoldMetadata) Descriptor() ([]byte, []int) {
   251  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{2}
   252  }
   253  
   254  // The request message to delete a TagHold.
   255  type DeleteTagHoldRequest struct {
   256  	state         protoimpl.MessageState
   257  	sizeCache     protoimpl.SizeCache
   258  	unknownFields protoimpl.UnknownFields
   259  
   260  	// Required. The resource name of the TagHold to delete. Must be of the form:
   261  	// `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}`.
   262  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   263  	// Optional. Set to true to perform the validations necessary for deleting the
   264  	// resource, but not actually perform the action.
   265  	ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
   266  }
   267  
   268  func (x *DeleteTagHoldRequest) Reset() {
   269  	*x = DeleteTagHoldRequest{}
   270  	if protoimpl.UnsafeEnabled {
   271  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[3]
   272  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   273  		ms.StoreMessageInfo(mi)
   274  	}
   275  }
   276  
   277  func (x *DeleteTagHoldRequest) String() string {
   278  	return protoimpl.X.MessageStringOf(x)
   279  }
   280  
   281  func (*DeleteTagHoldRequest) ProtoMessage() {}
   282  
   283  func (x *DeleteTagHoldRequest) ProtoReflect() protoreflect.Message {
   284  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[3]
   285  	if protoimpl.UnsafeEnabled && x != nil {
   286  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   287  		if ms.LoadMessageInfo() == nil {
   288  			ms.StoreMessageInfo(mi)
   289  		}
   290  		return ms
   291  	}
   292  	return mi.MessageOf(x)
   293  }
   294  
   295  // Deprecated: Use DeleteTagHoldRequest.ProtoReflect.Descriptor instead.
   296  func (*DeleteTagHoldRequest) Descriptor() ([]byte, []int) {
   297  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{3}
   298  }
   299  
   300  func (x *DeleteTagHoldRequest) GetName() string {
   301  	if x != nil {
   302  		return x.Name
   303  	}
   304  	return ""
   305  }
   306  
   307  func (x *DeleteTagHoldRequest) GetValidateOnly() bool {
   308  	if x != nil {
   309  		return x.ValidateOnly
   310  	}
   311  	return false
   312  }
   313  
   314  // Runtime operation information for deleting a TagHold.
   315  // (-- The metadata is currently empty, but may include information in the
   316  // future. --)
   317  type DeleteTagHoldMetadata struct {
   318  	state         protoimpl.MessageState
   319  	sizeCache     protoimpl.SizeCache
   320  	unknownFields protoimpl.UnknownFields
   321  }
   322  
   323  func (x *DeleteTagHoldMetadata) Reset() {
   324  	*x = DeleteTagHoldMetadata{}
   325  	if protoimpl.UnsafeEnabled {
   326  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[4]
   327  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   328  		ms.StoreMessageInfo(mi)
   329  	}
   330  }
   331  
   332  func (x *DeleteTagHoldMetadata) String() string {
   333  	return protoimpl.X.MessageStringOf(x)
   334  }
   335  
   336  func (*DeleteTagHoldMetadata) ProtoMessage() {}
   337  
   338  func (x *DeleteTagHoldMetadata) ProtoReflect() protoreflect.Message {
   339  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[4]
   340  	if protoimpl.UnsafeEnabled && x != nil {
   341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   342  		if ms.LoadMessageInfo() == nil {
   343  			ms.StoreMessageInfo(mi)
   344  		}
   345  		return ms
   346  	}
   347  	return mi.MessageOf(x)
   348  }
   349  
   350  // Deprecated: Use DeleteTagHoldMetadata.ProtoReflect.Descriptor instead.
   351  func (*DeleteTagHoldMetadata) Descriptor() ([]byte, []int) {
   352  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{4}
   353  }
   354  
   355  // The request message for listing the TagHolds under a TagValue.
   356  type ListTagHoldsRequest struct {
   357  	state         protoimpl.MessageState
   358  	sizeCache     protoimpl.SizeCache
   359  	unknownFields protoimpl.UnknownFields
   360  
   361  	// Required. The resource name of the parent TagValue. Must be of the form:
   362  	// `tagValues/{tag-value-id}`.
   363  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   364  	// Optional. The maximum number of TagHolds to return in the response. The
   365  	// server allows a maximum of 300 TagHolds to return. If unspecified, the
   366  	// server will use 100 as the default.
   367  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   368  	// Optional. A pagination token returned from a previous call to
   369  	// `ListTagHolds` that indicates where this listing should continue from.
   370  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   371  	// Optional. Criteria used to select a subset of TagHolds parented by the
   372  	// TagValue to return. This field follows the syntax defined by aip.dev/160;
   373  	// the `holder` and `origin` fields are supported for filtering. Currently
   374  	// only `AND` syntax is supported. Some example queries are:
   375  	//
   376  	//   - `holder =
   377  	//     //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group`
   378  	//   - `origin = 35678234`
   379  	//   - `holder =
   380  	//     //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group
   381  	//     AND origin = 35678234`
   382  	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
   383  }
   384  
   385  func (x *ListTagHoldsRequest) Reset() {
   386  	*x = ListTagHoldsRequest{}
   387  	if protoimpl.UnsafeEnabled {
   388  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[5]
   389  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   390  		ms.StoreMessageInfo(mi)
   391  	}
   392  }
   393  
   394  func (x *ListTagHoldsRequest) String() string {
   395  	return protoimpl.X.MessageStringOf(x)
   396  }
   397  
   398  func (*ListTagHoldsRequest) ProtoMessage() {}
   399  
   400  func (x *ListTagHoldsRequest) ProtoReflect() protoreflect.Message {
   401  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[5]
   402  	if protoimpl.UnsafeEnabled && x != nil {
   403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   404  		if ms.LoadMessageInfo() == nil {
   405  			ms.StoreMessageInfo(mi)
   406  		}
   407  		return ms
   408  	}
   409  	return mi.MessageOf(x)
   410  }
   411  
   412  // Deprecated: Use ListTagHoldsRequest.ProtoReflect.Descriptor instead.
   413  func (*ListTagHoldsRequest) Descriptor() ([]byte, []int) {
   414  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{5}
   415  }
   416  
   417  func (x *ListTagHoldsRequest) GetParent() string {
   418  	if x != nil {
   419  		return x.Parent
   420  	}
   421  	return ""
   422  }
   423  
   424  func (x *ListTagHoldsRequest) GetPageSize() int32 {
   425  	if x != nil {
   426  		return x.PageSize
   427  	}
   428  	return 0
   429  }
   430  
   431  func (x *ListTagHoldsRequest) GetPageToken() string {
   432  	if x != nil {
   433  		return x.PageToken
   434  	}
   435  	return ""
   436  }
   437  
   438  func (x *ListTagHoldsRequest) GetFilter() string {
   439  	if x != nil {
   440  		return x.Filter
   441  	}
   442  	return ""
   443  }
   444  
   445  // The ListTagHolds response.
   446  type ListTagHoldsResponse struct {
   447  	state         protoimpl.MessageState
   448  	sizeCache     protoimpl.SizeCache
   449  	unknownFields protoimpl.UnknownFields
   450  
   451  	// A possibly paginated list of TagHolds.
   452  	TagHolds []*TagHold `protobuf:"bytes,1,rep,name=tag_holds,json=tagHolds,proto3" json:"tag_holds,omitempty"`
   453  	// Pagination token.
   454  	//
   455  	// If the result set is too large to fit in a single response, this token
   456  	// is returned. It encodes the position of the current result cursor.
   457  	// Feeding this value into a new list request with the `page_token` parameter
   458  	// gives the next page of the results.
   459  	//
   460  	// When `next_page_token` is not filled in, there is no next page and
   461  	// the list returned is the last page in the result set.
   462  	//
   463  	// Pagination tokens have a limited lifetime.
   464  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   465  }
   466  
   467  func (x *ListTagHoldsResponse) Reset() {
   468  	*x = ListTagHoldsResponse{}
   469  	if protoimpl.UnsafeEnabled {
   470  		mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[6]
   471  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   472  		ms.StoreMessageInfo(mi)
   473  	}
   474  }
   475  
   476  func (x *ListTagHoldsResponse) String() string {
   477  	return protoimpl.X.MessageStringOf(x)
   478  }
   479  
   480  func (*ListTagHoldsResponse) ProtoMessage() {}
   481  
   482  func (x *ListTagHoldsResponse) ProtoReflect() protoreflect.Message {
   483  	mi := &file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[6]
   484  	if protoimpl.UnsafeEnabled && x != nil {
   485  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   486  		if ms.LoadMessageInfo() == nil {
   487  			ms.StoreMessageInfo(mi)
   488  		}
   489  		return ms
   490  	}
   491  	return mi.MessageOf(x)
   492  }
   493  
   494  // Deprecated: Use ListTagHoldsResponse.ProtoReflect.Descriptor instead.
   495  func (*ListTagHoldsResponse) Descriptor() ([]byte, []int) {
   496  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP(), []int{6}
   497  }
   498  
   499  func (x *ListTagHoldsResponse) GetTagHolds() []*TagHold {
   500  	if x != nil {
   501  		return x.TagHolds
   502  	}
   503  	return nil
   504  }
   505  
   506  func (x *ListTagHoldsResponse) GetNextPageToken() string {
   507  	if x != nil {
   508  		return x.NextPageToken
   509  	}
   510  	return ""
   511  }
   512  
   513  var File_google_cloud_resourcemanager_v3_tag_holds_proto protoreflect.FileDescriptor
   514  
   515  var file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDesc = []byte{
   516  	0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
   517  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76,
   518  	0x33, 0x2f, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   519  	0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
   520  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e,
   521  	0x76, 0x33, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
   522  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   523  	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
   524  	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   525  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
   526  	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
   527  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
   528  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f,
   529  	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
   530  	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67,
   531  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74,
   532  	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   533  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
   534  	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x02, 0x0a, 0x07, 0x54, 0x61, 0x67,
   535  	0x48, 0x6f, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
   536  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
   537  	0x06, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
   538  	0x41, 0x02, 0x52, 0x06, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x72,
   539  	0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
   540  	0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x68, 0x65, 0x6c, 0x70, 0x5f,
   541  	0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
   542  	0x08, 0x68, 0x65, 0x6c, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65,
   543  	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
   544  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   545  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
   546  	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x5b, 0xea, 0x41, 0x58,
   547  	0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
   548  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
   549  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x29, 0x74,
   550  	0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61,
   551  	0x6c, 0x75, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x2f, 0x7b, 0x74,
   552  	0x61, 0x67, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x7d, 0x22, 0xd7, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65,
   553  	0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   554  	0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
   555  	0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   556  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e,
   557  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
   558  	0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48,
   559  	0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
   560  	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
   561  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e,
   562  	0x76, 0x33, 0x2e, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
   563  	0x07, 0x74, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69,
   564  	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42,
   565  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e,
   566  	0x6c, 0x79, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48,
   567  	0x6f, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x01, 0x0a, 0x14,
   568  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x71,
   569  	0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
   570  	0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75,
   571  	0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
   572  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
   573  	0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a,
   574  	0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02,
   575  	0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64,
   576  	0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74,
   577  	0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
   578  	0x22, 0xc5, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64,
   579  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
   580  	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d,
   581  	0x12, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
   582  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
   583  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x06, 0x70,
   584  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
   585  	0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70,
   586  	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
   587  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
   588  	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66,
   589  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
   590  	0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73,
   591  	0x74, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
   592  	0x65, 0x12, 0x45, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01,
   593  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   594  	0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61,
   595  	0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x08,
   596  	0x74, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
   597  	0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
   598  	0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
   599  	0x32, 0xec, 0x05, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0xcf, 0x01,
   600  	0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x12,
   601  	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
   602  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76,
   603  	0x33, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x52,
   604  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   605  	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
   606  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xca, 0x41, 0x20, 0x0a, 0x07, 0x54, 0x61, 0x67, 0x48,
   607  	0x6f, 0x6c, 0x64, 0x12, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f,
   608  	0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72,
   609  	0x65, 0x6e, 0x74, 0x2c, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x82, 0xd3, 0xe4, 0x93,
   610  	0x02, 0x2d, 0x3a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x21, 0x2f, 0x76,
   611  	0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c,
   612  	0x75, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x12,
   613  	0xc8, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c,
   614  	0x64, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   615  	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
   616  	0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c,
   617  	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   618  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
   619  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0xca, 0x41, 0x2e, 0x0a, 0x15, 0x67, 0x6f,
   620  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
   621  	0x70, 0x74, 0x79, 0x12, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x48, 0x6f,
   622  	0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
   623  	0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61,
   624  	0x6d, 0x65, 0x3d, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
   625  	0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x0c, 0x4c,
   626  	0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f,
   627  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
   628  	0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69,
   629  	0x73, 0x74, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   630  	0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   631  	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
   632  	0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73,
   633  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72,
   634  	0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x33, 0x2f, 0x7b,
   635  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
   636  	0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64, 0x73, 0x1a, 0x90, 0x01, 0xca,
   637  	0x41, 0x23, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
   638  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
   639  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
   640  	0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
   641  	0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c,
   642  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
   643  	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
   644  	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
   645  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42,
   646  	0xee, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
   647  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e,
   648  	0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x54, 0x61, 0x67, 0x48, 0x6f, 0x6c, 0x64,
   649  	0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
   650  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65,
   651  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70,
   652  	0x69, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61,
   653  	0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61,
   654  	0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   655  	0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d,
   656  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67,
   657  	0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   658  	0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, 0x56, 0x33, 0xea, 0x02, 0x22, 0x47, 0x6f,
   659  	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x73,
   660  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x33,
   661  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   662  }
   663  
   664  var (
   665  	file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescOnce sync.Once
   666  	file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescData = file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDesc
   667  )
   668  
   669  func file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescGZIP() []byte {
   670  	file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescOnce.Do(func() {
   671  		file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescData)
   672  	})
   673  	return file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDescData
   674  }
   675  
   676  var file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
   677  var file_google_cloud_resourcemanager_v3_tag_holds_proto_goTypes = []interface{}{
   678  	(*TagHold)(nil),                 // 0: google.cloud.resourcemanager.v3.TagHold
   679  	(*CreateTagHoldRequest)(nil),    // 1: google.cloud.resourcemanager.v3.CreateTagHoldRequest
   680  	(*CreateTagHoldMetadata)(nil),   // 2: google.cloud.resourcemanager.v3.CreateTagHoldMetadata
   681  	(*DeleteTagHoldRequest)(nil),    // 3: google.cloud.resourcemanager.v3.DeleteTagHoldRequest
   682  	(*DeleteTagHoldMetadata)(nil),   // 4: google.cloud.resourcemanager.v3.DeleteTagHoldMetadata
   683  	(*ListTagHoldsRequest)(nil),     // 5: google.cloud.resourcemanager.v3.ListTagHoldsRequest
   684  	(*ListTagHoldsResponse)(nil),    // 6: google.cloud.resourcemanager.v3.ListTagHoldsResponse
   685  	(*timestamppb.Timestamp)(nil),   // 7: google.protobuf.Timestamp
   686  	(*longrunningpb.Operation)(nil), // 8: google.longrunning.Operation
   687  }
   688  var file_google_cloud_resourcemanager_v3_tag_holds_proto_depIdxs = []int32{
   689  	7, // 0: google.cloud.resourcemanager.v3.TagHold.create_time:type_name -> google.protobuf.Timestamp
   690  	0, // 1: google.cloud.resourcemanager.v3.CreateTagHoldRequest.tag_hold:type_name -> google.cloud.resourcemanager.v3.TagHold
   691  	0, // 2: google.cloud.resourcemanager.v3.ListTagHoldsResponse.tag_holds:type_name -> google.cloud.resourcemanager.v3.TagHold
   692  	1, // 3: google.cloud.resourcemanager.v3.TagHolds.CreateTagHold:input_type -> google.cloud.resourcemanager.v3.CreateTagHoldRequest
   693  	3, // 4: google.cloud.resourcemanager.v3.TagHolds.DeleteTagHold:input_type -> google.cloud.resourcemanager.v3.DeleteTagHoldRequest
   694  	5, // 5: google.cloud.resourcemanager.v3.TagHolds.ListTagHolds:input_type -> google.cloud.resourcemanager.v3.ListTagHoldsRequest
   695  	8, // 6: google.cloud.resourcemanager.v3.TagHolds.CreateTagHold:output_type -> google.longrunning.Operation
   696  	8, // 7: google.cloud.resourcemanager.v3.TagHolds.DeleteTagHold:output_type -> google.longrunning.Operation
   697  	6, // 8: google.cloud.resourcemanager.v3.TagHolds.ListTagHolds:output_type -> google.cloud.resourcemanager.v3.ListTagHoldsResponse
   698  	6, // [6:9] is the sub-list for method output_type
   699  	3, // [3:6] is the sub-list for method input_type
   700  	3, // [3:3] is the sub-list for extension type_name
   701  	3, // [3:3] is the sub-list for extension extendee
   702  	0, // [0:3] is the sub-list for field type_name
   703  }
   704  
   705  func init() { file_google_cloud_resourcemanager_v3_tag_holds_proto_init() }
   706  func file_google_cloud_resourcemanager_v3_tag_holds_proto_init() {
   707  	if File_google_cloud_resourcemanager_v3_tag_holds_proto != nil {
   708  		return
   709  	}
   710  	if !protoimpl.UnsafeEnabled {
   711  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   712  			switch v := v.(*TagHold); i {
   713  			case 0:
   714  				return &v.state
   715  			case 1:
   716  				return &v.sizeCache
   717  			case 2:
   718  				return &v.unknownFields
   719  			default:
   720  				return nil
   721  			}
   722  		}
   723  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   724  			switch v := v.(*CreateTagHoldRequest); i {
   725  			case 0:
   726  				return &v.state
   727  			case 1:
   728  				return &v.sizeCache
   729  			case 2:
   730  				return &v.unknownFields
   731  			default:
   732  				return nil
   733  			}
   734  		}
   735  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   736  			switch v := v.(*CreateTagHoldMetadata); i {
   737  			case 0:
   738  				return &v.state
   739  			case 1:
   740  				return &v.sizeCache
   741  			case 2:
   742  				return &v.unknownFields
   743  			default:
   744  				return nil
   745  			}
   746  		}
   747  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   748  			switch v := v.(*DeleteTagHoldRequest); i {
   749  			case 0:
   750  				return &v.state
   751  			case 1:
   752  				return &v.sizeCache
   753  			case 2:
   754  				return &v.unknownFields
   755  			default:
   756  				return nil
   757  			}
   758  		}
   759  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   760  			switch v := v.(*DeleteTagHoldMetadata); i {
   761  			case 0:
   762  				return &v.state
   763  			case 1:
   764  				return &v.sizeCache
   765  			case 2:
   766  				return &v.unknownFields
   767  			default:
   768  				return nil
   769  			}
   770  		}
   771  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
   772  			switch v := v.(*ListTagHoldsRequest); i {
   773  			case 0:
   774  				return &v.state
   775  			case 1:
   776  				return &v.sizeCache
   777  			case 2:
   778  				return &v.unknownFields
   779  			default:
   780  				return nil
   781  			}
   782  		}
   783  		file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
   784  			switch v := v.(*ListTagHoldsResponse); i {
   785  			case 0:
   786  				return &v.state
   787  			case 1:
   788  				return &v.sizeCache
   789  			case 2:
   790  				return &v.unknownFields
   791  			default:
   792  				return nil
   793  			}
   794  		}
   795  	}
   796  	type x struct{}
   797  	out := protoimpl.TypeBuilder{
   798  		File: protoimpl.DescBuilder{
   799  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   800  			RawDescriptor: file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDesc,
   801  			NumEnums:      0,
   802  			NumMessages:   7,
   803  			NumExtensions: 0,
   804  			NumServices:   1,
   805  		},
   806  		GoTypes:           file_google_cloud_resourcemanager_v3_tag_holds_proto_goTypes,
   807  		DependencyIndexes: file_google_cloud_resourcemanager_v3_tag_holds_proto_depIdxs,
   808  		MessageInfos:      file_google_cloud_resourcemanager_v3_tag_holds_proto_msgTypes,
   809  	}.Build()
   810  	File_google_cloud_resourcemanager_v3_tag_holds_proto = out.File
   811  	file_google_cloud_resourcemanager_v3_tag_holds_proto_rawDesc = nil
   812  	file_google_cloud_resourcemanager_v3_tag_holds_proto_goTypes = nil
   813  	file_google_cloud_resourcemanager_v3_tag_holds_proto_depIdxs = nil
   814  }
   815  
   816  // Reference imports to suppress errors if they are not otherwise used.
   817  var _ context.Context
   818  var _ grpc.ClientConnInterface
   819  
   820  // This is a compile-time assertion to ensure that this generated file
   821  // is compatible with the grpc package it is being compiled against.
   822  const _ = grpc.SupportPackageIsVersion6
   823  
   824  // TagHoldsClient is the client API for TagHolds service.
   825  //
   826  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   827  type TagHoldsClient interface {
   828  	// Creates a TagHold. Returns ALREADY_EXISTS if a TagHold with the same
   829  	// resource and origin exists under the same TagValue.
   830  	CreateTagHold(ctx context.Context, in *CreateTagHoldRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
   831  	// Deletes a TagHold.
   832  	DeleteTagHold(ctx context.Context, in *DeleteTagHoldRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
   833  	// Lists TagHolds under a TagValue.
   834  	ListTagHolds(ctx context.Context, in *ListTagHoldsRequest, opts ...grpc.CallOption) (*ListTagHoldsResponse, error)
   835  }
   836  
   837  type tagHoldsClient struct {
   838  	cc grpc.ClientConnInterface
   839  }
   840  
   841  func NewTagHoldsClient(cc grpc.ClientConnInterface) TagHoldsClient {
   842  	return &tagHoldsClient{cc}
   843  }
   844  
   845  func (c *tagHoldsClient) CreateTagHold(ctx context.Context, in *CreateTagHoldRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
   846  	out := new(longrunningpb.Operation)
   847  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.TagHolds/CreateTagHold", in, out, opts...)
   848  	if err != nil {
   849  		return nil, err
   850  	}
   851  	return out, nil
   852  }
   853  
   854  func (c *tagHoldsClient) DeleteTagHold(ctx context.Context, in *DeleteTagHoldRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
   855  	out := new(longrunningpb.Operation)
   856  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.TagHolds/DeleteTagHold", in, out, opts...)
   857  	if err != nil {
   858  		return nil, err
   859  	}
   860  	return out, nil
   861  }
   862  
   863  func (c *tagHoldsClient) ListTagHolds(ctx context.Context, in *ListTagHoldsRequest, opts ...grpc.CallOption) (*ListTagHoldsResponse, error) {
   864  	out := new(ListTagHoldsResponse)
   865  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.TagHolds/ListTagHolds", in, out, opts...)
   866  	if err != nil {
   867  		return nil, err
   868  	}
   869  	return out, nil
   870  }
   871  
   872  // TagHoldsServer is the server API for TagHolds service.
   873  type TagHoldsServer interface {
   874  	// Creates a TagHold. Returns ALREADY_EXISTS if a TagHold with the same
   875  	// resource and origin exists under the same TagValue.
   876  	CreateTagHold(context.Context, *CreateTagHoldRequest) (*longrunningpb.Operation, error)
   877  	// Deletes a TagHold.
   878  	DeleteTagHold(context.Context, *DeleteTagHoldRequest) (*longrunningpb.Operation, error)
   879  	// Lists TagHolds under a TagValue.
   880  	ListTagHolds(context.Context, *ListTagHoldsRequest) (*ListTagHoldsResponse, error)
   881  }
   882  
   883  // UnimplementedTagHoldsServer can be embedded to have forward compatible implementations.
   884  type UnimplementedTagHoldsServer struct {
   885  }
   886  
   887  func (*UnimplementedTagHoldsServer) CreateTagHold(context.Context, *CreateTagHoldRequest) (*longrunningpb.Operation, error) {
   888  	return nil, status.Errorf(codes.Unimplemented, "method CreateTagHold not implemented")
   889  }
   890  func (*UnimplementedTagHoldsServer) DeleteTagHold(context.Context, *DeleteTagHoldRequest) (*longrunningpb.Operation, error) {
   891  	return nil, status.Errorf(codes.Unimplemented, "method DeleteTagHold not implemented")
   892  }
   893  func (*UnimplementedTagHoldsServer) ListTagHolds(context.Context, *ListTagHoldsRequest) (*ListTagHoldsResponse, error) {
   894  	return nil, status.Errorf(codes.Unimplemented, "method ListTagHolds not implemented")
   895  }
   896  
   897  func RegisterTagHoldsServer(s *grpc.Server, srv TagHoldsServer) {
   898  	s.RegisterService(&_TagHolds_serviceDesc, srv)
   899  }
   900  
   901  func _TagHolds_CreateTagHold_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   902  	in := new(CreateTagHoldRequest)
   903  	if err := dec(in); err != nil {
   904  		return nil, err
   905  	}
   906  	if interceptor == nil {
   907  		return srv.(TagHoldsServer).CreateTagHold(ctx, in)
   908  	}
   909  	info := &grpc.UnaryServerInfo{
   910  		Server:     srv,
   911  		FullMethod: "/google.cloud.resourcemanager.v3.TagHolds/CreateTagHold",
   912  	}
   913  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   914  		return srv.(TagHoldsServer).CreateTagHold(ctx, req.(*CreateTagHoldRequest))
   915  	}
   916  	return interceptor(ctx, in, info, handler)
   917  }
   918  
   919  func _TagHolds_DeleteTagHold_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   920  	in := new(DeleteTagHoldRequest)
   921  	if err := dec(in); err != nil {
   922  		return nil, err
   923  	}
   924  	if interceptor == nil {
   925  		return srv.(TagHoldsServer).DeleteTagHold(ctx, in)
   926  	}
   927  	info := &grpc.UnaryServerInfo{
   928  		Server:     srv,
   929  		FullMethod: "/google.cloud.resourcemanager.v3.TagHolds/DeleteTagHold",
   930  	}
   931  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   932  		return srv.(TagHoldsServer).DeleteTagHold(ctx, req.(*DeleteTagHoldRequest))
   933  	}
   934  	return interceptor(ctx, in, info, handler)
   935  }
   936  
   937  func _TagHolds_ListTagHolds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   938  	in := new(ListTagHoldsRequest)
   939  	if err := dec(in); err != nil {
   940  		return nil, err
   941  	}
   942  	if interceptor == nil {
   943  		return srv.(TagHoldsServer).ListTagHolds(ctx, in)
   944  	}
   945  	info := &grpc.UnaryServerInfo{
   946  		Server:     srv,
   947  		FullMethod: "/google.cloud.resourcemanager.v3.TagHolds/ListTagHolds",
   948  	}
   949  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   950  		return srv.(TagHoldsServer).ListTagHolds(ctx, req.(*ListTagHoldsRequest))
   951  	}
   952  	return interceptor(ctx, in, info, handler)
   953  }
   954  
   955  var _TagHolds_serviceDesc = grpc.ServiceDesc{
   956  	ServiceName: "google.cloud.resourcemanager.v3.TagHolds",
   957  	HandlerType: (*TagHoldsServer)(nil),
   958  	Methods: []grpc.MethodDesc{
   959  		{
   960  			MethodName: "CreateTagHold",
   961  			Handler:    _TagHolds_CreateTagHold_Handler,
   962  		},
   963  		{
   964  			MethodName: "DeleteTagHold",
   965  			Handler:    _TagHolds_DeleteTagHold_Handler,
   966  		},
   967  		{
   968  			MethodName: "ListTagHolds",
   969  			Handler:    _TagHolds_ListTagHolds_Handler,
   970  		},
   971  	},
   972  	Streams:  []grpc.StreamDesc{},
   973  	Metadata: "google/cloud/resourcemanager/v3/tag_holds.proto",
   974  }
   975  

View as plain text