...

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

View as plain text