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