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