...

Source file src/cloud.google.com/go/resourcemanager/apiv3/resourcemanagerpb/folders.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/folders.proto
    20  
    21  package resourcemanagerpb
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	iampb "cloud.google.com/go/iam/apiv1/iampb"
    29  	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
    30  	_ "google.golang.org/genproto/googleapis/api/annotations"
    31  	grpc "google.golang.org/grpc"
    32  	codes "google.golang.org/grpc/codes"
    33  	status "google.golang.org/grpc/status"
    34  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    35  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    36  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    37  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    38  )
    39  
    40  const (
    41  	// Verify that this generated code is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    43  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    44  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    45  )
    46  
    47  // Folder lifecycle states.
    48  type Folder_State int32
    49  
    50  const (
    51  	// Unspecified state.
    52  	Folder_STATE_UNSPECIFIED Folder_State = 0
    53  	// The normal and active state.
    54  	Folder_ACTIVE Folder_State = 1
    55  	// The folder has been marked for deletion by the user.
    56  	Folder_DELETE_REQUESTED Folder_State = 2
    57  )
    58  
    59  // Enum value maps for Folder_State.
    60  var (
    61  	Folder_State_name = map[int32]string{
    62  		0: "STATE_UNSPECIFIED",
    63  		1: "ACTIVE",
    64  		2: "DELETE_REQUESTED",
    65  	}
    66  	Folder_State_value = map[string]int32{
    67  		"STATE_UNSPECIFIED": 0,
    68  		"ACTIVE":            1,
    69  		"DELETE_REQUESTED":  2,
    70  	}
    71  )
    72  
    73  func (x Folder_State) Enum() *Folder_State {
    74  	p := new(Folder_State)
    75  	*p = x
    76  	return p
    77  }
    78  
    79  func (x Folder_State) String() string {
    80  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    81  }
    82  
    83  func (Folder_State) Descriptor() protoreflect.EnumDescriptor {
    84  	return file_google_cloud_resourcemanager_v3_folders_proto_enumTypes[0].Descriptor()
    85  }
    86  
    87  func (Folder_State) Type() protoreflect.EnumType {
    88  	return &file_google_cloud_resourcemanager_v3_folders_proto_enumTypes[0]
    89  }
    90  
    91  func (x Folder_State) Number() protoreflect.EnumNumber {
    92  	return protoreflect.EnumNumber(x)
    93  }
    94  
    95  // Deprecated: Use Folder_State.Descriptor instead.
    96  func (Folder_State) EnumDescriptor() ([]byte, []int) {
    97  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{0, 0}
    98  }
    99  
   100  // A folder in an organization's resource hierarchy, used to
   101  // organize that organization's resources.
   102  type Folder struct {
   103  	state         protoimpl.MessageState
   104  	sizeCache     protoimpl.SizeCache
   105  	unknownFields protoimpl.UnknownFields
   106  
   107  	// Output only. The resource name of the folder.
   108  	// Its format is `folders/{folder_id}`, for example: "folders/1234".
   109  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   110  	// Required. The folder's parent's resource name.
   111  	// Updates to the folder's parent must be performed using
   112  	// [MoveFolder][google.cloud.resourcemanager.v3.Folders.MoveFolder].
   113  	Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
   114  	// The folder's display name.
   115  	// A folder's display name must be unique amongst its siblings. For example,
   116  	// no two folders with the same parent can share the same display name.
   117  	// The display name must start and end with a letter or digit, may contain
   118  	// letters, digits, spaces, hyphens and underscores and can be no longer
   119  	// than 30 characters. This is captured by the regular expression:
   120  	// `[\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?`.
   121  	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   122  	// Output only. The lifecycle state of the folder.
   123  	// Updates to the state must be performed using
   124  	// [DeleteFolder][google.cloud.resourcemanager.v3.Folders.DeleteFolder] and
   125  	// [UndeleteFolder][google.cloud.resourcemanager.v3.Folders.UndeleteFolder].
   126  	State Folder_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.resourcemanager.v3.Folder_State" json:"state,omitempty"`
   127  	// Output only. Timestamp when the folder was created.
   128  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   129  	// Output only. Timestamp when the folder was last modified.
   130  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   131  	// Output only. Timestamp when the folder was requested to be deleted.
   132  	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
   133  	// Output only. A checksum computed by the server based on the current value
   134  	// of the folder resource. This may be sent on update and delete requests to
   135  	// ensure the client has an up-to-date value before proceeding.
   136  	Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"`
   137  }
   138  
   139  func (x *Folder) Reset() {
   140  	*x = Folder{}
   141  	if protoimpl.UnsafeEnabled {
   142  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[0]
   143  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   144  		ms.StoreMessageInfo(mi)
   145  	}
   146  }
   147  
   148  func (x *Folder) String() string {
   149  	return protoimpl.X.MessageStringOf(x)
   150  }
   151  
   152  func (*Folder) ProtoMessage() {}
   153  
   154  func (x *Folder) ProtoReflect() protoreflect.Message {
   155  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[0]
   156  	if protoimpl.UnsafeEnabled && x != nil {
   157  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   158  		if ms.LoadMessageInfo() == nil {
   159  			ms.StoreMessageInfo(mi)
   160  		}
   161  		return ms
   162  	}
   163  	return mi.MessageOf(x)
   164  }
   165  
   166  // Deprecated: Use Folder.ProtoReflect.Descriptor instead.
   167  func (*Folder) Descriptor() ([]byte, []int) {
   168  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{0}
   169  }
   170  
   171  func (x *Folder) GetName() string {
   172  	if x != nil {
   173  		return x.Name
   174  	}
   175  	return ""
   176  }
   177  
   178  func (x *Folder) GetParent() string {
   179  	if x != nil {
   180  		return x.Parent
   181  	}
   182  	return ""
   183  }
   184  
   185  func (x *Folder) GetDisplayName() string {
   186  	if x != nil {
   187  		return x.DisplayName
   188  	}
   189  	return ""
   190  }
   191  
   192  func (x *Folder) GetState() Folder_State {
   193  	if x != nil {
   194  		return x.State
   195  	}
   196  	return Folder_STATE_UNSPECIFIED
   197  }
   198  
   199  func (x *Folder) GetCreateTime() *timestamppb.Timestamp {
   200  	if x != nil {
   201  		return x.CreateTime
   202  	}
   203  	return nil
   204  }
   205  
   206  func (x *Folder) GetUpdateTime() *timestamppb.Timestamp {
   207  	if x != nil {
   208  		return x.UpdateTime
   209  	}
   210  	return nil
   211  }
   212  
   213  func (x *Folder) GetDeleteTime() *timestamppb.Timestamp {
   214  	if x != nil {
   215  		return x.DeleteTime
   216  	}
   217  	return nil
   218  }
   219  
   220  func (x *Folder) GetEtag() string {
   221  	if x != nil {
   222  		return x.Etag
   223  	}
   224  	return ""
   225  }
   226  
   227  // The GetFolder request message.
   228  type GetFolderRequest struct {
   229  	state         protoimpl.MessageState
   230  	sizeCache     protoimpl.SizeCache
   231  	unknownFields protoimpl.UnknownFields
   232  
   233  	// Required. The resource name of the folder to retrieve.
   234  	// Must be of the form `folders/{folder_id}`.
   235  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   236  }
   237  
   238  func (x *GetFolderRequest) Reset() {
   239  	*x = GetFolderRequest{}
   240  	if protoimpl.UnsafeEnabled {
   241  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[1]
   242  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   243  		ms.StoreMessageInfo(mi)
   244  	}
   245  }
   246  
   247  func (x *GetFolderRequest) String() string {
   248  	return protoimpl.X.MessageStringOf(x)
   249  }
   250  
   251  func (*GetFolderRequest) ProtoMessage() {}
   252  
   253  func (x *GetFolderRequest) ProtoReflect() protoreflect.Message {
   254  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[1]
   255  	if protoimpl.UnsafeEnabled && x != nil {
   256  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   257  		if ms.LoadMessageInfo() == nil {
   258  			ms.StoreMessageInfo(mi)
   259  		}
   260  		return ms
   261  	}
   262  	return mi.MessageOf(x)
   263  }
   264  
   265  // Deprecated: Use GetFolderRequest.ProtoReflect.Descriptor instead.
   266  func (*GetFolderRequest) Descriptor() ([]byte, []int) {
   267  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{1}
   268  }
   269  
   270  func (x *GetFolderRequest) GetName() string {
   271  	if x != nil {
   272  		return x.Name
   273  	}
   274  	return ""
   275  }
   276  
   277  // The ListFolders request message.
   278  type ListFoldersRequest struct {
   279  	state         protoimpl.MessageState
   280  	sizeCache     protoimpl.SizeCache
   281  	unknownFields protoimpl.UnknownFields
   282  
   283  	// Required. The name of the parent resource whose folders are being listed.
   284  	// Only children of this parent resource are listed; descendants are not
   285  	// listed.
   286  	//
   287  	// If the parent is a folder, use the value `folders/{folder_id}`. If the
   288  	// parent is an organization, use the value `organizations/{org_id}`.
   289  	//
   290  	// Access to this method is controlled by checking the
   291  	// `resourcemanager.folders.list` permission on the `parent`.
   292  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   293  	// Optional. The maximum number of folders to return in the response. The
   294  	// server can return fewer folders than requested. If unspecified, server
   295  	// picks an appropriate default.
   296  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   297  	// Optional. A pagination token returned from a previous call to `ListFolders`
   298  	// that indicates where this listing should continue from.
   299  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   300  	// Optional. Controls whether folders in the
   301  	// [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
   302  	// state should be returned. Defaults to false.
   303  	ShowDeleted bool `protobuf:"varint,4,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"`
   304  }
   305  
   306  func (x *ListFoldersRequest) Reset() {
   307  	*x = ListFoldersRequest{}
   308  	if protoimpl.UnsafeEnabled {
   309  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[2]
   310  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   311  		ms.StoreMessageInfo(mi)
   312  	}
   313  }
   314  
   315  func (x *ListFoldersRequest) String() string {
   316  	return protoimpl.X.MessageStringOf(x)
   317  }
   318  
   319  func (*ListFoldersRequest) ProtoMessage() {}
   320  
   321  func (x *ListFoldersRequest) ProtoReflect() protoreflect.Message {
   322  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[2]
   323  	if protoimpl.UnsafeEnabled && x != nil {
   324  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   325  		if ms.LoadMessageInfo() == nil {
   326  			ms.StoreMessageInfo(mi)
   327  		}
   328  		return ms
   329  	}
   330  	return mi.MessageOf(x)
   331  }
   332  
   333  // Deprecated: Use ListFoldersRequest.ProtoReflect.Descriptor instead.
   334  func (*ListFoldersRequest) Descriptor() ([]byte, []int) {
   335  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{2}
   336  }
   337  
   338  func (x *ListFoldersRequest) GetParent() string {
   339  	if x != nil {
   340  		return x.Parent
   341  	}
   342  	return ""
   343  }
   344  
   345  func (x *ListFoldersRequest) GetPageSize() int32 {
   346  	if x != nil {
   347  		return x.PageSize
   348  	}
   349  	return 0
   350  }
   351  
   352  func (x *ListFoldersRequest) GetPageToken() string {
   353  	if x != nil {
   354  		return x.PageToken
   355  	}
   356  	return ""
   357  }
   358  
   359  func (x *ListFoldersRequest) GetShowDeleted() bool {
   360  	if x != nil {
   361  		return x.ShowDeleted
   362  	}
   363  	return false
   364  }
   365  
   366  // The ListFolders response message.
   367  type ListFoldersResponse struct {
   368  	state         protoimpl.MessageState
   369  	sizeCache     protoimpl.SizeCache
   370  	unknownFields protoimpl.UnknownFields
   371  
   372  	// A possibly paginated list of folders that are direct descendants of
   373  	// the specified parent resource.
   374  	Folders []*Folder `protobuf:"bytes,1,rep,name=folders,proto3" json:"folders,omitempty"`
   375  	// A pagination token returned from a previous call to `ListFolders`
   376  	// that indicates from where listing should continue.
   377  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   378  }
   379  
   380  func (x *ListFoldersResponse) Reset() {
   381  	*x = ListFoldersResponse{}
   382  	if protoimpl.UnsafeEnabled {
   383  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[3]
   384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   385  		ms.StoreMessageInfo(mi)
   386  	}
   387  }
   388  
   389  func (x *ListFoldersResponse) String() string {
   390  	return protoimpl.X.MessageStringOf(x)
   391  }
   392  
   393  func (*ListFoldersResponse) ProtoMessage() {}
   394  
   395  func (x *ListFoldersResponse) ProtoReflect() protoreflect.Message {
   396  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[3]
   397  	if protoimpl.UnsafeEnabled && x != nil {
   398  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   399  		if ms.LoadMessageInfo() == nil {
   400  			ms.StoreMessageInfo(mi)
   401  		}
   402  		return ms
   403  	}
   404  	return mi.MessageOf(x)
   405  }
   406  
   407  // Deprecated: Use ListFoldersResponse.ProtoReflect.Descriptor instead.
   408  func (*ListFoldersResponse) Descriptor() ([]byte, []int) {
   409  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{3}
   410  }
   411  
   412  func (x *ListFoldersResponse) GetFolders() []*Folder {
   413  	if x != nil {
   414  		return x.Folders
   415  	}
   416  	return nil
   417  }
   418  
   419  func (x *ListFoldersResponse) GetNextPageToken() string {
   420  	if x != nil {
   421  		return x.NextPageToken
   422  	}
   423  	return ""
   424  }
   425  
   426  // The request message for searching folders.
   427  type SearchFoldersRequest struct {
   428  	state         protoimpl.MessageState
   429  	sizeCache     protoimpl.SizeCache
   430  	unknownFields protoimpl.UnknownFields
   431  
   432  	// Optional. The maximum number of folders to return in the response. The
   433  	// server can return fewer folders than requested. If unspecified, server
   434  	// picks an appropriate default.
   435  	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   436  	// Optional. A pagination token returned from a previous call to
   437  	// `SearchFolders` that indicates from where search should continue.
   438  	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   439  	// Optional. Search criteria used to select the folders to return.
   440  	// If no search criteria is specified then all accessible folders will be
   441  	// returned.
   442  	//
   443  	// Query expressions can be used to restrict results based upon displayName,
   444  	// state and parent, where the operators `=` (`:`) `NOT`, `AND` and `OR`
   445  	// can be used along with the suffix wildcard symbol `*`.
   446  	//
   447  	// The `displayName` field in a query expression should use escaped quotes
   448  	// for values that include whitespace to prevent unexpected behavior.
   449  	//
   450  	// ```
   451  	// | Field                   | Description                            |
   452  	// |-------------------------|----------------------------------------|
   453  	// | displayName             | Filters by displayName.                |
   454  	// | parent                  | Filters by parent (for example: folders/123). |
   455  	// | state, lifecycleState   | Filters by state.                      |
   456  	// ```
   457  	//
   458  	// Some example queries are:
   459  	//
   460  	// * Query `displayName=Test*` returns Folder resources whose display name
   461  	// starts with "Test".
   462  	// * Query `state=ACTIVE` returns Folder resources with
   463  	// `state` set to `ACTIVE`.
   464  	// * Query `parent=folders/123` returns Folder resources that have
   465  	// `folders/123` as a parent resource.
   466  	// * Query `parent=folders/123 AND state=ACTIVE` returns active
   467  	// Folder resources that have `folders/123` as a parent resource.
   468  	// * Query `displayName=\\"Test String\\"` returns Folder resources with
   469  	// display names that include both "Test" and "String".
   470  	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
   471  }
   472  
   473  func (x *SearchFoldersRequest) Reset() {
   474  	*x = SearchFoldersRequest{}
   475  	if protoimpl.UnsafeEnabled {
   476  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[4]
   477  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   478  		ms.StoreMessageInfo(mi)
   479  	}
   480  }
   481  
   482  func (x *SearchFoldersRequest) String() string {
   483  	return protoimpl.X.MessageStringOf(x)
   484  }
   485  
   486  func (*SearchFoldersRequest) ProtoMessage() {}
   487  
   488  func (x *SearchFoldersRequest) ProtoReflect() protoreflect.Message {
   489  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[4]
   490  	if protoimpl.UnsafeEnabled && x != nil {
   491  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   492  		if ms.LoadMessageInfo() == nil {
   493  			ms.StoreMessageInfo(mi)
   494  		}
   495  		return ms
   496  	}
   497  	return mi.MessageOf(x)
   498  }
   499  
   500  // Deprecated: Use SearchFoldersRequest.ProtoReflect.Descriptor instead.
   501  func (*SearchFoldersRequest) Descriptor() ([]byte, []int) {
   502  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{4}
   503  }
   504  
   505  func (x *SearchFoldersRequest) GetPageSize() int32 {
   506  	if x != nil {
   507  		return x.PageSize
   508  	}
   509  	return 0
   510  }
   511  
   512  func (x *SearchFoldersRequest) GetPageToken() string {
   513  	if x != nil {
   514  		return x.PageToken
   515  	}
   516  	return ""
   517  }
   518  
   519  func (x *SearchFoldersRequest) GetQuery() string {
   520  	if x != nil {
   521  		return x.Query
   522  	}
   523  	return ""
   524  }
   525  
   526  // The response message for searching folders.
   527  type SearchFoldersResponse struct {
   528  	state         protoimpl.MessageState
   529  	sizeCache     protoimpl.SizeCache
   530  	unknownFields protoimpl.UnknownFields
   531  
   532  	// A possibly paginated folder search results.
   533  	// the specified parent resource.
   534  	Folders []*Folder `protobuf:"bytes,1,rep,name=folders,proto3" json:"folders,omitempty"`
   535  	// A pagination token returned from a previous call to `SearchFolders`
   536  	// that indicates from where searching should continue.
   537  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   538  }
   539  
   540  func (x *SearchFoldersResponse) Reset() {
   541  	*x = SearchFoldersResponse{}
   542  	if protoimpl.UnsafeEnabled {
   543  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[5]
   544  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   545  		ms.StoreMessageInfo(mi)
   546  	}
   547  }
   548  
   549  func (x *SearchFoldersResponse) String() string {
   550  	return protoimpl.X.MessageStringOf(x)
   551  }
   552  
   553  func (*SearchFoldersResponse) ProtoMessage() {}
   554  
   555  func (x *SearchFoldersResponse) ProtoReflect() protoreflect.Message {
   556  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[5]
   557  	if protoimpl.UnsafeEnabled && x != nil {
   558  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   559  		if ms.LoadMessageInfo() == nil {
   560  			ms.StoreMessageInfo(mi)
   561  		}
   562  		return ms
   563  	}
   564  	return mi.MessageOf(x)
   565  }
   566  
   567  // Deprecated: Use SearchFoldersResponse.ProtoReflect.Descriptor instead.
   568  func (*SearchFoldersResponse) Descriptor() ([]byte, []int) {
   569  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{5}
   570  }
   571  
   572  func (x *SearchFoldersResponse) GetFolders() []*Folder {
   573  	if x != nil {
   574  		return x.Folders
   575  	}
   576  	return nil
   577  }
   578  
   579  func (x *SearchFoldersResponse) GetNextPageToken() string {
   580  	if x != nil {
   581  		return x.NextPageToken
   582  	}
   583  	return ""
   584  }
   585  
   586  // The CreateFolder request message.
   587  type CreateFolderRequest struct {
   588  	state         protoimpl.MessageState
   589  	sizeCache     protoimpl.SizeCache
   590  	unknownFields protoimpl.UnknownFields
   591  
   592  	// Required. The folder being created, only the display name and parent will
   593  	// be consulted. All other fields will be ignored.
   594  	Folder *Folder `protobuf:"bytes,2,opt,name=folder,proto3" json:"folder,omitempty"`
   595  }
   596  
   597  func (x *CreateFolderRequest) Reset() {
   598  	*x = CreateFolderRequest{}
   599  	if protoimpl.UnsafeEnabled {
   600  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[6]
   601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   602  		ms.StoreMessageInfo(mi)
   603  	}
   604  }
   605  
   606  func (x *CreateFolderRequest) String() string {
   607  	return protoimpl.X.MessageStringOf(x)
   608  }
   609  
   610  func (*CreateFolderRequest) ProtoMessage() {}
   611  
   612  func (x *CreateFolderRequest) ProtoReflect() protoreflect.Message {
   613  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[6]
   614  	if protoimpl.UnsafeEnabled && x != nil {
   615  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   616  		if ms.LoadMessageInfo() == nil {
   617  			ms.StoreMessageInfo(mi)
   618  		}
   619  		return ms
   620  	}
   621  	return mi.MessageOf(x)
   622  }
   623  
   624  // Deprecated: Use CreateFolderRequest.ProtoReflect.Descriptor instead.
   625  func (*CreateFolderRequest) Descriptor() ([]byte, []int) {
   626  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{6}
   627  }
   628  
   629  func (x *CreateFolderRequest) GetFolder() *Folder {
   630  	if x != nil {
   631  		return x.Folder
   632  	}
   633  	return nil
   634  }
   635  
   636  // Metadata pertaining to the Folder creation process.
   637  type CreateFolderMetadata struct {
   638  	state         protoimpl.MessageState
   639  	sizeCache     protoimpl.SizeCache
   640  	unknownFields protoimpl.UnknownFields
   641  
   642  	// The display name of the folder.
   643  	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   644  	// The resource name of the folder or organization we are creating the folder
   645  	// under.
   646  	Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
   647  }
   648  
   649  func (x *CreateFolderMetadata) Reset() {
   650  	*x = CreateFolderMetadata{}
   651  	if protoimpl.UnsafeEnabled {
   652  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[7]
   653  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   654  		ms.StoreMessageInfo(mi)
   655  	}
   656  }
   657  
   658  func (x *CreateFolderMetadata) String() string {
   659  	return protoimpl.X.MessageStringOf(x)
   660  }
   661  
   662  func (*CreateFolderMetadata) ProtoMessage() {}
   663  
   664  func (x *CreateFolderMetadata) ProtoReflect() protoreflect.Message {
   665  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[7]
   666  	if protoimpl.UnsafeEnabled && x != nil {
   667  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   668  		if ms.LoadMessageInfo() == nil {
   669  			ms.StoreMessageInfo(mi)
   670  		}
   671  		return ms
   672  	}
   673  	return mi.MessageOf(x)
   674  }
   675  
   676  // Deprecated: Use CreateFolderMetadata.ProtoReflect.Descriptor instead.
   677  func (*CreateFolderMetadata) Descriptor() ([]byte, []int) {
   678  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{7}
   679  }
   680  
   681  func (x *CreateFolderMetadata) GetDisplayName() string {
   682  	if x != nil {
   683  		return x.DisplayName
   684  	}
   685  	return ""
   686  }
   687  
   688  func (x *CreateFolderMetadata) GetParent() string {
   689  	if x != nil {
   690  		return x.Parent
   691  	}
   692  	return ""
   693  }
   694  
   695  // The request sent to the
   696  // [UpdateFolder][google.cloud.resourcemanager.v3.Folder.UpdateFolder]
   697  // method.
   698  //
   699  // Only the `display_name` field can be changed. All other fields will be
   700  // ignored. Use the
   701  // [MoveFolder][google.cloud.resourcemanager.v3.Folders.MoveFolder] method to
   702  // change the `parent` field.
   703  type UpdateFolderRequest struct {
   704  	state         protoimpl.MessageState
   705  	sizeCache     protoimpl.SizeCache
   706  	unknownFields protoimpl.UnknownFields
   707  
   708  	// Required. The new definition of the Folder. It must include the `name`
   709  	// field, which cannot be changed.
   710  	Folder *Folder `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder,omitempty"`
   711  	// Required. Fields to be updated.
   712  	// Only the `display_name` can be updated.
   713  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   714  }
   715  
   716  func (x *UpdateFolderRequest) Reset() {
   717  	*x = UpdateFolderRequest{}
   718  	if protoimpl.UnsafeEnabled {
   719  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[8]
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		ms.StoreMessageInfo(mi)
   722  	}
   723  }
   724  
   725  func (x *UpdateFolderRequest) String() string {
   726  	return protoimpl.X.MessageStringOf(x)
   727  }
   728  
   729  func (*UpdateFolderRequest) ProtoMessage() {}
   730  
   731  func (x *UpdateFolderRequest) ProtoReflect() protoreflect.Message {
   732  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[8]
   733  	if protoimpl.UnsafeEnabled && x != nil {
   734  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   735  		if ms.LoadMessageInfo() == nil {
   736  			ms.StoreMessageInfo(mi)
   737  		}
   738  		return ms
   739  	}
   740  	return mi.MessageOf(x)
   741  }
   742  
   743  // Deprecated: Use UpdateFolderRequest.ProtoReflect.Descriptor instead.
   744  func (*UpdateFolderRequest) Descriptor() ([]byte, []int) {
   745  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{8}
   746  }
   747  
   748  func (x *UpdateFolderRequest) GetFolder() *Folder {
   749  	if x != nil {
   750  		return x.Folder
   751  	}
   752  	return nil
   753  }
   754  
   755  func (x *UpdateFolderRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   756  	if x != nil {
   757  		return x.UpdateMask
   758  	}
   759  	return nil
   760  }
   761  
   762  // A status object which is used as the `metadata` field for the Operation
   763  // returned by UpdateFolder.
   764  type UpdateFolderMetadata struct {
   765  	state         protoimpl.MessageState
   766  	sizeCache     protoimpl.SizeCache
   767  	unknownFields protoimpl.UnknownFields
   768  }
   769  
   770  func (x *UpdateFolderMetadata) Reset() {
   771  	*x = UpdateFolderMetadata{}
   772  	if protoimpl.UnsafeEnabled {
   773  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[9]
   774  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   775  		ms.StoreMessageInfo(mi)
   776  	}
   777  }
   778  
   779  func (x *UpdateFolderMetadata) String() string {
   780  	return protoimpl.X.MessageStringOf(x)
   781  }
   782  
   783  func (*UpdateFolderMetadata) ProtoMessage() {}
   784  
   785  func (x *UpdateFolderMetadata) ProtoReflect() protoreflect.Message {
   786  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[9]
   787  	if protoimpl.UnsafeEnabled && x != nil {
   788  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   789  		if ms.LoadMessageInfo() == nil {
   790  			ms.StoreMessageInfo(mi)
   791  		}
   792  		return ms
   793  	}
   794  	return mi.MessageOf(x)
   795  }
   796  
   797  // Deprecated: Use UpdateFolderMetadata.ProtoReflect.Descriptor instead.
   798  func (*UpdateFolderMetadata) Descriptor() ([]byte, []int) {
   799  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{9}
   800  }
   801  
   802  // The MoveFolder request message.
   803  type MoveFolderRequest struct {
   804  	state         protoimpl.MessageState
   805  	sizeCache     protoimpl.SizeCache
   806  	unknownFields protoimpl.UnknownFields
   807  
   808  	// Required. The resource name of the Folder to move.
   809  	// Must be of the form folders/{folder_id}
   810  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   811  	// Required. The resource name of the folder or organization which should be
   812  	// the folder's new parent. Must be of the form `folders/{folder_id}` or
   813  	// `organizations/{org_id}`.
   814  	DestinationParent string `protobuf:"bytes,2,opt,name=destination_parent,json=destinationParent,proto3" json:"destination_parent,omitempty"`
   815  }
   816  
   817  func (x *MoveFolderRequest) Reset() {
   818  	*x = MoveFolderRequest{}
   819  	if protoimpl.UnsafeEnabled {
   820  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[10]
   821  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   822  		ms.StoreMessageInfo(mi)
   823  	}
   824  }
   825  
   826  func (x *MoveFolderRequest) String() string {
   827  	return protoimpl.X.MessageStringOf(x)
   828  }
   829  
   830  func (*MoveFolderRequest) ProtoMessage() {}
   831  
   832  func (x *MoveFolderRequest) ProtoReflect() protoreflect.Message {
   833  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[10]
   834  	if protoimpl.UnsafeEnabled && x != nil {
   835  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   836  		if ms.LoadMessageInfo() == nil {
   837  			ms.StoreMessageInfo(mi)
   838  		}
   839  		return ms
   840  	}
   841  	return mi.MessageOf(x)
   842  }
   843  
   844  // Deprecated: Use MoveFolderRequest.ProtoReflect.Descriptor instead.
   845  func (*MoveFolderRequest) Descriptor() ([]byte, []int) {
   846  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{10}
   847  }
   848  
   849  func (x *MoveFolderRequest) GetName() string {
   850  	if x != nil {
   851  		return x.Name
   852  	}
   853  	return ""
   854  }
   855  
   856  func (x *MoveFolderRequest) GetDestinationParent() string {
   857  	if x != nil {
   858  		return x.DestinationParent
   859  	}
   860  	return ""
   861  }
   862  
   863  // Metadata pertaining to the folder move process.
   864  type MoveFolderMetadata struct {
   865  	state         protoimpl.MessageState
   866  	sizeCache     protoimpl.SizeCache
   867  	unknownFields protoimpl.UnknownFields
   868  
   869  	// The display name of the folder.
   870  	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   871  	// The resource name of the folder's parent.
   872  	SourceParent string `protobuf:"bytes,2,opt,name=source_parent,json=sourceParent,proto3" json:"source_parent,omitempty"`
   873  	// The resource name of the folder or organization to move the folder to.
   874  	DestinationParent string `protobuf:"bytes,3,opt,name=destination_parent,json=destinationParent,proto3" json:"destination_parent,omitempty"`
   875  }
   876  
   877  func (x *MoveFolderMetadata) Reset() {
   878  	*x = MoveFolderMetadata{}
   879  	if protoimpl.UnsafeEnabled {
   880  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[11]
   881  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   882  		ms.StoreMessageInfo(mi)
   883  	}
   884  }
   885  
   886  func (x *MoveFolderMetadata) String() string {
   887  	return protoimpl.X.MessageStringOf(x)
   888  }
   889  
   890  func (*MoveFolderMetadata) ProtoMessage() {}
   891  
   892  func (x *MoveFolderMetadata) ProtoReflect() protoreflect.Message {
   893  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[11]
   894  	if protoimpl.UnsafeEnabled && x != nil {
   895  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   896  		if ms.LoadMessageInfo() == nil {
   897  			ms.StoreMessageInfo(mi)
   898  		}
   899  		return ms
   900  	}
   901  	return mi.MessageOf(x)
   902  }
   903  
   904  // Deprecated: Use MoveFolderMetadata.ProtoReflect.Descriptor instead.
   905  func (*MoveFolderMetadata) Descriptor() ([]byte, []int) {
   906  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{11}
   907  }
   908  
   909  func (x *MoveFolderMetadata) GetDisplayName() string {
   910  	if x != nil {
   911  		return x.DisplayName
   912  	}
   913  	return ""
   914  }
   915  
   916  func (x *MoveFolderMetadata) GetSourceParent() string {
   917  	if x != nil {
   918  		return x.SourceParent
   919  	}
   920  	return ""
   921  }
   922  
   923  func (x *MoveFolderMetadata) GetDestinationParent() string {
   924  	if x != nil {
   925  		return x.DestinationParent
   926  	}
   927  	return ""
   928  }
   929  
   930  // The DeleteFolder request message.
   931  type DeleteFolderRequest struct {
   932  	state         protoimpl.MessageState
   933  	sizeCache     protoimpl.SizeCache
   934  	unknownFields protoimpl.UnknownFields
   935  
   936  	// Required. The resource name of the folder to be deleted.
   937  	// Must be of the form `folders/{folder_id}`.
   938  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   939  }
   940  
   941  func (x *DeleteFolderRequest) Reset() {
   942  	*x = DeleteFolderRequest{}
   943  	if protoimpl.UnsafeEnabled {
   944  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[12]
   945  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   946  		ms.StoreMessageInfo(mi)
   947  	}
   948  }
   949  
   950  func (x *DeleteFolderRequest) String() string {
   951  	return protoimpl.X.MessageStringOf(x)
   952  }
   953  
   954  func (*DeleteFolderRequest) ProtoMessage() {}
   955  
   956  func (x *DeleteFolderRequest) ProtoReflect() protoreflect.Message {
   957  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[12]
   958  	if protoimpl.UnsafeEnabled && x != nil {
   959  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   960  		if ms.LoadMessageInfo() == nil {
   961  			ms.StoreMessageInfo(mi)
   962  		}
   963  		return ms
   964  	}
   965  	return mi.MessageOf(x)
   966  }
   967  
   968  // Deprecated: Use DeleteFolderRequest.ProtoReflect.Descriptor instead.
   969  func (*DeleteFolderRequest) Descriptor() ([]byte, []int) {
   970  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{12}
   971  }
   972  
   973  func (x *DeleteFolderRequest) GetName() string {
   974  	if x != nil {
   975  		return x.Name
   976  	}
   977  	return ""
   978  }
   979  
   980  // A status object which is used as the `metadata` field for the `Operation`
   981  // returned by `DeleteFolder`.
   982  type DeleteFolderMetadata struct {
   983  	state         protoimpl.MessageState
   984  	sizeCache     protoimpl.SizeCache
   985  	unknownFields protoimpl.UnknownFields
   986  }
   987  
   988  func (x *DeleteFolderMetadata) Reset() {
   989  	*x = DeleteFolderMetadata{}
   990  	if protoimpl.UnsafeEnabled {
   991  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[13]
   992  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   993  		ms.StoreMessageInfo(mi)
   994  	}
   995  }
   996  
   997  func (x *DeleteFolderMetadata) String() string {
   998  	return protoimpl.X.MessageStringOf(x)
   999  }
  1000  
  1001  func (*DeleteFolderMetadata) ProtoMessage() {}
  1002  
  1003  func (x *DeleteFolderMetadata) ProtoReflect() protoreflect.Message {
  1004  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[13]
  1005  	if protoimpl.UnsafeEnabled && x != nil {
  1006  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1007  		if ms.LoadMessageInfo() == nil {
  1008  			ms.StoreMessageInfo(mi)
  1009  		}
  1010  		return ms
  1011  	}
  1012  	return mi.MessageOf(x)
  1013  }
  1014  
  1015  // Deprecated: Use DeleteFolderMetadata.ProtoReflect.Descriptor instead.
  1016  func (*DeleteFolderMetadata) Descriptor() ([]byte, []int) {
  1017  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{13}
  1018  }
  1019  
  1020  // The UndeleteFolder request message.
  1021  type UndeleteFolderRequest struct {
  1022  	state         protoimpl.MessageState
  1023  	sizeCache     protoimpl.SizeCache
  1024  	unknownFields protoimpl.UnknownFields
  1025  
  1026  	// Required. The resource name of the folder to undelete.
  1027  	// Must be of the form `folders/{folder_id}`.
  1028  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1029  }
  1030  
  1031  func (x *UndeleteFolderRequest) Reset() {
  1032  	*x = UndeleteFolderRequest{}
  1033  	if protoimpl.UnsafeEnabled {
  1034  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[14]
  1035  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1036  		ms.StoreMessageInfo(mi)
  1037  	}
  1038  }
  1039  
  1040  func (x *UndeleteFolderRequest) String() string {
  1041  	return protoimpl.X.MessageStringOf(x)
  1042  }
  1043  
  1044  func (*UndeleteFolderRequest) ProtoMessage() {}
  1045  
  1046  func (x *UndeleteFolderRequest) ProtoReflect() protoreflect.Message {
  1047  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[14]
  1048  	if protoimpl.UnsafeEnabled && x != nil {
  1049  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1050  		if ms.LoadMessageInfo() == nil {
  1051  			ms.StoreMessageInfo(mi)
  1052  		}
  1053  		return ms
  1054  	}
  1055  	return mi.MessageOf(x)
  1056  }
  1057  
  1058  // Deprecated: Use UndeleteFolderRequest.ProtoReflect.Descriptor instead.
  1059  func (*UndeleteFolderRequest) Descriptor() ([]byte, []int) {
  1060  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{14}
  1061  }
  1062  
  1063  func (x *UndeleteFolderRequest) GetName() string {
  1064  	if x != nil {
  1065  		return x.Name
  1066  	}
  1067  	return ""
  1068  }
  1069  
  1070  // A status object which is used as the `metadata` field for the `Operation`
  1071  // returned by `UndeleteFolder`.
  1072  type UndeleteFolderMetadata struct {
  1073  	state         protoimpl.MessageState
  1074  	sizeCache     protoimpl.SizeCache
  1075  	unknownFields protoimpl.UnknownFields
  1076  }
  1077  
  1078  func (x *UndeleteFolderMetadata) Reset() {
  1079  	*x = UndeleteFolderMetadata{}
  1080  	if protoimpl.UnsafeEnabled {
  1081  		mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[15]
  1082  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1083  		ms.StoreMessageInfo(mi)
  1084  	}
  1085  }
  1086  
  1087  func (x *UndeleteFolderMetadata) String() string {
  1088  	return protoimpl.X.MessageStringOf(x)
  1089  }
  1090  
  1091  func (*UndeleteFolderMetadata) ProtoMessage() {}
  1092  
  1093  func (x *UndeleteFolderMetadata) ProtoReflect() protoreflect.Message {
  1094  	mi := &file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[15]
  1095  	if protoimpl.UnsafeEnabled && x != nil {
  1096  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1097  		if ms.LoadMessageInfo() == nil {
  1098  			ms.StoreMessageInfo(mi)
  1099  		}
  1100  		return ms
  1101  	}
  1102  	return mi.MessageOf(x)
  1103  }
  1104  
  1105  // Deprecated: Use UndeleteFolderMetadata.ProtoReflect.Descriptor instead.
  1106  func (*UndeleteFolderMetadata) Descriptor() ([]byte, []int) {
  1107  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP(), []int{15}
  1108  }
  1109  
  1110  var File_google_cloud_resourcemanager_v3_folders_proto protoreflect.FileDescriptor
  1111  
  1112  var file_google_cloud_resourcemanager_v3_folders_proto_rawDesc = []byte{
  1113  	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
  1114  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76,
  1115  	0x33, 0x2f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
  1116  	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
  1117  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33,
  1118  	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
  1119  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
  1120  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
  1121  	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  1122  	0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
  1123  	0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1124  	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
  1125  	0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f,
  1126  	0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72,
  1127  	0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f,
  1128  	0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1129  	0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
  1130  	0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
  1131  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  1132  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
  1133  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
  1134  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  1135  	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x04, 0x0a, 0x06, 0x46, 0x6f, 0x6c, 0x64,
  1136  	0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1137  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x70,
  1138  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
  1139  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
  1140  	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
  1141  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73,
  1142  	0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
  1143  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1144  	0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x6c,
  1145  	0x64, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05,
  1146  	0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
  1147  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  1148  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  1149  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
  1150  	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
  1151  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1152  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1153  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
  1154  	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c,
  1155  	0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1156  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1157  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  1158  	0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65,
  1159  	0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04,
  1160  	0x65, 0x74, 0x61, 0x67, 0x22, 0x40, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a,
  1161  	0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  1162  	0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01,
  1163  	0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45,
  1164  	0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x3a, 0x44, 0xea, 0x41, 0x41, 0x0a, 0x2a, 0x63, 0x6c, 0x6f,
  1165  	0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
  1166  	0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  1167  	0x2f, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x10, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73,
  1168  	0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x52, 0x01, 0x01, 0x22, 0x5a, 0x0a, 0x10,
  1169  	0x47, 0x65, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1170  	0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32,
  1171  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73,
  1172  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f,
  1173  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6f, 0x6c, 0x64,
  1174  	0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73,
  1175  	0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1176  	0x21, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  1177  	0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x12, 0x01, 0x2a, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
  1178  	0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
  1179  	0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
  1180  	0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  1181  	0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70,
  1182  	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77,
  1183  	0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03,
  1184  	0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
  1185  	0x22, 0x80, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73,
  1186  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x64,
  1187  	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1188  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1189  	0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x6c, 0x64,
  1190  	0x65, 0x72, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
  1191  	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
  1192  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
  1193  	0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x6c,
  1194  	0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70,
  1195  	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
  1196  	0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
  1197  	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
  1198  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
  1199  	0x6e, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  1200  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x82, 0x01, 0x0a,
  1201  	0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65,
  1202  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72,
  1203  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1204  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
  1205  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72,
  1206  	0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
  1207  	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
  1208  	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
  1209  	0x6e, 0x22, 0x5b, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1210  	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64,
  1211  	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1212  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1213  	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1214  	0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x22, 0x51,
  1215  	0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65,
  1216  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
  1217  	0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
  1218  	0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72,
  1219  	0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
  1220  	0x74, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64,
  1221  	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x6f, 0x6c,
  1222  	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1223  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1224  	0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6f, 0x6c, 0x64,
  1225  	0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12,
  1226  	0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02,
  1227  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1228  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
  1229  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73,
  1230  	0x6b, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1231  	0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x95, 0x01, 0x0a, 0x11, 0x4d, 0x6f,
  1232  	0x76, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1233  	0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0,
  1234  	0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f,
  1235  	0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1236  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1237  	0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69,
  1238  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20,
  1239  	0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x12, 0x01, 0x2a, 0x52, 0x11,
  1240  	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e,
  1241  	0x74, 0x22, 0x8b, 0x01, 0x0a, 0x12, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72,
  1242  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
  1243  	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
  1244  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73,
  1245  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
  1246  	0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
  1247  	0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  1248  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65,
  1249  	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22,
  1250  	0x5d, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52,
  1251  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
  1252  	0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x63, 0x6c,
  1253  	0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67,
  1254  	0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  1255  	0x6d, 0x2f, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16,
  1256  	0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65,
  1257  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5f, 0x0a, 0x15, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65,
  1258  	0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1259  	0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0,
  1260  	0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f,
  1261  	0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1262  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1263  	0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x55, 0x6e, 0x64, 0x65, 0x6c,
  1264  	0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1265  	0x61, 0x32, 0xde, 0x0f, 0x0a, 0x07, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x8c, 0x01,
  1266  	0x0a, 0x09, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x67, 0x6f,
  1267  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
  1268  	0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65,
  1269  	0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27,
  1270  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
  1271  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33,
  1272  	0x2e, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x22, 0x23, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  1273  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
  1274  	0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a,
  1275  	0x0b, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x67,
  1276  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f,
  1277  	0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c,
  1278  	0x69, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1279  	0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1280  	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
  1281  	0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52,
  1282  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65,
  1283  	0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6f,
  1284  	0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0xa2, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
  1285  	0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1286  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
  1287  	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
  1288  	0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36,
  1289  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
  1290  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33,
  1291  	0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65,
  1292  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xda, 0x41, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
  1293  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6f, 0x6c, 0x64,
  1294  	0x65, 0x72, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0xaa, 0x01, 0x0a, 0x0c, 0x43,
  1295  	0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x67, 0x6f,
  1296  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
  1297  	0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x72,
  1298  	0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1299  	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
  1300  	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1301  	0x22, 0x45, 0xca, 0x41, 0x1e, 0x0a, 0x06, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x14, 0x43,
  1302  	0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64,
  1303  	0x61, 0x74, 0x61, 0xda, 0x41, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93,
  1304  	0x02, 0x15, 0x3a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x22, 0x0b, 0x2f, 0x76, 0x33, 0x2f,
  1305  	0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61,
  1306  	0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1307  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1308  	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
  1309  	0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
  1310  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
  1311  	0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0xca,
  1312  	0x41, 0x1e, 0x0a, 0x06, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x14, 0x55, 0x70, 0x64, 0x61,
  1313  	0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  1314  	0xda, 0x41, 0x12, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  1315  	0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x06, 0x66, 0x6f, 0x6c,
  1316  	0x64, 0x65, 0x72, 0x32, 0x1b, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72,
  1317  	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d,
  1318  	0x12, 0xbe, 0x01, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12,
  1319  	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
  1320  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76,
  1321  	0x33, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
  1322  	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e,
  1323  	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  1324  	0x6f, 0x6e, 0x22, 0x5d, 0xca, 0x41, 0x1c, 0x0a, 0x06, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12,
  1325  	0x12, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64,
  1326  	0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x65, 0x73, 0x74, 0x69,
  1327  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4,
  1328  	0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
  1329  	0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x76,
  1330  	0x65, 0x12, 0xa9, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64,
  1331  	0x65, 0x72, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1332  	0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
  1333  	0x72, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1334  	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1335  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
  1336  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0xca, 0x41, 0x1e, 0x0a, 0x06, 0x46, 0x6f,
  1337  	0x6c, 0x64, 0x65, 0x72, 0x12, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64,
  1338  	0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
  1339  	0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61,
  1340  	0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01,
  1341  	0x0a, 0x0e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72,
  1342  	0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1343  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e,
  1344  	0x76, 0x33, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x6c, 0x64, 0x65,
  1345  	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1346  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
  1347  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0xca, 0x41, 0x20, 0x0a, 0x06, 0x46, 0x6f,
  1348  	0x6c, 0x64, 0x65, 0x72, 0x12, 0x16, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f,
  1349  	0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e,
  1350  	0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x76,
  1351  	0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f,
  1352  	0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x0c,
  1353  	0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67,
  1354  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
  1355  	0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1356  	0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31,
  1357  	0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3b, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f,
  1358  	0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f,
  1359  	0x76, 0x33, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x66, 0x6f, 0x6c,
  1360  	0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f,
  1361  	0x6c, 0x69, 0x63, 0x79, 0x12, 0x8d, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
  1362  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
  1363  	0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
  1364  	0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1365  	0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
  1366  	0x22, 0x42, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f,
  1367  	0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f,
  1368  	0x76, 0x33, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x66, 0x6f, 0x6c,
  1369  	0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f,
  1370  	0x6c, 0x69, 0x63, 0x79, 0x12, 0xb8, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d,
  1371  	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f,
  1372  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
  1373  	0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
  1374  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
  1375  	0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72,
  1376  	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1377  	0x22, 0x4d, 0xda, 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65,
  1378  	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a,
  1379  	0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1380  	0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73,
  1381  	0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a,
  1382  	0x90, 0x01, 0xca, 0x41, 0x23, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1383  	0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1384  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74, 0x70, 0x73,
  1385  	0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  1386  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1387  	0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
  1388  	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  1389  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
  1390  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e,
  1391  	0x6c, 0x79, 0x42, 0xed, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1392  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1393  	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x46, 0x6f, 0x6c, 0x64,
  1394  	0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x63, 0x6c, 0x6f, 0x75,
  1395  	0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f,
  1396  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f,
  1397  	0x61, 0x70, 0x69, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61,
  1398  	0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1399  	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67,
  1400  	0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1401  	0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x1f, 0x47, 0x6f,
  1402  	0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75,
  1403  	0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, 0x56, 0x33, 0xea, 0x02, 0x22,
  1404  	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52,
  1405  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x3a, 0x3a,
  1406  	0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1407  }
  1408  
  1409  var (
  1410  	file_google_cloud_resourcemanager_v3_folders_proto_rawDescOnce sync.Once
  1411  	file_google_cloud_resourcemanager_v3_folders_proto_rawDescData = file_google_cloud_resourcemanager_v3_folders_proto_rawDesc
  1412  )
  1413  
  1414  func file_google_cloud_resourcemanager_v3_folders_proto_rawDescGZIP() []byte {
  1415  	file_google_cloud_resourcemanager_v3_folders_proto_rawDescOnce.Do(func() {
  1416  		file_google_cloud_resourcemanager_v3_folders_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_resourcemanager_v3_folders_proto_rawDescData)
  1417  	})
  1418  	return file_google_cloud_resourcemanager_v3_folders_proto_rawDescData
  1419  }
  1420  
  1421  var file_google_cloud_resourcemanager_v3_folders_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1422  var file_google_cloud_resourcemanager_v3_folders_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
  1423  var file_google_cloud_resourcemanager_v3_folders_proto_goTypes = []interface{}{
  1424  	(Folder_State)(0),                        // 0: google.cloud.resourcemanager.v3.Folder.State
  1425  	(*Folder)(nil),                           // 1: google.cloud.resourcemanager.v3.Folder
  1426  	(*GetFolderRequest)(nil),                 // 2: google.cloud.resourcemanager.v3.GetFolderRequest
  1427  	(*ListFoldersRequest)(nil),               // 3: google.cloud.resourcemanager.v3.ListFoldersRequest
  1428  	(*ListFoldersResponse)(nil),              // 4: google.cloud.resourcemanager.v3.ListFoldersResponse
  1429  	(*SearchFoldersRequest)(nil),             // 5: google.cloud.resourcemanager.v3.SearchFoldersRequest
  1430  	(*SearchFoldersResponse)(nil),            // 6: google.cloud.resourcemanager.v3.SearchFoldersResponse
  1431  	(*CreateFolderRequest)(nil),              // 7: google.cloud.resourcemanager.v3.CreateFolderRequest
  1432  	(*CreateFolderMetadata)(nil),             // 8: google.cloud.resourcemanager.v3.CreateFolderMetadata
  1433  	(*UpdateFolderRequest)(nil),              // 9: google.cloud.resourcemanager.v3.UpdateFolderRequest
  1434  	(*UpdateFolderMetadata)(nil),             // 10: google.cloud.resourcemanager.v3.UpdateFolderMetadata
  1435  	(*MoveFolderRequest)(nil),                // 11: google.cloud.resourcemanager.v3.MoveFolderRequest
  1436  	(*MoveFolderMetadata)(nil),               // 12: google.cloud.resourcemanager.v3.MoveFolderMetadata
  1437  	(*DeleteFolderRequest)(nil),              // 13: google.cloud.resourcemanager.v3.DeleteFolderRequest
  1438  	(*DeleteFolderMetadata)(nil),             // 14: google.cloud.resourcemanager.v3.DeleteFolderMetadata
  1439  	(*UndeleteFolderRequest)(nil),            // 15: google.cloud.resourcemanager.v3.UndeleteFolderRequest
  1440  	(*UndeleteFolderMetadata)(nil),           // 16: google.cloud.resourcemanager.v3.UndeleteFolderMetadata
  1441  	(*timestamppb.Timestamp)(nil),            // 17: google.protobuf.Timestamp
  1442  	(*fieldmaskpb.FieldMask)(nil),            // 18: google.protobuf.FieldMask
  1443  	(*iampb.GetIamPolicyRequest)(nil),        // 19: google.iam.v1.GetIamPolicyRequest
  1444  	(*iampb.SetIamPolicyRequest)(nil),        // 20: google.iam.v1.SetIamPolicyRequest
  1445  	(*iampb.TestIamPermissionsRequest)(nil),  // 21: google.iam.v1.TestIamPermissionsRequest
  1446  	(*longrunningpb.Operation)(nil),          // 22: google.longrunning.Operation
  1447  	(*iampb.Policy)(nil),                     // 23: google.iam.v1.Policy
  1448  	(*iampb.TestIamPermissionsResponse)(nil), // 24: google.iam.v1.TestIamPermissionsResponse
  1449  }
  1450  var file_google_cloud_resourcemanager_v3_folders_proto_depIdxs = []int32{
  1451  	0,  // 0: google.cloud.resourcemanager.v3.Folder.state:type_name -> google.cloud.resourcemanager.v3.Folder.State
  1452  	17, // 1: google.cloud.resourcemanager.v3.Folder.create_time:type_name -> google.protobuf.Timestamp
  1453  	17, // 2: google.cloud.resourcemanager.v3.Folder.update_time:type_name -> google.protobuf.Timestamp
  1454  	17, // 3: google.cloud.resourcemanager.v3.Folder.delete_time:type_name -> google.protobuf.Timestamp
  1455  	1,  // 4: google.cloud.resourcemanager.v3.ListFoldersResponse.folders:type_name -> google.cloud.resourcemanager.v3.Folder
  1456  	1,  // 5: google.cloud.resourcemanager.v3.SearchFoldersResponse.folders:type_name -> google.cloud.resourcemanager.v3.Folder
  1457  	1,  // 6: google.cloud.resourcemanager.v3.CreateFolderRequest.folder:type_name -> google.cloud.resourcemanager.v3.Folder
  1458  	1,  // 7: google.cloud.resourcemanager.v3.UpdateFolderRequest.folder:type_name -> google.cloud.resourcemanager.v3.Folder
  1459  	18, // 8: google.cloud.resourcemanager.v3.UpdateFolderRequest.update_mask:type_name -> google.protobuf.FieldMask
  1460  	2,  // 9: google.cloud.resourcemanager.v3.Folders.GetFolder:input_type -> google.cloud.resourcemanager.v3.GetFolderRequest
  1461  	3,  // 10: google.cloud.resourcemanager.v3.Folders.ListFolders:input_type -> google.cloud.resourcemanager.v3.ListFoldersRequest
  1462  	5,  // 11: google.cloud.resourcemanager.v3.Folders.SearchFolders:input_type -> google.cloud.resourcemanager.v3.SearchFoldersRequest
  1463  	7,  // 12: google.cloud.resourcemanager.v3.Folders.CreateFolder:input_type -> google.cloud.resourcemanager.v3.CreateFolderRequest
  1464  	9,  // 13: google.cloud.resourcemanager.v3.Folders.UpdateFolder:input_type -> google.cloud.resourcemanager.v3.UpdateFolderRequest
  1465  	11, // 14: google.cloud.resourcemanager.v3.Folders.MoveFolder:input_type -> google.cloud.resourcemanager.v3.MoveFolderRequest
  1466  	13, // 15: google.cloud.resourcemanager.v3.Folders.DeleteFolder:input_type -> google.cloud.resourcemanager.v3.DeleteFolderRequest
  1467  	15, // 16: google.cloud.resourcemanager.v3.Folders.UndeleteFolder:input_type -> google.cloud.resourcemanager.v3.UndeleteFolderRequest
  1468  	19, // 17: google.cloud.resourcemanager.v3.Folders.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
  1469  	20, // 18: google.cloud.resourcemanager.v3.Folders.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
  1470  	21, // 19: google.cloud.resourcemanager.v3.Folders.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
  1471  	1,  // 20: google.cloud.resourcemanager.v3.Folders.GetFolder:output_type -> google.cloud.resourcemanager.v3.Folder
  1472  	4,  // 21: google.cloud.resourcemanager.v3.Folders.ListFolders:output_type -> google.cloud.resourcemanager.v3.ListFoldersResponse
  1473  	6,  // 22: google.cloud.resourcemanager.v3.Folders.SearchFolders:output_type -> google.cloud.resourcemanager.v3.SearchFoldersResponse
  1474  	22, // 23: google.cloud.resourcemanager.v3.Folders.CreateFolder:output_type -> google.longrunning.Operation
  1475  	22, // 24: google.cloud.resourcemanager.v3.Folders.UpdateFolder:output_type -> google.longrunning.Operation
  1476  	22, // 25: google.cloud.resourcemanager.v3.Folders.MoveFolder:output_type -> google.longrunning.Operation
  1477  	22, // 26: google.cloud.resourcemanager.v3.Folders.DeleteFolder:output_type -> google.longrunning.Operation
  1478  	22, // 27: google.cloud.resourcemanager.v3.Folders.UndeleteFolder:output_type -> google.longrunning.Operation
  1479  	23, // 28: google.cloud.resourcemanager.v3.Folders.GetIamPolicy:output_type -> google.iam.v1.Policy
  1480  	23, // 29: google.cloud.resourcemanager.v3.Folders.SetIamPolicy:output_type -> google.iam.v1.Policy
  1481  	24, // 30: google.cloud.resourcemanager.v3.Folders.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
  1482  	20, // [20:31] is the sub-list for method output_type
  1483  	9,  // [9:20] is the sub-list for method input_type
  1484  	9,  // [9:9] is the sub-list for extension type_name
  1485  	9,  // [9:9] is the sub-list for extension extendee
  1486  	0,  // [0:9] is the sub-list for field type_name
  1487  }
  1488  
  1489  func init() { file_google_cloud_resourcemanager_v3_folders_proto_init() }
  1490  func file_google_cloud_resourcemanager_v3_folders_proto_init() {
  1491  	if File_google_cloud_resourcemanager_v3_folders_proto != nil {
  1492  		return
  1493  	}
  1494  	if !protoimpl.UnsafeEnabled {
  1495  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1496  			switch v := v.(*Folder); i {
  1497  			case 0:
  1498  				return &v.state
  1499  			case 1:
  1500  				return &v.sizeCache
  1501  			case 2:
  1502  				return &v.unknownFields
  1503  			default:
  1504  				return nil
  1505  			}
  1506  		}
  1507  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1508  			switch v := v.(*GetFolderRequest); i {
  1509  			case 0:
  1510  				return &v.state
  1511  			case 1:
  1512  				return &v.sizeCache
  1513  			case 2:
  1514  				return &v.unknownFields
  1515  			default:
  1516  				return nil
  1517  			}
  1518  		}
  1519  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1520  			switch v := v.(*ListFoldersRequest); i {
  1521  			case 0:
  1522  				return &v.state
  1523  			case 1:
  1524  				return &v.sizeCache
  1525  			case 2:
  1526  				return &v.unknownFields
  1527  			default:
  1528  				return nil
  1529  			}
  1530  		}
  1531  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1532  			switch v := v.(*ListFoldersResponse); i {
  1533  			case 0:
  1534  				return &v.state
  1535  			case 1:
  1536  				return &v.sizeCache
  1537  			case 2:
  1538  				return &v.unknownFields
  1539  			default:
  1540  				return nil
  1541  			}
  1542  		}
  1543  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1544  			switch v := v.(*SearchFoldersRequest); i {
  1545  			case 0:
  1546  				return &v.state
  1547  			case 1:
  1548  				return &v.sizeCache
  1549  			case 2:
  1550  				return &v.unknownFields
  1551  			default:
  1552  				return nil
  1553  			}
  1554  		}
  1555  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1556  			switch v := v.(*SearchFoldersResponse); i {
  1557  			case 0:
  1558  				return &v.state
  1559  			case 1:
  1560  				return &v.sizeCache
  1561  			case 2:
  1562  				return &v.unknownFields
  1563  			default:
  1564  				return nil
  1565  			}
  1566  		}
  1567  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1568  			switch v := v.(*CreateFolderRequest); i {
  1569  			case 0:
  1570  				return &v.state
  1571  			case 1:
  1572  				return &v.sizeCache
  1573  			case 2:
  1574  				return &v.unknownFields
  1575  			default:
  1576  				return nil
  1577  			}
  1578  		}
  1579  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1580  			switch v := v.(*CreateFolderMetadata); i {
  1581  			case 0:
  1582  				return &v.state
  1583  			case 1:
  1584  				return &v.sizeCache
  1585  			case 2:
  1586  				return &v.unknownFields
  1587  			default:
  1588  				return nil
  1589  			}
  1590  		}
  1591  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1592  			switch v := v.(*UpdateFolderRequest); i {
  1593  			case 0:
  1594  				return &v.state
  1595  			case 1:
  1596  				return &v.sizeCache
  1597  			case 2:
  1598  				return &v.unknownFields
  1599  			default:
  1600  				return nil
  1601  			}
  1602  		}
  1603  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1604  			switch v := v.(*UpdateFolderMetadata); i {
  1605  			case 0:
  1606  				return &v.state
  1607  			case 1:
  1608  				return &v.sizeCache
  1609  			case 2:
  1610  				return &v.unknownFields
  1611  			default:
  1612  				return nil
  1613  			}
  1614  		}
  1615  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1616  			switch v := v.(*MoveFolderRequest); i {
  1617  			case 0:
  1618  				return &v.state
  1619  			case 1:
  1620  				return &v.sizeCache
  1621  			case 2:
  1622  				return &v.unknownFields
  1623  			default:
  1624  				return nil
  1625  			}
  1626  		}
  1627  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1628  			switch v := v.(*MoveFolderMetadata); i {
  1629  			case 0:
  1630  				return &v.state
  1631  			case 1:
  1632  				return &v.sizeCache
  1633  			case 2:
  1634  				return &v.unknownFields
  1635  			default:
  1636  				return nil
  1637  			}
  1638  		}
  1639  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1640  			switch v := v.(*DeleteFolderRequest); i {
  1641  			case 0:
  1642  				return &v.state
  1643  			case 1:
  1644  				return &v.sizeCache
  1645  			case 2:
  1646  				return &v.unknownFields
  1647  			default:
  1648  				return nil
  1649  			}
  1650  		}
  1651  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1652  			switch v := v.(*DeleteFolderMetadata); i {
  1653  			case 0:
  1654  				return &v.state
  1655  			case 1:
  1656  				return &v.sizeCache
  1657  			case 2:
  1658  				return &v.unknownFields
  1659  			default:
  1660  				return nil
  1661  			}
  1662  		}
  1663  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1664  			switch v := v.(*UndeleteFolderRequest); i {
  1665  			case 0:
  1666  				return &v.state
  1667  			case 1:
  1668  				return &v.sizeCache
  1669  			case 2:
  1670  				return &v.unknownFields
  1671  			default:
  1672  				return nil
  1673  			}
  1674  		}
  1675  		file_google_cloud_resourcemanager_v3_folders_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  1676  			switch v := v.(*UndeleteFolderMetadata); i {
  1677  			case 0:
  1678  				return &v.state
  1679  			case 1:
  1680  				return &v.sizeCache
  1681  			case 2:
  1682  				return &v.unknownFields
  1683  			default:
  1684  				return nil
  1685  			}
  1686  		}
  1687  	}
  1688  	type x struct{}
  1689  	out := protoimpl.TypeBuilder{
  1690  		File: protoimpl.DescBuilder{
  1691  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1692  			RawDescriptor: file_google_cloud_resourcemanager_v3_folders_proto_rawDesc,
  1693  			NumEnums:      1,
  1694  			NumMessages:   16,
  1695  			NumExtensions: 0,
  1696  			NumServices:   1,
  1697  		},
  1698  		GoTypes:           file_google_cloud_resourcemanager_v3_folders_proto_goTypes,
  1699  		DependencyIndexes: file_google_cloud_resourcemanager_v3_folders_proto_depIdxs,
  1700  		EnumInfos:         file_google_cloud_resourcemanager_v3_folders_proto_enumTypes,
  1701  		MessageInfos:      file_google_cloud_resourcemanager_v3_folders_proto_msgTypes,
  1702  	}.Build()
  1703  	File_google_cloud_resourcemanager_v3_folders_proto = out.File
  1704  	file_google_cloud_resourcemanager_v3_folders_proto_rawDesc = nil
  1705  	file_google_cloud_resourcemanager_v3_folders_proto_goTypes = nil
  1706  	file_google_cloud_resourcemanager_v3_folders_proto_depIdxs = nil
  1707  }
  1708  
  1709  // Reference imports to suppress errors if they are not otherwise used.
  1710  var _ context.Context
  1711  var _ grpc.ClientConnInterface
  1712  
  1713  // This is a compile-time assertion to ensure that this generated file
  1714  // is compatible with the grpc package it is being compiled against.
  1715  const _ = grpc.SupportPackageIsVersion6
  1716  
  1717  // FoldersClient is the client API for Folders service.
  1718  //
  1719  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1720  type FoldersClient interface {
  1721  	// Retrieves a folder identified by the supplied resource name.
  1722  	// Valid folder resource names have the format `folders/{folder_id}`
  1723  	// (for example, `folders/1234`).
  1724  	// The caller must have `resourcemanager.folders.get` permission on the
  1725  	// identified folder.
  1726  	GetFolder(ctx context.Context, in *GetFolderRequest, opts ...grpc.CallOption) (*Folder, error)
  1727  	// Lists the folders that are direct descendants of supplied parent resource.
  1728  	// `list()` provides a strongly consistent view of the folders underneath
  1729  	// the specified parent resource.
  1730  	// `list()` returns folders sorted based upon the (ascending) lexical ordering
  1731  	// of their display_name.
  1732  	// The caller must have `resourcemanager.folders.list` permission on the
  1733  	// identified parent.
  1734  	ListFolders(ctx context.Context, in *ListFoldersRequest, opts ...grpc.CallOption) (*ListFoldersResponse, error)
  1735  	// Search for folders that match specific filter criteria.
  1736  	// `search()` provides an eventually consistent view of the folders a user has
  1737  	// access to which meet the specified filter criteria.
  1738  	//
  1739  	// This will only return folders on which the caller has the
  1740  	// permission `resourcemanager.folders.get`.
  1741  	SearchFolders(ctx context.Context, in *SearchFoldersRequest, opts ...grpc.CallOption) (*SearchFoldersResponse, error)
  1742  	// Creates a folder in the resource hierarchy.
  1743  	// Returns an `Operation` which can be used to track the progress of the
  1744  	// folder creation workflow.
  1745  	// Upon success, the `Operation.response` field will be populated with the
  1746  	// created Folder.
  1747  	//
  1748  	// In order to succeed, the addition of this new folder must not violate
  1749  	// the folder naming, height, or fanout constraints.
  1750  	//
  1751  	// + The folder's `display_name` must be distinct from all other folders that
  1752  	// share its parent.
  1753  	// + The addition of the folder must not cause the active folder hierarchy
  1754  	// to exceed a height of 10. Note, the full active + deleted folder hierarchy
  1755  	// is allowed to reach a height of 20; this provides additional headroom when
  1756  	// moving folders that contain deleted folders.
  1757  	// + The addition of the folder must not cause the total number of folders
  1758  	// under its parent to exceed 300.
  1759  	//
  1760  	// If the operation fails due to a folder constraint violation, some errors
  1761  	// may be returned by the `CreateFolder` request, with status code
  1762  	// `FAILED_PRECONDITION` and an error description. Other folder constraint
  1763  	// violations will be communicated in the `Operation`, with the specific
  1764  	// `PreconditionFailure` returned in the details list in the `Operation.error`
  1765  	// field.
  1766  	//
  1767  	// The caller must have `resourcemanager.folders.create` permission on the
  1768  	// identified parent.
  1769  	CreateFolder(ctx context.Context, in *CreateFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
  1770  	// Updates a folder, changing its `display_name`.
  1771  	// Changes to the folder `display_name` will be rejected if they violate
  1772  	// either the `display_name` formatting rules or the naming constraints
  1773  	// described in the
  1774  	// [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
  1775  	// documentation.
  1776  	//
  1777  	// The folder's `display_name` must start and end with a letter or digit,
  1778  	// may contain letters, digits, spaces, hyphens and underscores and can be
  1779  	// between 3 and 30 characters. This is captured by the regular expression:
  1780  	// `[\p{L}\p{N}][\p{L}\p{N}_- ]{1,28}[\p{L}\p{N}]`.
  1781  	// The caller must have `resourcemanager.folders.update` permission on the
  1782  	// identified folder.
  1783  	//
  1784  	// If the update fails due to the unique name constraint then a
  1785  	// `PreconditionFailure` explaining this violation will be returned
  1786  	// in the Status.details field.
  1787  	UpdateFolder(ctx context.Context, in *UpdateFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
  1788  	// Moves a folder under a new resource parent.
  1789  	// Returns an `Operation` which can be used to track the progress of the
  1790  	// folder move workflow.
  1791  	// Upon success, the `Operation.response` field will be populated with the
  1792  	// moved folder.
  1793  	// Upon failure, a `FolderOperationError` categorizing the failure cause will
  1794  	// be returned - if the failure occurs synchronously then the
  1795  	// `FolderOperationError` will be returned in the `Status.details` field.
  1796  	// If it occurs asynchronously, then the FolderOperation will be returned
  1797  	// in the `Operation.error` field.
  1798  	// In addition, the `Operation.metadata` field will be populated with a
  1799  	// `FolderOperation` message as an aid to stateless clients.
  1800  	// Folder moves will be rejected if they violate either the naming, height,
  1801  	// or fanout constraints described in the
  1802  	// [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
  1803  	// documentation. The caller must have `resourcemanager.folders.move`
  1804  	// permission on the folder's current and proposed new parent.
  1805  	MoveFolder(ctx context.Context, in *MoveFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
  1806  	// Requests deletion of a folder. The folder is moved into the
  1807  	// [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
  1808  	// state immediately, and is deleted approximately 30 days later. This method
  1809  	// may only be called on an empty folder, where a folder is empty if it
  1810  	// doesn't contain any folders or projects in the
  1811  	// [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. If
  1812  	// called on a folder in
  1813  	// [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
  1814  	// state the operation will result in a no-op success.
  1815  	// The caller must have `resourcemanager.folders.delete` permission on the
  1816  	// identified folder.
  1817  	DeleteFolder(ctx context.Context, in *DeleteFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
  1818  	// Cancels the deletion request for a folder. This method may be called on a
  1819  	// folder in any state. If the folder is in the
  1820  	// [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state the
  1821  	// result will be a no-op success. In order to succeed, the folder's parent
  1822  	// must be in the
  1823  	// [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. In
  1824  	// addition, reintroducing the folder into the tree must not violate folder
  1825  	// naming, height, and fanout constraints described in the
  1826  	// [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
  1827  	// documentation. The caller must have `resourcemanager.folders.undelete`
  1828  	// permission on the identified folder.
  1829  	UndeleteFolder(ctx context.Context, in *UndeleteFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
  1830  	// Gets the access control policy for a folder. The returned policy may be
  1831  	// empty if no such policy or resource exists. The `resource` field should
  1832  	// be the folder's resource name, for example: "folders/1234".
  1833  	// The caller must have `resourcemanager.folders.getIamPolicy` permission
  1834  	// on the identified folder.
  1835  	GetIamPolicy(ctx context.Context, in *iampb.GetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error)
  1836  	// Sets the access control policy on a folder, replacing any existing policy.
  1837  	// The `resource` field should be the folder's resource name, for example:
  1838  	// "folders/1234".
  1839  	// The caller must have `resourcemanager.folders.setIamPolicy` permission
  1840  	// on the identified folder.
  1841  	SetIamPolicy(ctx context.Context, in *iampb.SetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error)
  1842  	// Returns permissions that a caller has on the specified folder.
  1843  	// The `resource` field should be the folder's resource name,
  1844  	// for example: "folders/1234".
  1845  	//
  1846  	// There are no permissions required for making this API call.
  1847  	TestIamPermissions(ctx context.Context, in *iampb.TestIamPermissionsRequest, opts ...grpc.CallOption) (*iampb.TestIamPermissionsResponse, error)
  1848  }
  1849  
  1850  type foldersClient struct {
  1851  	cc grpc.ClientConnInterface
  1852  }
  1853  
  1854  func NewFoldersClient(cc grpc.ClientConnInterface) FoldersClient {
  1855  	return &foldersClient{cc}
  1856  }
  1857  
  1858  func (c *foldersClient) GetFolder(ctx context.Context, in *GetFolderRequest, opts ...grpc.CallOption) (*Folder, error) {
  1859  	out := new(Folder)
  1860  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/GetFolder", in, out, opts...)
  1861  	if err != nil {
  1862  		return nil, err
  1863  	}
  1864  	return out, nil
  1865  }
  1866  
  1867  func (c *foldersClient) ListFolders(ctx context.Context, in *ListFoldersRequest, opts ...grpc.CallOption) (*ListFoldersResponse, error) {
  1868  	out := new(ListFoldersResponse)
  1869  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/ListFolders", in, out, opts...)
  1870  	if err != nil {
  1871  		return nil, err
  1872  	}
  1873  	return out, nil
  1874  }
  1875  
  1876  func (c *foldersClient) SearchFolders(ctx context.Context, in *SearchFoldersRequest, opts ...grpc.CallOption) (*SearchFoldersResponse, error) {
  1877  	out := new(SearchFoldersResponse)
  1878  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/SearchFolders", in, out, opts...)
  1879  	if err != nil {
  1880  		return nil, err
  1881  	}
  1882  	return out, nil
  1883  }
  1884  
  1885  func (c *foldersClient) CreateFolder(ctx context.Context, in *CreateFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
  1886  	out := new(longrunningpb.Operation)
  1887  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/CreateFolder", in, out, opts...)
  1888  	if err != nil {
  1889  		return nil, err
  1890  	}
  1891  	return out, nil
  1892  }
  1893  
  1894  func (c *foldersClient) UpdateFolder(ctx context.Context, in *UpdateFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
  1895  	out := new(longrunningpb.Operation)
  1896  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/UpdateFolder", in, out, opts...)
  1897  	if err != nil {
  1898  		return nil, err
  1899  	}
  1900  	return out, nil
  1901  }
  1902  
  1903  func (c *foldersClient) MoveFolder(ctx context.Context, in *MoveFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
  1904  	out := new(longrunningpb.Operation)
  1905  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/MoveFolder", in, out, opts...)
  1906  	if err != nil {
  1907  		return nil, err
  1908  	}
  1909  	return out, nil
  1910  }
  1911  
  1912  func (c *foldersClient) DeleteFolder(ctx context.Context, in *DeleteFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
  1913  	out := new(longrunningpb.Operation)
  1914  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/DeleteFolder", in, out, opts...)
  1915  	if err != nil {
  1916  		return nil, err
  1917  	}
  1918  	return out, nil
  1919  }
  1920  
  1921  func (c *foldersClient) UndeleteFolder(ctx context.Context, in *UndeleteFolderRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
  1922  	out := new(longrunningpb.Operation)
  1923  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/UndeleteFolder", in, out, opts...)
  1924  	if err != nil {
  1925  		return nil, err
  1926  	}
  1927  	return out, nil
  1928  }
  1929  
  1930  func (c *foldersClient) GetIamPolicy(ctx context.Context, in *iampb.GetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) {
  1931  	out := new(iampb.Policy)
  1932  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/GetIamPolicy", in, out, opts...)
  1933  	if err != nil {
  1934  		return nil, err
  1935  	}
  1936  	return out, nil
  1937  }
  1938  
  1939  func (c *foldersClient) SetIamPolicy(ctx context.Context, in *iampb.SetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) {
  1940  	out := new(iampb.Policy)
  1941  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/SetIamPolicy", in, out, opts...)
  1942  	if err != nil {
  1943  		return nil, err
  1944  	}
  1945  	return out, nil
  1946  }
  1947  
  1948  func (c *foldersClient) TestIamPermissions(ctx context.Context, in *iampb.TestIamPermissionsRequest, opts ...grpc.CallOption) (*iampb.TestIamPermissionsResponse, error) {
  1949  	out := new(iampb.TestIamPermissionsResponse)
  1950  	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v3.Folders/TestIamPermissions", in, out, opts...)
  1951  	if err != nil {
  1952  		return nil, err
  1953  	}
  1954  	return out, nil
  1955  }
  1956  
  1957  // FoldersServer is the server API for Folders service.
  1958  type FoldersServer interface {
  1959  	// Retrieves a folder identified by the supplied resource name.
  1960  	// Valid folder resource names have the format `folders/{folder_id}`
  1961  	// (for example, `folders/1234`).
  1962  	// The caller must have `resourcemanager.folders.get` permission on the
  1963  	// identified folder.
  1964  	GetFolder(context.Context, *GetFolderRequest) (*Folder, error)
  1965  	// Lists the folders that are direct descendants of supplied parent resource.
  1966  	// `list()` provides a strongly consistent view of the folders underneath
  1967  	// the specified parent resource.
  1968  	// `list()` returns folders sorted based upon the (ascending) lexical ordering
  1969  	// of their display_name.
  1970  	// The caller must have `resourcemanager.folders.list` permission on the
  1971  	// identified parent.
  1972  	ListFolders(context.Context, *ListFoldersRequest) (*ListFoldersResponse, error)
  1973  	// Search for folders that match specific filter criteria.
  1974  	// `search()` provides an eventually consistent view of the folders a user has
  1975  	// access to which meet the specified filter criteria.
  1976  	//
  1977  	// This will only return folders on which the caller has the
  1978  	// permission `resourcemanager.folders.get`.
  1979  	SearchFolders(context.Context, *SearchFoldersRequest) (*SearchFoldersResponse, error)
  1980  	// Creates a folder in the resource hierarchy.
  1981  	// Returns an `Operation` which can be used to track the progress of the
  1982  	// folder creation workflow.
  1983  	// Upon success, the `Operation.response` field will be populated with the
  1984  	// created Folder.
  1985  	//
  1986  	// In order to succeed, the addition of this new folder must not violate
  1987  	// the folder naming, height, or fanout constraints.
  1988  	//
  1989  	// + The folder's `display_name` must be distinct from all other folders that
  1990  	// share its parent.
  1991  	// + The addition of the folder must not cause the active folder hierarchy
  1992  	// to exceed a height of 10. Note, the full active + deleted folder hierarchy
  1993  	// is allowed to reach a height of 20; this provides additional headroom when
  1994  	// moving folders that contain deleted folders.
  1995  	// + The addition of the folder must not cause the total number of folders
  1996  	// under its parent to exceed 300.
  1997  	//
  1998  	// If the operation fails due to a folder constraint violation, some errors
  1999  	// may be returned by the `CreateFolder` request, with status code
  2000  	// `FAILED_PRECONDITION` and an error description. Other folder constraint
  2001  	// violations will be communicated in the `Operation`, with the specific
  2002  	// `PreconditionFailure` returned in the details list in the `Operation.error`
  2003  	// field.
  2004  	//
  2005  	// The caller must have `resourcemanager.folders.create` permission on the
  2006  	// identified parent.
  2007  	CreateFolder(context.Context, *CreateFolderRequest) (*longrunningpb.Operation, error)
  2008  	// Updates a folder, changing its `display_name`.
  2009  	// Changes to the folder `display_name` will be rejected if they violate
  2010  	// either the `display_name` formatting rules or the naming constraints
  2011  	// described in the
  2012  	// [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
  2013  	// documentation.
  2014  	//
  2015  	// The folder's `display_name` must start and end with a letter or digit,
  2016  	// may contain letters, digits, spaces, hyphens and underscores and can be
  2017  	// between 3 and 30 characters. This is captured by the regular expression:
  2018  	// `[\p{L}\p{N}][\p{L}\p{N}_- ]{1,28}[\p{L}\p{N}]`.
  2019  	// The caller must have `resourcemanager.folders.update` permission on the
  2020  	// identified folder.
  2021  	//
  2022  	// If the update fails due to the unique name constraint then a
  2023  	// `PreconditionFailure` explaining this violation will be returned
  2024  	// in the Status.details field.
  2025  	UpdateFolder(context.Context, *UpdateFolderRequest) (*longrunningpb.Operation, error)
  2026  	// Moves a folder under a new resource parent.
  2027  	// Returns an `Operation` which can be used to track the progress of the
  2028  	// folder move workflow.
  2029  	// Upon success, the `Operation.response` field will be populated with the
  2030  	// moved folder.
  2031  	// Upon failure, a `FolderOperationError` categorizing the failure cause will
  2032  	// be returned - if the failure occurs synchronously then the
  2033  	// `FolderOperationError` will be returned in the `Status.details` field.
  2034  	// If it occurs asynchronously, then the FolderOperation will be returned
  2035  	// in the `Operation.error` field.
  2036  	// In addition, the `Operation.metadata` field will be populated with a
  2037  	// `FolderOperation` message as an aid to stateless clients.
  2038  	// Folder moves will be rejected if they violate either the naming, height,
  2039  	// or fanout constraints described in the
  2040  	// [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
  2041  	// documentation. The caller must have `resourcemanager.folders.move`
  2042  	// permission on the folder's current and proposed new parent.
  2043  	MoveFolder(context.Context, *MoveFolderRequest) (*longrunningpb.Operation, error)
  2044  	// Requests deletion of a folder. The folder is moved into the
  2045  	// [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
  2046  	// state immediately, and is deleted approximately 30 days later. This method
  2047  	// may only be called on an empty folder, where a folder is empty if it
  2048  	// doesn't contain any folders or projects in the
  2049  	// [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. If
  2050  	// called on a folder in
  2051  	// [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
  2052  	// state the operation will result in a no-op success.
  2053  	// The caller must have `resourcemanager.folders.delete` permission on the
  2054  	// identified folder.
  2055  	DeleteFolder(context.Context, *DeleteFolderRequest) (*longrunningpb.Operation, error)
  2056  	// Cancels the deletion request for a folder. This method may be called on a
  2057  	// folder in any state. If the folder is in the
  2058  	// [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state the
  2059  	// result will be a no-op success. In order to succeed, the folder's parent
  2060  	// must be in the
  2061  	// [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. In
  2062  	// addition, reintroducing the folder into the tree must not violate folder
  2063  	// naming, height, and fanout constraints described in the
  2064  	// [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
  2065  	// documentation. The caller must have `resourcemanager.folders.undelete`
  2066  	// permission on the identified folder.
  2067  	UndeleteFolder(context.Context, *UndeleteFolderRequest) (*longrunningpb.Operation, error)
  2068  	// Gets the access control policy for a folder. The returned policy may be
  2069  	// empty if no such policy or resource exists. The `resource` field should
  2070  	// be the folder's resource name, for example: "folders/1234".
  2071  	// The caller must have `resourcemanager.folders.getIamPolicy` permission
  2072  	// on the identified folder.
  2073  	GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest) (*iampb.Policy, error)
  2074  	// Sets the access control policy on a folder, replacing any existing policy.
  2075  	// The `resource` field should be the folder's resource name, for example:
  2076  	// "folders/1234".
  2077  	// The caller must have `resourcemanager.folders.setIamPolicy` permission
  2078  	// on the identified folder.
  2079  	SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest) (*iampb.Policy, error)
  2080  	// Returns permissions that a caller has on the specified folder.
  2081  	// The `resource` field should be the folder's resource name,
  2082  	// for example: "folders/1234".
  2083  	//
  2084  	// There are no permissions required for making this API call.
  2085  	TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error)
  2086  }
  2087  
  2088  // UnimplementedFoldersServer can be embedded to have forward compatible implementations.
  2089  type UnimplementedFoldersServer struct {
  2090  }
  2091  
  2092  func (*UnimplementedFoldersServer) GetFolder(context.Context, *GetFolderRequest) (*Folder, error) {
  2093  	return nil, status.Errorf(codes.Unimplemented, "method GetFolder not implemented")
  2094  }
  2095  func (*UnimplementedFoldersServer) ListFolders(context.Context, *ListFoldersRequest) (*ListFoldersResponse, error) {
  2096  	return nil, status.Errorf(codes.Unimplemented, "method ListFolders not implemented")
  2097  }
  2098  func (*UnimplementedFoldersServer) SearchFolders(context.Context, *SearchFoldersRequest) (*SearchFoldersResponse, error) {
  2099  	return nil, status.Errorf(codes.Unimplemented, "method SearchFolders not implemented")
  2100  }
  2101  func (*UnimplementedFoldersServer) CreateFolder(context.Context, *CreateFolderRequest) (*longrunningpb.Operation, error) {
  2102  	return nil, status.Errorf(codes.Unimplemented, "method CreateFolder not implemented")
  2103  }
  2104  func (*UnimplementedFoldersServer) UpdateFolder(context.Context, *UpdateFolderRequest) (*longrunningpb.Operation, error) {
  2105  	return nil, status.Errorf(codes.Unimplemented, "method UpdateFolder not implemented")
  2106  }
  2107  func (*UnimplementedFoldersServer) MoveFolder(context.Context, *MoveFolderRequest) (*longrunningpb.Operation, error) {
  2108  	return nil, status.Errorf(codes.Unimplemented, "method MoveFolder not implemented")
  2109  }
  2110  func (*UnimplementedFoldersServer) DeleteFolder(context.Context, *DeleteFolderRequest) (*longrunningpb.Operation, error) {
  2111  	return nil, status.Errorf(codes.Unimplemented, "method DeleteFolder not implemented")
  2112  }
  2113  func (*UnimplementedFoldersServer) UndeleteFolder(context.Context, *UndeleteFolderRequest) (*longrunningpb.Operation, error) {
  2114  	return nil, status.Errorf(codes.Unimplemented, "method UndeleteFolder not implemented")
  2115  }
  2116  func (*UnimplementedFoldersServer) GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest) (*iampb.Policy, error) {
  2117  	return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented")
  2118  }
  2119  func (*UnimplementedFoldersServer) SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest) (*iampb.Policy, error) {
  2120  	return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented")
  2121  }
  2122  func (*UnimplementedFoldersServer) TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) {
  2123  	return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented")
  2124  }
  2125  
  2126  func RegisterFoldersServer(s *grpc.Server, srv FoldersServer) {
  2127  	s.RegisterService(&_Folders_serviceDesc, srv)
  2128  }
  2129  
  2130  func _Folders_GetFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2131  	in := new(GetFolderRequest)
  2132  	if err := dec(in); err != nil {
  2133  		return nil, err
  2134  	}
  2135  	if interceptor == nil {
  2136  		return srv.(FoldersServer).GetFolder(ctx, in)
  2137  	}
  2138  	info := &grpc.UnaryServerInfo{
  2139  		Server:     srv,
  2140  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/GetFolder",
  2141  	}
  2142  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2143  		return srv.(FoldersServer).GetFolder(ctx, req.(*GetFolderRequest))
  2144  	}
  2145  	return interceptor(ctx, in, info, handler)
  2146  }
  2147  
  2148  func _Folders_ListFolders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2149  	in := new(ListFoldersRequest)
  2150  	if err := dec(in); err != nil {
  2151  		return nil, err
  2152  	}
  2153  	if interceptor == nil {
  2154  		return srv.(FoldersServer).ListFolders(ctx, in)
  2155  	}
  2156  	info := &grpc.UnaryServerInfo{
  2157  		Server:     srv,
  2158  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/ListFolders",
  2159  	}
  2160  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2161  		return srv.(FoldersServer).ListFolders(ctx, req.(*ListFoldersRequest))
  2162  	}
  2163  	return interceptor(ctx, in, info, handler)
  2164  }
  2165  
  2166  func _Folders_SearchFolders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2167  	in := new(SearchFoldersRequest)
  2168  	if err := dec(in); err != nil {
  2169  		return nil, err
  2170  	}
  2171  	if interceptor == nil {
  2172  		return srv.(FoldersServer).SearchFolders(ctx, in)
  2173  	}
  2174  	info := &grpc.UnaryServerInfo{
  2175  		Server:     srv,
  2176  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/SearchFolders",
  2177  	}
  2178  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2179  		return srv.(FoldersServer).SearchFolders(ctx, req.(*SearchFoldersRequest))
  2180  	}
  2181  	return interceptor(ctx, in, info, handler)
  2182  }
  2183  
  2184  func _Folders_CreateFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2185  	in := new(CreateFolderRequest)
  2186  	if err := dec(in); err != nil {
  2187  		return nil, err
  2188  	}
  2189  	if interceptor == nil {
  2190  		return srv.(FoldersServer).CreateFolder(ctx, in)
  2191  	}
  2192  	info := &grpc.UnaryServerInfo{
  2193  		Server:     srv,
  2194  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/CreateFolder",
  2195  	}
  2196  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2197  		return srv.(FoldersServer).CreateFolder(ctx, req.(*CreateFolderRequest))
  2198  	}
  2199  	return interceptor(ctx, in, info, handler)
  2200  }
  2201  
  2202  func _Folders_UpdateFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2203  	in := new(UpdateFolderRequest)
  2204  	if err := dec(in); err != nil {
  2205  		return nil, err
  2206  	}
  2207  	if interceptor == nil {
  2208  		return srv.(FoldersServer).UpdateFolder(ctx, in)
  2209  	}
  2210  	info := &grpc.UnaryServerInfo{
  2211  		Server:     srv,
  2212  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/UpdateFolder",
  2213  	}
  2214  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2215  		return srv.(FoldersServer).UpdateFolder(ctx, req.(*UpdateFolderRequest))
  2216  	}
  2217  	return interceptor(ctx, in, info, handler)
  2218  }
  2219  
  2220  func _Folders_MoveFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2221  	in := new(MoveFolderRequest)
  2222  	if err := dec(in); err != nil {
  2223  		return nil, err
  2224  	}
  2225  	if interceptor == nil {
  2226  		return srv.(FoldersServer).MoveFolder(ctx, in)
  2227  	}
  2228  	info := &grpc.UnaryServerInfo{
  2229  		Server:     srv,
  2230  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/MoveFolder",
  2231  	}
  2232  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2233  		return srv.(FoldersServer).MoveFolder(ctx, req.(*MoveFolderRequest))
  2234  	}
  2235  	return interceptor(ctx, in, info, handler)
  2236  }
  2237  
  2238  func _Folders_DeleteFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2239  	in := new(DeleteFolderRequest)
  2240  	if err := dec(in); err != nil {
  2241  		return nil, err
  2242  	}
  2243  	if interceptor == nil {
  2244  		return srv.(FoldersServer).DeleteFolder(ctx, in)
  2245  	}
  2246  	info := &grpc.UnaryServerInfo{
  2247  		Server:     srv,
  2248  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/DeleteFolder",
  2249  	}
  2250  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2251  		return srv.(FoldersServer).DeleteFolder(ctx, req.(*DeleteFolderRequest))
  2252  	}
  2253  	return interceptor(ctx, in, info, handler)
  2254  }
  2255  
  2256  func _Folders_UndeleteFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2257  	in := new(UndeleteFolderRequest)
  2258  	if err := dec(in); err != nil {
  2259  		return nil, err
  2260  	}
  2261  	if interceptor == nil {
  2262  		return srv.(FoldersServer).UndeleteFolder(ctx, in)
  2263  	}
  2264  	info := &grpc.UnaryServerInfo{
  2265  		Server:     srv,
  2266  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/UndeleteFolder",
  2267  	}
  2268  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2269  		return srv.(FoldersServer).UndeleteFolder(ctx, req.(*UndeleteFolderRequest))
  2270  	}
  2271  	return interceptor(ctx, in, info, handler)
  2272  }
  2273  
  2274  func _Folders_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2275  	in := new(iampb.GetIamPolicyRequest)
  2276  	if err := dec(in); err != nil {
  2277  		return nil, err
  2278  	}
  2279  	if interceptor == nil {
  2280  		return srv.(FoldersServer).GetIamPolicy(ctx, in)
  2281  	}
  2282  	info := &grpc.UnaryServerInfo{
  2283  		Server:     srv,
  2284  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/GetIamPolicy",
  2285  	}
  2286  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2287  		return srv.(FoldersServer).GetIamPolicy(ctx, req.(*iampb.GetIamPolicyRequest))
  2288  	}
  2289  	return interceptor(ctx, in, info, handler)
  2290  }
  2291  
  2292  func _Folders_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2293  	in := new(iampb.SetIamPolicyRequest)
  2294  	if err := dec(in); err != nil {
  2295  		return nil, err
  2296  	}
  2297  	if interceptor == nil {
  2298  		return srv.(FoldersServer).SetIamPolicy(ctx, in)
  2299  	}
  2300  	info := &grpc.UnaryServerInfo{
  2301  		Server:     srv,
  2302  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/SetIamPolicy",
  2303  	}
  2304  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2305  		return srv.(FoldersServer).SetIamPolicy(ctx, req.(*iampb.SetIamPolicyRequest))
  2306  	}
  2307  	return interceptor(ctx, in, info, handler)
  2308  }
  2309  
  2310  func _Folders_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2311  	in := new(iampb.TestIamPermissionsRequest)
  2312  	if err := dec(in); err != nil {
  2313  		return nil, err
  2314  	}
  2315  	if interceptor == nil {
  2316  		return srv.(FoldersServer).TestIamPermissions(ctx, in)
  2317  	}
  2318  	info := &grpc.UnaryServerInfo{
  2319  		Server:     srv,
  2320  		FullMethod: "/google.cloud.resourcemanager.v3.Folders/TestIamPermissions",
  2321  	}
  2322  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2323  		return srv.(FoldersServer).TestIamPermissions(ctx, req.(*iampb.TestIamPermissionsRequest))
  2324  	}
  2325  	return interceptor(ctx, in, info, handler)
  2326  }
  2327  
  2328  var _Folders_serviceDesc = grpc.ServiceDesc{
  2329  	ServiceName: "google.cloud.resourcemanager.v3.Folders",
  2330  	HandlerType: (*FoldersServer)(nil),
  2331  	Methods: []grpc.MethodDesc{
  2332  		{
  2333  			MethodName: "GetFolder",
  2334  			Handler:    _Folders_GetFolder_Handler,
  2335  		},
  2336  		{
  2337  			MethodName: "ListFolders",
  2338  			Handler:    _Folders_ListFolders_Handler,
  2339  		},
  2340  		{
  2341  			MethodName: "SearchFolders",
  2342  			Handler:    _Folders_SearchFolders_Handler,
  2343  		},
  2344  		{
  2345  			MethodName: "CreateFolder",
  2346  			Handler:    _Folders_CreateFolder_Handler,
  2347  		},
  2348  		{
  2349  			MethodName: "UpdateFolder",
  2350  			Handler:    _Folders_UpdateFolder_Handler,
  2351  		},
  2352  		{
  2353  			MethodName: "MoveFolder",
  2354  			Handler:    _Folders_MoveFolder_Handler,
  2355  		},
  2356  		{
  2357  			MethodName: "DeleteFolder",
  2358  			Handler:    _Folders_DeleteFolder_Handler,
  2359  		},
  2360  		{
  2361  			MethodName: "UndeleteFolder",
  2362  			Handler:    _Folders_UndeleteFolder_Handler,
  2363  		},
  2364  		{
  2365  			MethodName: "GetIamPolicy",
  2366  			Handler:    _Folders_GetIamPolicy_Handler,
  2367  		},
  2368  		{
  2369  			MethodName: "SetIamPolicy",
  2370  			Handler:    _Folders_SetIamPolicy_Handler,
  2371  		},
  2372  		{
  2373  			MethodName: "TestIamPermissions",
  2374  			Handler:    _Folders_TestIamPermissions_Handler,
  2375  		},
  2376  	},
  2377  	Streams:  []grpc.StreamDesc{},
  2378  	Metadata: "google/cloud/resourcemanager/v3/folders.proto",
  2379  }
  2380  

View as plain text