1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/resourcemanager/v2/folders.proto
3
4package resourcemanager
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	timestamp "github.com/golang/protobuf/ptypes/timestamp"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14	v1 "google.golang.org/genproto/googleapis/iam/v1"
15	longrunning "google.golang.org/genproto/googleapis/longrunning"
16	field_mask "google.golang.org/genproto/protobuf/field_mask"
17	grpc "google.golang.org/grpc"
18	codes "google.golang.org/grpc/codes"
19	status "google.golang.org/grpc/status"
20)
21
22// Reference imports to suppress errors if they are not otherwise used.
23var _ = proto.Marshal
24var _ = fmt.Errorf
25var _ = math.Inf
26
27// This is a compile-time assertion to ensure that this generated file
28// is compatible with the proto package it is being compiled against.
29// A compilation error at this line likely means your copy of the
30// proto package needs to be updated.
31const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
32
33// Folder lifecycle states.
34type Folder_LifecycleState int32
35
36const (
37	// Unspecified state.
38	Folder_LIFECYCLE_STATE_UNSPECIFIED Folder_LifecycleState = 0
39	// The normal and active state.
40	Folder_ACTIVE Folder_LifecycleState = 1
41	// The folder has been marked for deletion by the user.
42	Folder_DELETE_REQUESTED Folder_LifecycleState = 2
43)
44
45var Folder_LifecycleState_name = map[int32]string{
46	0: "LIFECYCLE_STATE_UNSPECIFIED",
47	1: "ACTIVE",
48	2: "DELETE_REQUESTED",
49}
50
51var Folder_LifecycleState_value = map[string]int32{
52	"LIFECYCLE_STATE_UNSPECIFIED": 0,
53	"ACTIVE":                      1,
54	"DELETE_REQUESTED":            2,
55}
56
57func (x Folder_LifecycleState) String() string {
58	return proto.EnumName(Folder_LifecycleState_name, int32(x))
59}
60
61func (Folder_LifecycleState) EnumDescriptor() ([]byte, []int) {
62	return fileDescriptor_fe78511a4713776e, []int{0, 0}
63}
64
65// The type of operation that failed.
66type FolderOperation_OperationType int32
67
68const (
69	// Operation type not specified.
70	FolderOperation_OPERATION_TYPE_UNSPECIFIED FolderOperation_OperationType = 0
71	// A create folder operation.
72	FolderOperation_CREATE FolderOperation_OperationType = 1
73	// A move folder operation.
74	FolderOperation_MOVE FolderOperation_OperationType = 2
75)
76
77var FolderOperation_OperationType_name = map[int32]string{
78	0: "OPERATION_TYPE_UNSPECIFIED",
79	1: "CREATE",
80	2: "MOVE",
81}
82
83var FolderOperation_OperationType_value = map[string]int32{
84	"OPERATION_TYPE_UNSPECIFIED": 0,
85	"CREATE":                     1,
86	"MOVE":                       2,
87}
88
89func (x FolderOperation_OperationType) String() string {
90	return proto.EnumName(FolderOperation_OperationType_name, int32(x))
91}
92
93func (FolderOperation_OperationType) EnumDescriptor() ([]byte, []int) {
94	return fileDescriptor_fe78511a4713776e, []int{11, 0}
95}
96
97// A Folder in an Organization's resource hierarchy, used to
98// organize that Organization's resources.
99type Folder struct {
100	// Output only. The resource name of the Folder.
101	// Its format is `folders/{folder_id}`, for example: "folders/1234".
102	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
103	// Required. The Folder’s parent's resource name.
104	// Updates to the folder's parent must be performed via
105	// [MoveFolder][google.cloud.resourcemanager.v2.Folders.MoveFolder].
106	Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
107	// The folder’s display name.
108	// A folder’s display name must be unique amongst its siblings, e.g.
109	// no two folders with the same parent can share the same display name.
110	// The display name must start and end with a letter or digit, may contain
111	// letters, digits, spaces, hyphens and underscores and can be no longer
112	// than 30 characters. This is captured by the regular expression:
113	// [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
114	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
115	// Output only. The lifecycle state of the folder.
116	// Updates to the lifecycle_state must be performed via
117	// [DeleteFolder][google.cloud.resourcemanager.v2.Folders.DeleteFolder] and
118	// [UndeleteFolder][google.cloud.resourcemanager.v2.Folders.UndeleteFolder].
119	LifecycleState Folder_LifecycleState `protobuf:"varint,4,opt,name=lifecycle_state,json=lifecycleState,proto3,enum=google.cloud.resourcemanager.v2.Folder_LifecycleState" json:"lifecycle_state,omitempty"`
120	// Output only. Timestamp when the Folder was created. Assigned by the server.
121	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
122	// Output only. Timestamp when the Folder was last modified.
123	UpdateTime           *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
124	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
125	XXX_unrecognized     []byte               `json:"-"`
126	XXX_sizecache        int32                `json:"-"`
127}
128
129func (m *Folder) Reset()         { *m = Folder{} }
130func (m *Folder) String() string { return proto.CompactTextString(m) }
131func (*Folder) ProtoMessage()    {}
132func (*Folder) Descriptor() ([]byte, []int) {
133	return fileDescriptor_fe78511a4713776e, []int{0}
134}
135
136func (m *Folder) XXX_Unmarshal(b []byte) error {
137	return xxx_messageInfo_Folder.Unmarshal(m, b)
138}
139func (m *Folder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
140	return xxx_messageInfo_Folder.Marshal(b, m, deterministic)
141}
142func (m *Folder) XXX_Merge(src proto.Message) {
143	xxx_messageInfo_Folder.Merge(m, src)
144}
145func (m *Folder) XXX_Size() int {
146	return xxx_messageInfo_Folder.Size(m)
147}
148func (m *Folder) XXX_DiscardUnknown() {
149	xxx_messageInfo_Folder.DiscardUnknown(m)
150}
151
152var xxx_messageInfo_Folder proto.InternalMessageInfo
153
154func (m *Folder) GetName() string {
155	if m != nil {
156		return m.Name
157	}
158	return ""
159}
160
161func (m *Folder) GetParent() string {
162	if m != nil {
163		return m.Parent
164	}
165	return ""
166}
167
168func (m *Folder) GetDisplayName() string {
169	if m != nil {
170		return m.DisplayName
171	}
172	return ""
173}
174
175func (m *Folder) GetLifecycleState() Folder_LifecycleState {
176	if m != nil {
177		return m.LifecycleState
178	}
179	return Folder_LIFECYCLE_STATE_UNSPECIFIED
180}
181
182func (m *Folder) GetCreateTime() *timestamp.Timestamp {
183	if m != nil {
184		return m.CreateTime
185	}
186	return nil
187}
188
189func (m *Folder) GetUpdateTime() *timestamp.Timestamp {
190	if m != nil {
191		return m.UpdateTime
192	}
193	return nil
194}
195
196// The ListFolders request message.
197type ListFoldersRequest struct {
198	// Required. The resource name of the Organization or Folder whose Folders are
199	// being listed.
200	// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
201	// Access to this method is controlled by checking the
202	// `resourcemanager.folders.list` permission on the `parent`.
203	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
204	// Optional. The maximum number of Folders to return in the response.
205	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
206	// Optional. A pagination token returned from a previous call to `ListFolders`
207	// that indicates where this listing should continue from.
208	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
209	// Optional. Controls whether Folders in the
210	// [DELETE_REQUESTED][google.cloud.resourcemanager.v2.Folder.LifecycleState.DELETE_REQUESTED]
211	// state should be returned. Defaults to false.
212	ShowDeleted          bool     `protobuf:"varint,4,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"`
213	XXX_NoUnkeyedLiteral struct{} `json:"-"`
214	XXX_unrecognized     []byte   `json:"-"`
215	XXX_sizecache        int32    `json:"-"`
216}
217
218func (m *ListFoldersRequest) Reset()         { *m = ListFoldersRequest{} }
219func (m *ListFoldersRequest) String() string { return proto.CompactTextString(m) }
220func (*ListFoldersRequest) ProtoMessage()    {}
221func (*ListFoldersRequest) Descriptor() ([]byte, []int) {
222	return fileDescriptor_fe78511a4713776e, []int{1}
223}
224
225func (m *ListFoldersRequest) XXX_Unmarshal(b []byte) error {
226	return xxx_messageInfo_ListFoldersRequest.Unmarshal(m, b)
227}
228func (m *ListFoldersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
229	return xxx_messageInfo_ListFoldersRequest.Marshal(b, m, deterministic)
230}
231func (m *ListFoldersRequest) XXX_Merge(src proto.Message) {
232	xxx_messageInfo_ListFoldersRequest.Merge(m, src)
233}
234func (m *ListFoldersRequest) XXX_Size() int {
235	return xxx_messageInfo_ListFoldersRequest.Size(m)
236}
237func (m *ListFoldersRequest) XXX_DiscardUnknown() {
238	xxx_messageInfo_ListFoldersRequest.DiscardUnknown(m)
239}
240
241var xxx_messageInfo_ListFoldersRequest proto.InternalMessageInfo
242
243func (m *ListFoldersRequest) GetParent() string {
244	if m != nil {
245		return m.Parent
246	}
247	return ""
248}
249
250func (m *ListFoldersRequest) GetPageSize() int32 {
251	if m != nil {
252		return m.PageSize
253	}
254	return 0
255}
256
257func (m *ListFoldersRequest) GetPageToken() string {
258	if m != nil {
259		return m.PageToken
260	}
261	return ""
262}
263
264func (m *ListFoldersRequest) GetShowDeleted() bool {
265	if m != nil {
266		return m.ShowDeleted
267	}
268	return false
269}
270
271// The ListFolders response message.
272type ListFoldersResponse struct {
273	// A possibly paginated list of Folders that are direct descendants of
274	// the specified parent resource.
275	Folders []*Folder `protobuf:"bytes,1,rep,name=folders,proto3" json:"folders,omitempty"`
276	// A pagination token returned from a previous call to `ListFolders`
277	// that indicates from where listing should continue.
278	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
279	XXX_NoUnkeyedLiteral struct{} `json:"-"`
280	XXX_unrecognized     []byte   `json:"-"`
281	XXX_sizecache        int32    `json:"-"`
282}
283
284func (m *ListFoldersResponse) Reset()         { *m = ListFoldersResponse{} }
285func (m *ListFoldersResponse) String() string { return proto.CompactTextString(m) }
286func (*ListFoldersResponse) ProtoMessage()    {}
287func (*ListFoldersResponse) Descriptor() ([]byte, []int) {
288	return fileDescriptor_fe78511a4713776e, []int{2}
289}
290
291func (m *ListFoldersResponse) XXX_Unmarshal(b []byte) error {
292	return xxx_messageInfo_ListFoldersResponse.Unmarshal(m, b)
293}
294func (m *ListFoldersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
295	return xxx_messageInfo_ListFoldersResponse.Marshal(b, m, deterministic)
296}
297func (m *ListFoldersResponse) XXX_Merge(src proto.Message) {
298	xxx_messageInfo_ListFoldersResponse.Merge(m, src)
299}
300func (m *ListFoldersResponse) XXX_Size() int {
301	return xxx_messageInfo_ListFoldersResponse.Size(m)
302}
303func (m *ListFoldersResponse) XXX_DiscardUnknown() {
304	xxx_messageInfo_ListFoldersResponse.DiscardUnknown(m)
305}
306
307var xxx_messageInfo_ListFoldersResponse proto.InternalMessageInfo
308
309func (m *ListFoldersResponse) GetFolders() []*Folder {
310	if m != nil {
311		return m.Folders
312	}
313	return nil
314}
315
316func (m *ListFoldersResponse) GetNextPageToken() string {
317	if m != nil {
318		return m.NextPageToken
319	}
320	return ""
321}
322
323// The request message for searching folders.
324type SearchFoldersRequest struct {
325	// Optional. The maximum number of folders to return in the response.
326	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
327	// Optional. A pagination token returned from a previous call to `SearchFolders`
328	// that indicates from where search should continue.
329	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
330	// Search criteria used to select the Folders to return.
331	// If no search criteria is specified then all accessible folders will be
332	// returned.
333	//
334	// Query expressions can be used to restrict results based upon displayName,
335	// lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR`
336	// can be used along with the suffix wildcard symbol `*`.
337	//
338	// The displayName field in a query expression should use escaped quotes
339	// for values that include whitespace to prevent unexpected behavior.
340	//
341	// Some example queries are:
342	//
343	// * Query `displayName=Test*` returns Folder resources whose display name
344	// starts with "Test".
345	// * Query `lifecycleState=ACTIVE` returns Folder resources with
346	// `lifecycleState` set to `ACTIVE`.
347	// * Query `parent=folders/123` returns Folder resources that have
348	// `folders/123` as a parent resource.
349	// * Query `parent=folders/123 AND lifecycleState=ACTIVE` returns active
350	// Folder resources that have `folders/123` as a parent resource.
351	// * Query `displayName=\\"Test String\\"` returns Folder resources with
352	// display names that include both "Test" and "String".
353	Query                string   `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
354	XXX_NoUnkeyedLiteral struct{} `json:"-"`
355	XXX_unrecognized     []byte   `json:"-"`
356	XXX_sizecache        int32    `json:"-"`
357}
358
359func (m *SearchFoldersRequest) Reset()         { *m = SearchFoldersRequest{} }
360func (m *SearchFoldersRequest) String() string { return proto.CompactTextString(m) }
361func (*SearchFoldersRequest) ProtoMessage()    {}
362func (*SearchFoldersRequest) Descriptor() ([]byte, []int) {
363	return fileDescriptor_fe78511a4713776e, []int{3}
364}
365
366func (m *SearchFoldersRequest) XXX_Unmarshal(b []byte) error {
367	return xxx_messageInfo_SearchFoldersRequest.Unmarshal(m, b)
368}
369func (m *SearchFoldersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
370	return xxx_messageInfo_SearchFoldersRequest.Marshal(b, m, deterministic)
371}
372func (m *SearchFoldersRequest) XXX_Merge(src proto.Message) {
373	xxx_messageInfo_SearchFoldersRequest.Merge(m, src)
374}
375func (m *SearchFoldersRequest) XXX_Size() int {
376	return xxx_messageInfo_SearchFoldersRequest.Size(m)
377}
378func (m *SearchFoldersRequest) XXX_DiscardUnknown() {
379	xxx_messageInfo_SearchFoldersRequest.DiscardUnknown(m)
380}
381
382var xxx_messageInfo_SearchFoldersRequest proto.InternalMessageInfo
383
384func (m *SearchFoldersRequest) GetPageSize() int32 {
385	if m != nil {
386		return m.PageSize
387	}
388	return 0
389}
390
391func (m *SearchFoldersRequest) GetPageToken() string {
392	if m != nil {
393		return m.PageToken
394	}
395	return ""
396}
397
398func (m *SearchFoldersRequest) GetQuery() string {
399	if m != nil {
400		return m.Query
401	}
402	return ""
403}
404
405// The response message for searching folders.
406type SearchFoldersResponse struct {
407	// A possibly paginated folder search results.
408	// the specified parent resource.
409	Folders []*Folder `protobuf:"bytes,1,rep,name=folders,proto3" json:"folders,omitempty"`
410	// A pagination token returned from a previous call to `SearchFolders`
411	// that indicates from where searching should continue.
412	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
413	XXX_NoUnkeyedLiteral struct{} `json:"-"`
414	XXX_unrecognized     []byte   `json:"-"`
415	XXX_sizecache        int32    `json:"-"`
416}
417
418func (m *SearchFoldersResponse) Reset()         { *m = SearchFoldersResponse{} }
419func (m *SearchFoldersResponse) String() string { return proto.CompactTextString(m) }
420func (*SearchFoldersResponse) ProtoMessage()    {}
421func (*SearchFoldersResponse) Descriptor() ([]byte, []int) {
422	return fileDescriptor_fe78511a4713776e, []int{4}
423}
424
425func (m *SearchFoldersResponse) XXX_Unmarshal(b []byte) error {
426	return xxx_messageInfo_SearchFoldersResponse.Unmarshal(m, b)
427}
428func (m *SearchFoldersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
429	return xxx_messageInfo_SearchFoldersResponse.Marshal(b, m, deterministic)
430}
431func (m *SearchFoldersResponse) XXX_Merge(src proto.Message) {
432	xxx_messageInfo_SearchFoldersResponse.Merge(m, src)
433}
434func (m *SearchFoldersResponse) XXX_Size() int {
435	return xxx_messageInfo_SearchFoldersResponse.Size(m)
436}
437func (m *SearchFoldersResponse) XXX_DiscardUnknown() {
438	xxx_messageInfo_SearchFoldersResponse.DiscardUnknown(m)
439}
440
441var xxx_messageInfo_SearchFoldersResponse proto.InternalMessageInfo
442
443func (m *SearchFoldersResponse) GetFolders() []*Folder {
444	if m != nil {
445		return m.Folders
446	}
447	return nil
448}
449
450func (m *SearchFoldersResponse) GetNextPageToken() string {
451	if m != nil {
452		return m.NextPageToken
453	}
454	return ""
455}
456
457// The GetFolder request message.
458type GetFolderRequest struct {
459	// Required. The resource name of the Folder to retrieve.
460	// Must be of the form `folders/{folder_id}`.
461	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
462	XXX_NoUnkeyedLiteral struct{} `json:"-"`
463	XXX_unrecognized     []byte   `json:"-"`
464	XXX_sizecache        int32    `json:"-"`
465}
466
467func (m *GetFolderRequest) Reset()         { *m = GetFolderRequest{} }
468func (m *GetFolderRequest) String() string { return proto.CompactTextString(m) }
469func (*GetFolderRequest) ProtoMessage()    {}
470func (*GetFolderRequest) Descriptor() ([]byte, []int) {
471	return fileDescriptor_fe78511a4713776e, []int{5}
472}
473
474func (m *GetFolderRequest) XXX_Unmarshal(b []byte) error {
475	return xxx_messageInfo_GetFolderRequest.Unmarshal(m, b)
476}
477func (m *GetFolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
478	return xxx_messageInfo_GetFolderRequest.Marshal(b, m, deterministic)
479}
480func (m *GetFolderRequest) XXX_Merge(src proto.Message) {
481	xxx_messageInfo_GetFolderRequest.Merge(m, src)
482}
483func (m *GetFolderRequest) XXX_Size() int {
484	return xxx_messageInfo_GetFolderRequest.Size(m)
485}
486func (m *GetFolderRequest) XXX_DiscardUnknown() {
487	xxx_messageInfo_GetFolderRequest.DiscardUnknown(m)
488}
489
490var xxx_messageInfo_GetFolderRequest proto.InternalMessageInfo
491
492func (m *GetFolderRequest) GetName() string {
493	if m != nil {
494		return m.Name
495	}
496	return ""
497}
498
499// The CreateFolder request message.
500type CreateFolderRequest struct {
501	// Required. The resource name of the new Folder's parent.
502	// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
503	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
504	// Required. The Folder being created, only the display name will be consulted.
505	// All other fields will be ignored.
506	Folder               *Folder  `protobuf:"bytes,2,opt,name=folder,proto3" json:"folder,omitempty"`
507	XXX_NoUnkeyedLiteral struct{} `json:"-"`
508	XXX_unrecognized     []byte   `json:"-"`
509	XXX_sizecache        int32    `json:"-"`
510}
511
512func (m *CreateFolderRequest) Reset()         { *m = CreateFolderRequest{} }
513func (m *CreateFolderRequest) String() string { return proto.CompactTextString(m) }
514func (*CreateFolderRequest) ProtoMessage()    {}
515func (*CreateFolderRequest) Descriptor() ([]byte, []int) {
516	return fileDescriptor_fe78511a4713776e, []int{6}
517}
518
519func (m *CreateFolderRequest) XXX_Unmarshal(b []byte) error {
520	return xxx_messageInfo_CreateFolderRequest.Unmarshal(m, b)
521}
522func (m *CreateFolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
523	return xxx_messageInfo_CreateFolderRequest.Marshal(b, m, deterministic)
524}
525func (m *CreateFolderRequest) XXX_Merge(src proto.Message) {
526	xxx_messageInfo_CreateFolderRequest.Merge(m, src)
527}
528func (m *CreateFolderRequest) XXX_Size() int {
529	return xxx_messageInfo_CreateFolderRequest.Size(m)
530}
531func (m *CreateFolderRequest) XXX_DiscardUnknown() {
532	xxx_messageInfo_CreateFolderRequest.DiscardUnknown(m)
533}
534
535var xxx_messageInfo_CreateFolderRequest proto.InternalMessageInfo
536
537func (m *CreateFolderRequest) GetParent() string {
538	if m != nil {
539		return m.Parent
540	}
541	return ""
542}
543
544func (m *CreateFolderRequest) GetFolder() *Folder {
545	if m != nil {
546		return m.Folder
547	}
548	return nil
549}
550
551// The MoveFolder request message.
552type MoveFolderRequest struct {
553	// Required. The resource name of the Folder to move.
554	// Must be of the form folders/{folder_id}
555	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
556	// Required. The resource name of the Folder or Organization to reparent
557	// the folder under.
558	// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
559	DestinationParent    string   `protobuf:"bytes,2,opt,name=destination_parent,json=destinationParent,proto3" json:"destination_parent,omitempty"`
560	XXX_NoUnkeyedLiteral struct{} `json:"-"`
561	XXX_unrecognized     []byte   `json:"-"`
562	XXX_sizecache        int32    `json:"-"`
563}
564
565func (m *MoveFolderRequest) Reset()         { *m = MoveFolderRequest{} }
566func (m *MoveFolderRequest) String() string { return proto.CompactTextString(m) }
567func (*MoveFolderRequest) ProtoMessage()    {}
568func (*MoveFolderRequest) Descriptor() ([]byte, []int) {
569	return fileDescriptor_fe78511a4713776e, []int{7}
570}
571
572func (m *MoveFolderRequest) XXX_Unmarshal(b []byte) error {
573	return xxx_messageInfo_MoveFolderRequest.Unmarshal(m, b)
574}
575func (m *MoveFolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
576	return xxx_messageInfo_MoveFolderRequest.Marshal(b, m, deterministic)
577}
578func (m *MoveFolderRequest) XXX_Merge(src proto.Message) {
579	xxx_messageInfo_MoveFolderRequest.Merge(m, src)
580}
581func (m *MoveFolderRequest) XXX_Size() int {
582	return xxx_messageInfo_MoveFolderRequest.Size(m)
583}
584func (m *MoveFolderRequest) XXX_DiscardUnknown() {
585	xxx_messageInfo_MoveFolderRequest.DiscardUnknown(m)
586}
587
588var xxx_messageInfo_MoveFolderRequest proto.InternalMessageInfo
589
590func (m *MoveFolderRequest) GetName() string {
591	if m != nil {
592		return m.Name
593	}
594	return ""
595}
596
597func (m *MoveFolderRequest) GetDestinationParent() string {
598	if m != nil {
599		return m.DestinationParent
600	}
601	return ""
602}
603
604// The request message for updating a folder's display name.
605type UpdateFolderRequest struct {
606	// Required. The new definition of the Folder. It must include a
607	// a `name` and `display_name` field. The other fields
608	// will be ignored.
609	Folder *Folder `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder,omitempty"`
610	// Required. Fields to be updated.
611	// Only the `display_name` can be updated.
612	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
613	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
614	XXX_unrecognized     []byte                `json:"-"`
615	XXX_sizecache        int32                 `json:"-"`
616}
617
618func (m *UpdateFolderRequest) Reset()         { *m = UpdateFolderRequest{} }
619func (m *UpdateFolderRequest) String() string { return proto.CompactTextString(m) }
620func (*UpdateFolderRequest) ProtoMessage()    {}
621func (*UpdateFolderRequest) Descriptor() ([]byte, []int) {
622	return fileDescriptor_fe78511a4713776e, []int{8}
623}
624
625func (m *UpdateFolderRequest) XXX_Unmarshal(b []byte) error {
626	return xxx_messageInfo_UpdateFolderRequest.Unmarshal(m, b)
627}
628func (m *UpdateFolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
629	return xxx_messageInfo_UpdateFolderRequest.Marshal(b, m, deterministic)
630}
631func (m *UpdateFolderRequest) XXX_Merge(src proto.Message) {
632	xxx_messageInfo_UpdateFolderRequest.Merge(m, src)
633}
634func (m *UpdateFolderRequest) XXX_Size() int {
635	return xxx_messageInfo_UpdateFolderRequest.Size(m)
636}
637func (m *UpdateFolderRequest) XXX_DiscardUnknown() {
638	xxx_messageInfo_UpdateFolderRequest.DiscardUnknown(m)
639}
640
641var xxx_messageInfo_UpdateFolderRequest proto.InternalMessageInfo
642
643func (m *UpdateFolderRequest) GetFolder() *Folder {
644	if m != nil {
645		return m.Folder
646	}
647	return nil
648}
649
650func (m *UpdateFolderRequest) GetUpdateMask() *field_mask.FieldMask {
651	if m != nil {
652		return m.UpdateMask
653	}
654	return nil
655}
656
657// The DeleteFolder request message.
658type DeleteFolderRequest struct {
659	// Required. The resource name of the Folder to be deleted.
660	// Must be of the form `folders/{folder_id}`.
661	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
662	// Instructs DeleteFolderAction to delete a folder even when the folder is not
663	// empty.
664	RecursiveDelete      bool     `protobuf:"varint,2,opt,name=recursive_delete,json=recursiveDelete,proto3" json:"recursive_delete,omitempty"`
665	XXX_NoUnkeyedLiteral struct{} `json:"-"`
666	XXX_unrecognized     []byte   `json:"-"`
667	XXX_sizecache        int32    `json:"-"`
668}
669
670func (m *DeleteFolderRequest) Reset()         { *m = DeleteFolderRequest{} }
671func (m *DeleteFolderRequest) String() string { return proto.CompactTextString(m) }
672func (*DeleteFolderRequest) ProtoMessage()    {}
673func (*DeleteFolderRequest) Descriptor() ([]byte, []int) {
674	return fileDescriptor_fe78511a4713776e, []int{9}
675}
676
677func (m *DeleteFolderRequest) XXX_Unmarshal(b []byte) error {
678	return xxx_messageInfo_DeleteFolderRequest.Unmarshal(m, b)
679}
680func (m *DeleteFolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
681	return xxx_messageInfo_DeleteFolderRequest.Marshal(b, m, deterministic)
682}
683func (m *DeleteFolderRequest) XXX_Merge(src proto.Message) {
684	xxx_messageInfo_DeleteFolderRequest.Merge(m, src)
685}
686func (m *DeleteFolderRequest) XXX_Size() int {
687	return xxx_messageInfo_DeleteFolderRequest.Size(m)
688}
689func (m *DeleteFolderRequest) XXX_DiscardUnknown() {
690	xxx_messageInfo_DeleteFolderRequest.DiscardUnknown(m)
691}
692
693var xxx_messageInfo_DeleteFolderRequest proto.InternalMessageInfo
694
695func (m *DeleteFolderRequest) GetName() string {
696	if m != nil {
697		return m.Name
698	}
699	return ""
700}
701
702func (m *DeleteFolderRequest) GetRecursiveDelete() bool {
703	if m != nil {
704		return m.RecursiveDelete
705	}
706	return false
707}
708
709// The UndeleteFolder request message.
710type UndeleteFolderRequest struct {
711	// Required. The resource name of the Folder to undelete.
712	// Must be of the form `folders/{folder_id}`.
713	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
714	XXX_NoUnkeyedLiteral struct{} `json:"-"`
715	XXX_unrecognized     []byte   `json:"-"`
716	XXX_sizecache        int32    `json:"-"`
717}
718
719func (m *UndeleteFolderRequest) Reset()         { *m = UndeleteFolderRequest{} }
720func (m *UndeleteFolderRequest) String() string { return proto.CompactTextString(m) }
721func (*UndeleteFolderRequest) ProtoMessage()    {}
722func (*UndeleteFolderRequest) Descriptor() ([]byte, []int) {
723	return fileDescriptor_fe78511a4713776e, []int{10}
724}
725
726func (m *UndeleteFolderRequest) XXX_Unmarshal(b []byte) error {
727	return xxx_messageInfo_UndeleteFolderRequest.Unmarshal(m, b)
728}
729func (m *UndeleteFolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
730	return xxx_messageInfo_UndeleteFolderRequest.Marshal(b, m, deterministic)
731}
732func (m *UndeleteFolderRequest) XXX_Merge(src proto.Message) {
733	xxx_messageInfo_UndeleteFolderRequest.Merge(m, src)
734}
735func (m *UndeleteFolderRequest) XXX_Size() int {
736	return xxx_messageInfo_UndeleteFolderRequest.Size(m)
737}
738func (m *UndeleteFolderRequest) XXX_DiscardUnknown() {
739	xxx_messageInfo_UndeleteFolderRequest.DiscardUnknown(m)
740}
741
742var xxx_messageInfo_UndeleteFolderRequest proto.InternalMessageInfo
743
744func (m *UndeleteFolderRequest) GetName() string {
745	if m != nil {
746		return m.Name
747	}
748	return ""
749}
750
751// Metadata describing a long running folder operation
752type FolderOperation struct {
753	// The display name of the folder.
754	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
755	// The type of this operation.
756	OperationType FolderOperation_OperationType `protobuf:"varint,2,opt,name=operation_type,json=operationType,proto3,enum=google.cloud.resourcemanager.v2.FolderOperation_OperationType" json:"operation_type,omitempty"`
757	// The resource name of the folder's parent.
758	// Only applicable when the operation_type is MOVE.
759	SourceParent string `protobuf:"bytes,3,opt,name=source_parent,json=sourceParent,proto3" json:"source_parent,omitempty"`
760	// The resource name of the folder or organization we are either creating
761	// the folder under or moving the folder to.
762	DestinationParent    string   `protobuf:"bytes,4,opt,name=destination_parent,json=destinationParent,proto3" json:"destination_parent,omitempty"`
763	XXX_NoUnkeyedLiteral struct{} `json:"-"`
764	XXX_unrecognized     []byte   `json:"-"`
765	XXX_sizecache        int32    `json:"-"`
766}
767
768func (m *FolderOperation) Reset()         { *m = FolderOperation{} }
769func (m *FolderOperation) String() string { return proto.CompactTextString(m) }
770func (*FolderOperation) ProtoMessage()    {}
771func (*FolderOperation) Descriptor() ([]byte, []int) {
772	return fileDescriptor_fe78511a4713776e, []int{11}
773}
774
775func (m *FolderOperation) XXX_Unmarshal(b []byte) error {
776	return xxx_messageInfo_FolderOperation.Unmarshal(m, b)
777}
778func (m *FolderOperation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
779	return xxx_messageInfo_FolderOperation.Marshal(b, m, deterministic)
780}
781func (m *FolderOperation) XXX_Merge(src proto.Message) {
782	xxx_messageInfo_FolderOperation.Merge(m, src)
783}
784func (m *FolderOperation) XXX_Size() int {
785	return xxx_messageInfo_FolderOperation.Size(m)
786}
787func (m *FolderOperation) XXX_DiscardUnknown() {
788	xxx_messageInfo_FolderOperation.DiscardUnknown(m)
789}
790
791var xxx_messageInfo_FolderOperation proto.InternalMessageInfo
792
793func (m *FolderOperation) GetDisplayName() string {
794	if m != nil {
795		return m.DisplayName
796	}
797	return ""
798}
799
800func (m *FolderOperation) GetOperationType() FolderOperation_OperationType {
801	if m != nil {
802		return m.OperationType
803	}
804	return FolderOperation_OPERATION_TYPE_UNSPECIFIED
805}
806
807func (m *FolderOperation) GetSourceParent() string {
808	if m != nil {
809		return m.SourceParent
810	}
811	return ""
812}
813
814func (m *FolderOperation) GetDestinationParent() string {
815	if m != nil {
816		return m.DestinationParent
817	}
818	return ""
819}
820
821func init() {
822	proto.RegisterEnum("google.cloud.resourcemanager.v2.Folder_LifecycleState", Folder_LifecycleState_name, Folder_LifecycleState_value)
823	proto.RegisterEnum("google.cloud.resourcemanager.v2.FolderOperation_OperationType", FolderOperation_OperationType_name, FolderOperation_OperationType_value)
824	proto.RegisterType((*Folder)(nil), "google.cloud.resourcemanager.v2.Folder")
825	proto.RegisterType((*ListFoldersRequest)(nil), "google.cloud.resourcemanager.v2.ListFoldersRequest")
826	proto.RegisterType((*ListFoldersResponse)(nil), "google.cloud.resourcemanager.v2.ListFoldersResponse")
827	proto.RegisterType((*SearchFoldersRequest)(nil), "google.cloud.resourcemanager.v2.SearchFoldersRequest")
828	proto.RegisterType((*SearchFoldersResponse)(nil), "google.cloud.resourcemanager.v2.SearchFoldersResponse")
829	proto.RegisterType((*GetFolderRequest)(nil), "google.cloud.resourcemanager.v2.GetFolderRequest")
830	proto.RegisterType((*CreateFolderRequest)(nil), "google.cloud.resourcemanager.v2.CreateFolderRequest")
831	proto.RegisterType((*MoveFolderRequest)(nil), "google.cloud.resourcemanager.v2.MoveFolderRequest")
832	proto.RegisterType((*UpdateFolderRequest)(nil), "google.cloud.resourcemanager.v2.UpdateFolderRequest")
833	proto.RegisterType((*DeleteFolderRequest)(nil), "google.cloud.resourcemanager.v2.DeleteFolderRequest")
834	proto.RegisterType((*UndeleteFolderRequest)(nil), "google.cloud.resourcemanager.v2.UndeleteFolderRequest")
835	proto.RegisterType((*FolderOperation)(nil), "google.cloud.resourcemanager.v2.FolderOperation")
836}
837
838func init() {
839	proto.RegisterFile("google/cloud/resourcemanager/v2/folders.proto", fileDescriptor_fe78511a4713776e)
840}
841
842var fileDescriptor_fe78511a4713776e = []byte{
843	// 1496 bytes of a gzipped FileDescriptorProto
844	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcb, 0x6b, 0x1b, 0xd7,
845	0x1a, 0xbf, 0x47, 0x76, 0x1c, 0xfb, 0x48, 0xb2, 0x95, 0x63, 0xfb, 0xda, 0x51, 0x6e, 0x62, 0xdf,
846	0x31, 0xc9, 0x75, 0x74, 0xed, 0x99, 0x46, 0x69, 0x43, 0x51, 0x68, 0xc8, 0x58, 0x1e, 0x1b, 0x83,
847	0x1f, 0xaa, 0x24, 0x1b, 0x12, 0x02, 0xc3, 0x44, 0x3a, 0x96, 0x87, 0x8c, 0x66, 0x26, 0x33, 0x23,
848	0xb9, 0x4a, 0x48, 0x29, 0x59, 0x94, 0x2e, 0x5a, 0x28, 0x94, 0x2e, 0xbb, 0x69, 0xc9, 0x26, 0x14,
849	0xba, 0x2b, 0x85, 0x42, 0xf7, 0xcd, 0xb2, 0xdd, 0x69, 0x15, 0x68, 0x57, 0xfd, 0x13, 0xba, 0x2a,
850	0xe7, 0x31, 0xf2, 0xcc, 0x48, 0x89, 0xc6, 0x85, 0x74, 0x65, 0xeb, 0x7b, 0x9c, 0xef, 0xf7, 0x3d,
851	0xce, 0xef, 0x3b, 0x12, 0x5c, 0x6d, 0x58, 0x56, 0xc3, 0xc0, 0x52, 0xcd, 0xb0, 0x5a, 0x75, 0xc9,
852	0xc1, 0xae, 0xd5, 0x72, 0x6a, 0xb8, 0xa9, 0x99, 0x5a, 0x03, 0x3b, 0x52, 0x3b, 0x2f, 0x1d, 0x5a,
853	0x46, 0x1d, 0x3b, 0xae, 0x68, 0x3b, 0x96, 0x67, 0xa1, 0x05, 0x66, 0x2e, 0x52, 0x73, 0x31, 0x62,
854	0x2e, 0xb6, 0xf3, 0xd9, 0xff, 0xf0, 0xf3, 0x34, 0x5b, 0x97, 0x34, 0xd3, 0xb4, 0x3c, 0xcd, 0xd3,
855	0x2d, 0x93, 0xbb, 0x67, 0xe7, 0x02, 0xda, 0x9a, 0xa1, 0x63, 0xd3, 0xe3, 0x8a, 0x85, 0x80, 0xe2,
856	0x50, 0xc7, 0x46, 0x5d, 0xbd, 0x8f, 0x8f, 0xb4, 0xb6, 0x6e, 0x39, 0xdc, 0xe0, 0x7c, 0xc0, 0xc0,
857	0x0f, 0xcb, 0x55, 0x97, 0xb8, 0x4a, 0xd7, 0x9a, 0x52, 0xfb, 0x1a, 0xf9, 0xa3, 0xda, 0x96, 0xa1,
858	0xd7, 0x3a, 0x5c, 0x9f, 0x0d, 0xeb, 0x43, 0xba, 0x25, 0xae, 0x33, 0x2c, 0xb3, 0xe1, 0xb4, 0x4c,
859	0x53, 0x37, 0x1b, 0x92, 0x65, 0x63, 0x27, 0x84, 0x7a, 0x91, 0x1b, 0xd1, 0x4f, 0xf7, 0x5b, 0x87,
860	0x1c, 0x61, 0x53, 0x73, 0x1f, 0x44, 0xe0, 0xf7, 0x2c, 0x3c, 0xbd, 0x89, 0x5d, 0x4f, 0x6b, 0xda,
861	0xcc, 0x40, 0xf8, 0x6d, 0x04, 0x8e, 0x6d, 0xd0, 0x4a, 0xa2, 0x39, 0x38, 0x6a, 0x6a, 0x4d, 0x3c,
862	0x0f, 0x16, 0xc1, 0xf2, 0xc4, 0xda, 0xc8, 0x4b, 0x79, 0xa4, 0x4c, 0x05, 0xe8, 0x02, 0x1c, 0xb3,
863	0x35, 0x07, 0x9b, 0xde, 0x7c, 0xc2, 0x57, 0x25, 0xca, 0x5c, 0x84, 0xfe, 0x0b, 0x53, 0x75, 0xdd,
864	0xb5, 0x0d, 0xad, 0xa3, 0x52, 0xef, 0x11, 0x62, 0x52, 0x4e, 0x72, 0xd9, 0x2e, 0xf1, 0xaf, 0xc3,
865	0x29, 0x43, 0x3f, 0xc4, 0xb5, 0x4e, 0xcd, 0xc0, 0xaa, 0xeb, 0x69, 0x1e, 0x9e, 0x1f, 0x5d, 0x04,
866	0xcb, 0x93, 0xf9, 0x1b, 0xe2, 0x90, 0xae, 0x89, 0x0c, 0x9a, 0xb8, 0xed, 0xbb, 0x57, 0x88, 0x37,
867	0xc3, 0x36, 0x69, 0x84, 0x84, 0xe8, 0x36, 0x4c, 0xd6, 0x1c, 0xac, 0x79, 0x58, 0x25, 0x39, 0xce,
868	0x9f, 0x59, 0x04, 0xcb, 0xc9, 0x7c, 0xd6, 0x8f, 0xe0, 0x17, 0x40, 0xac, 0xfa, 0x05, 0x60, 0xa7,
869	0x40, 0xe6, 0x43, 0xa4, 0xe4, 0x84, 0x96, 0x5d, 0xef, 0x9d, 0x30, 0x16, 0xf3, 0x04, 0xe6, 0x43,
870	0xa4, 0x42, 0x05, 0x4e, 0x86, 0xa1, 0xa2, 0x05, 0x78, 0x61, 0x7b, 0x6b, 0x43, 0x29, 0xde, 0x29,
871	0x6e, 0x2b, 0x6a, 0xa5, 0x2a, 0x57, 0x15, 0x75, 0x7f, 0xb7, 0x52, 0x52, 0x8a, 0x5b, 0x1b, 0x5b,
872	0xca, 0x7a, 0xe6, 0x5f, 0x08, 0xc2, 0x31, 0xb9, 0x58, 0xdd, 0x3a, 0x50, 0x32, 0x00, 0xcd, 0xc0,
873	0xcc, 0xba, 0xb2, 0xad, 0x54, 0x15, 0xb5, 0xac, 0xbc, 0xbf, 0xaf, 0x54, 0xaa, 0xca, 0x7a, 0x26,
874	0x51, 0x90, 0xff, 0x90, 0x6f, 0xc1, 0x1c, 0x2d, 0x51, 0xb4, 0x42, 0x0c, 0x9a, 0x66, 0xeb, 0xae,
875	0x58, 0xb3, 0x9a, 0x12, 0x6f, 0x64, 0x86, 0x5f, 0x0d, 0xe9, 0x31, 0xfb, 0xe7, 0x89, 0xf0, 0x0c,
876	0x40, 0xb4, 0xad, 0xbb, 0x1e, 0x33, 0x70, 0xcb, 0xf8, 0x61, 0x0b, 0xbb, 0xa4, 0x77, 0x7e, 0x63,
877	0x59, 0xcf, 0x27, 0x5e, 0xca, 0x89, 0x3f, 0xe5, 0x11, 0x04, 0x72, 0xbd, 0xf6, 0x2e, 0xc2, 0x09,
878	0x5b, 0x6b, 0x60, 0xd5, 0xd5, 0x1f, 0x61, 0xda, 0xfe, 0x33, 0x24, 0x6b, 0x50, 0x1e, 0x27, 0xd2,
879	0x8a, 0xfe, 0x08, 0x23, 0x01, 0x42, 0x6a, 0xe1, 0x59, 0x0f, 0xb0, 0xc9, 0xda, 0xcf, 0x4c, 0xa8,
880	0x63, 0x95, 0x48, 0xd1, 0x15, 0x98, 0x72, 0x8f, 0xac, 0x63, 0xb5, 0x8e, 0x0d, 0xec, 0xe1, 0x3a,
881	0x6d, 0xff, 0x38, 0xb3, 0x4a, 0x12, 0xc5, 0x3a, 0x93, 0x0b, 0x1f, 0x01, 0x38, 0x1d, 0xc2, 0xe9,
882	0xda, 0x96, 0xe9, 0x62, 0x24, 0xc3, 0xb3, 0x3c, 0xa7, 0x79, 0xb0, 0x38, 0xb2, 0x9c, 0xcc, 0xff,
883	0x2f, 0xe6, 0xe4, 0x94, 0x7d, 0x3f, 0x74, 0x05, 0x4e, 0x99, 0xf8, 0x03, 0x4f, 0x0d, 0x60, 0xa5,
884	0xd3, 0x5c, 0x4e, 0x13, 0x71, 0xc9, 0x87, 0x2a, 0x38, 0x70, 0xa6, 0x82, 0x35, 0xa7, 0x76, 0x14,
885	0xa9, 0x55, 0xa8, 0x10, 0x60, 0x78, 0x21, 0x12, 0x03, 0x0b, 0x31, 0x03, 0xcf, 0x3c, 0x6c, 0x61,
886	0xa7, 0xc3, 0xaf, 0x09, 0xfb, 0x20, 0x3c, 0x05, 0x70, 0x36, 0x12, 0xf4, 0x9f, 0x4f, 0xfc, 0x2e,
887	0xcc, 0x6c, 0x62, 0x5e, 0x79, 0x3f, 0xe9, 0x8d, 0x10, 0x25, 0xe4, 0xe9, 0x78, 0xac, 0x9c, 0x66,
888	0x16, 0x19, 0x83, 0x08, 0x1f, 0xc2, 0xe9, 0x22, 0xbd, 0x67, 0xe1, 0xe3, 0x63, 0xcc, 0xdf, 0x3a,
889	0x1c, 0x63, 0x89, 0x50, 0xd0, 0xf1, 0xf3, 0xe7, 0x24, 0xc5, 0x7c, 0x85, 0x2f, 0x01, 0x3c, 0xb7,
890	0x63, 0xb5, 0xf1, 0x1b, 0xc9, 0x0e, 0xbd, 0x0b, 0x51, 0x1d, 0xbb, 0x9e, 0x6e, 0x52, 0x72, 0x56,
891	0x43, 0x5c, 0x19, 0x48, 0xe9, 0x5c, 0xc0, 0xa8, 0x44, 0x6d, 0x84, 0xaf, 0x00, 0x9c, 0xde, 0xa7,
892	0xf4, 0x11, 0x46, 0x76, 0x92, 0x35, 0xf8, 0xfb, 0x59, 0x07, 0xf8, 0x8c, 0x6c, 0x04, 0x5e, 0xc0,
893	0x7e, 0x3e, 0xdb, 0x20, 0x4b, 0x63, 0x47, 0x73, 0x1f, 0x30, 0x6f, 0xce, 0x67, 0x44, 0x20, 0x7c,
894	0x02, 0xe0, 0x34, 0xbb, 0x9b, 0x6f, 0xa6, 0x72, 0x57, 0x61, 0xc6, 0xc1, 0xb5, 0x96, 0xe3, 0xea,
895	0x6d, 0xcc, 0xc9, 0x81, 0xc2, 0x1c, 0x2f, 0x4f, 0xf5, 0xe4, 0x2c, 0xbe, 0xa0, 0xc2, 0xd9, 0x7d,
896	0xb3, 0xfe, 0xe6, 0xb0, 0x08, 0xdf, 0x27, 0xe0, 0x14, 0x13, 0xec, 0xf9, 0x7b, 0xb6, 0x6f, 0xb9,
897	0x81, 0xfe, 0xe5, 0x86, 0xe1, 0x64, 0x6f, 0x2f, 0xab, 0x5e, 0xc7, 0x66, 0x09, 0x4c, 0xe6, 0x6f,
898	0xc5, 0x6c, 0x59, 0x2f, 0x98, 0xd8, 0xfb, 0xaf, 0xda, 0xb1, 0x71, 0x39, 0x6d, 0x05, 0x3f, 0xa2,
899	0x25, 0x98, 0x66, 0x07, 0xf8, 0xe3, 0xc5, 0x08, 0x24, 0xc5, 0x84, 0x6c, 0x9c, 0xd0, 0xea, 0xc0,
900	0x41, 0x1c, 0xa5, 0x96, 0x03, 0xa6, 0x4f, 0x81, 0xe9, 0x50, 0x4c, 0x74, 0x09, 0x66, 0xf7, 0x4a,
901	0x4a, 0x59, 0xae, 0x6e, 0xed, 0xed, 0xaa, 0xd5, 0x3b, 0xa5, 0x01, 0xbb, 0xaa, 0x58, 0x56, 0xe4,
902	0x2a, 0xd9, 0x55, 0xe3, 0x70, 0x74, 0x67, 0xef, 0x40, 0xc9, 0x24, 0xf2, 0x3f, 0x4d, 0xc1, 0xb3,
903	0x9c, 0xb7, 0xd0, 0x37, 0x00, 0x26, 0x03, 0x04, 0x8e, 0xae, 0x0f, 0xad, 0x42, 0xff, 0x5a, 0xca,
904	0xbe, 0x7d, 0x3a, 0x27, 0x46, 0x95, 0xc2, 0xd5, 0xae, 0x3c, 0xcd, 0x32, 0x5e, 0x09, 0xee, 0x9a,
905	0xa7, 0xbf, 0xfe, 0xfe, 0x45, 0x22, 0x8d, 0x92, 0x81, 0x27, 0x23, 0x7a, 0x06, 0x60, 0x3a, 0xc4,
906	0xb7, 0xe8, 0x9d, 0xa1, 0x21, 0x07, 0x2d, 0x85, 0xec, 0x8d, 0xd3, 0xba, 0x71, 0xac, 0x97, 0xbb,
907	0x32, 0xa3, 0x7e, 0x8a, 0x6e, 0x4e, 0x40, 0x01, 0x74, 0x05, 0x97, 0xba, 0x14, 0x40, 0x0e, 0x7d,
908	0x0a, 0xe0, 0x44, 0x8f, 0x93, 0xd1, 0xb5, 0xa1, 0xc1, 0xa2, 0xfc, 0x9d, 0x8d, 0xcb, 0x1b, 0xc2,
909	0x52, 0x57, 0xa6, 0xb7, 0x80, 0xe2, 0xf9, 0x37, 0x9a, 0x21, 0x78, 0x1e, 0x13, 0xc1, 0x7b, 0xfe,
910	0x5b, 0x22, 0xf7, 0x04, 0x7d, 0x0b, 0x60, 0x2a, 0x48, 0xe3, 0x68, 0x78, 0xa3, 0x06, 0xb0, 0x7e,
911	0xf6, 0xa2, 0xef, 0x15, 0x78, 0xdb, 0x9e, 0x0c, 0xbf, 0xb0, 0xf9, 0x42, 0x3e, 0xdf, 0x7b, 0x93,
912	0x46, 0x6f, 0x64, 0x57, 0x4e, 0xf3, 0x1e, 0x33, 0x5c, 0x14, 0xef, 0xac, 0x10, 0xec, 0x6e, 0xc1,
913	0xa7, 0xbf, 0xef, 0x00, 0x4c, 0x05, 0xc9, 0x35, 0x06, 0xdc, 0x01, 0x5c, 0x1c, 0xbf, 0x86, 0xb7,
914	0xbb, 0x32, 0x62, 0xa1, 0x57, 0x02, 0xb4, 0x4b, 0x11, 0x5e, 0xce, 0x5f, 0xa0, 0x15, 0x65, 0x6a,
915	0x31, 0x52, 0xd8, 0x1e, 0xe2, 0x1f, 0x01, 0x84, 0x27, 0x6b, 0x0a, 0xe5, 0x87, 0x46, 0xee, 0xdb,
916	0x69, 0xc3, 0x8a, 0x7b, 0xf7, 0xf5, 0xc5, 0x9d, 0x23, 0xc8, 0x56, 0xfa, 0x39, 0x84, 0x26, 0x71,
917	0x49, 0x38, 0x3f, 0x68, 0x2c, 0x0a, 0x4d, 0xab, 0x8d, 0xc9, 0xb4, 0x3e, 0x07, 0x30, 0x15, 0x5c,
918	0x16, 0x31, 0xea, 0x3d, 0x60, 0xb7, 0xc4, 0xaf, 0xf7, 0x4d, 0x3e, 0xb3, 0x5d, 0x79, 0x96, 0xc2,
919	0x8e, 0x6e, 0x12, 0x36, 0xcb, 0xb9, 0xc1, 0xb3, 0xfc, 0x35, 0x80, 0x93, 0xe1, 0x7d, 0x82, 0x86,
920	0x5f, 0xe6, 0x81, 0x0b, 0x28, 0x3e, 0x60, 0x29, 0x78, 0xc9, 0x04, 0xe1, 0xe2, 0xc0, 0x6a, 0xb6,
921	0x78, 0x0c, 0x52, 0xd1, 0x8f, 0x01, 0x4c, 0x6d, 0x62, 0x6f, 0x4b, 0x6b, 0x96, 0xe8, 0x77, 0x43,
922	0x24, 0xf8, 0xa1, 0x74, 0xad, 0x29, 0xb6, 0xaf, 0x89, 0x41, 0xa5, 0x0f, 0x67, 0x36, 0x62, 0xc3,
923	0xb4, 0xa4, 0x5a, 0xe3, 0x3e, 0x34, 0x0a, 0x20, 0x27, 0x5c, 0xa6, 0x00, 0x7c, 0x61, 0x10, 0x44,
924	0x23, 0x70, 0x2e, 0x01, 0xf2, 0x19, 0x80, 0xa9, 0xca, 0xeb, 0x80, 0x54, 0xe2, 0x03, 0x59, 0xeb,
925	0xca, 0x53, 0x7e, 0xcc, 0x15, 0xf6, 0x9d, 0x77, 0x28, 0x1e, 0x37, 0x82, 0xe7, 0x07, 0x00, 0x51,
926	0x15, 0xbb, 0x54, 0x88, 0x9d, 0xa6, 0xee, 0xba, 0xe4, 0x5b, 0x31, 0x5a, 0x8e, 0x44, 0xec, 0x37,
927	0xf1, 0xb1, 0x5d, 0x8d, 0x61, 0xc9, 0xb9, 0x7a, 0xa7, 0x2b, 0xcf, 0x9c, 0xe0, 0x3d, 0x31, 0xa0,
928	0xa0, 0xdf, 0x12, 0xfe, 0xff, 0x4a, 0xd0, 0x5e, 0xdf, 0x99, 0x05, 0x90, 0xcb, 0x7e, 0x0e, 0x5e,
929	0xc8, 0x4b, 0x31, 0x1e, 0x27, 0xbf, 0xc8, 0x8d, 0x23, 0xcf, 0xb3, 0xdd, 0x82, 0x24, 0x1d, 0x1f,
930	0x1f, 0x47, 0x5f, 0x2e, 0x5a, 0xcb, 0x3b, 0x62, 0x3f, 0x8d, 0xac, 0xda, 0x86, 0xe6, 0x1d, 0x5a,
931	0x4e, 0x73, 0xe5, 0x74, 0xe6, 0xa2, 0x83, 0xb5, 0xfa, 0xaa, 0x65, 0x1a, 0x9d, 0xb5, 0x9f, 0x01,
932	0x5c, 0xaa, 0x59, 0xcd, 0x61, 0x63, 0xbc, 0x96, 0xe2, 0x6b, 0xac, 0x44, 0x5e, 0x8e, 0x25, 0x70,
933	0x77, 0x97, 0x3b, 0x34, 0x2c, 0x43, 0x33, 0x1b, 0xa2, 0xe5, 0x34, 0xa4, 0x06, 0x36, 0xe9, 0xbb,
934	0x52, 0x3a, 0x01, 0xf0, 0xca, 0x5f, 0x70, 0x6e, 0x46, 0x44, 0xcf, 0x13, 0x0b, 0x9b, 0xec, 0xc0,
935	0x22, 0x45, 0x50, 0xe6, 0xea, 0x1d, 0x8e, 0xe0, 0x20, 0xff, 0xc2, 0xb7, 0xb8, 0x47, 0x2d, 0xee,
936	0x45, 0x2c, 0xee, 0x1d, 0xe4, 0xef, 0x8f, 0xd1, 0xf0, 0xd7, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff,
937	0x4f, 0x3f, 0x0c, 0xe4, 0x3f, 0x12, 0x00, 0x00,
938}
939
940// Reference imports to suppress errors if they are not otherwise used.
941var _ context.Context
942var _ grpc.ClientConn
943
944// This is a compile-time assertion to ensure that this generated file
945// is compatible with the grpc package it is being compiled against.
946const _ = grpc.SupportPackageIsVersion4
947
948// FoldersClient is the client API for Folders service.
949//
950// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
951type FoldersClient interface {
952	// Lists the Folders that are direct descendants of supplied parent resource.
953	// List provides a strongly consistent view of the Folders underneath
954	// the specified parent resource.
955	// List returns Folders sorted based upon the (ascending) lexical ordering
956	// of their display_name.
957	// The caller must have `resourcemanager.folders.list` permission on the
958	// identified parent.
959	ListFolders(ctx context.Context, in *ListFoldersRequest, opts ...grpc.CallOption) (*ListFoldersResponse, error)
960	// Search for folders that match specific filter criteria.
961	// Search provides an eventually consistent view of the folders a user has
962	// access to which meet the specified filter criteria.
963	//
964	// This will only return folders on which the caller has the
965	// permission `resourcemanager.folders.get`.
966	SearchFolders(ctx context.Context, in *SearchFoldersRequest, opts ...grpc.CallOption) (*SearchFoldersResponse, error)
967	// Retrieves a Folder identified by the supplied resource name.
968	// Valid Folder resource names have the format `folders/{folder_id}`
969	// (for example, `folders/1234`).
970	// The caller must have `resourcemanager.folders.get` permission on the
971	// identified folder.
972	GetFolder(ctx context.Context, in *GetFolderRequest, opts ...grpc.CallOption) (*Folder, error)
973	// Creates a Folder in the resource hierarchy.
974	// Returns an Operation which can be used to track the progress of the
975	// folder creation workflow.
976	// Upon success the Operation.response field will be populated with the
977	// created Folder.
978	//
979	// In order to succeed, the addition of this new Folder must not violate
980	// the Folder naming, height or fanout constraints.
981	//
982	// + The Folder's display_name must be distinct from all other Folder's that
983	// share its parent.
984	// + The addition of the Folder must not cause the active Folder hierarchy
985	// to exceed a height of 4. Note, the full active + deleted Folder hierarchy
986	// is allowed to reach a height of 8; this provides additional headroom when
987	// moving folders that contain deleted folders.
988	// + The addition of the Folder must not cause the total number of Folders
989	// under its parent to exceed 100.
990	//
991	// If the operation fails due to a folder constraint violation, some errors
992	// may be returned by the CreateFolder request, with status code
993	// FAILED_PRECONDITION and an error description. Other folder constraint
994	// violations will be communicated in the Operation, with the specific
995	// PreconditionFailure returned via the details list in the Operation.error
996	// field.
997	//
998	// The caller must have `resourcemanager.folders.create` permission on the
999	// identified parent.
1000	CreateFolder(ctx context.Context, in *CreateFolderRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
1001	// Updates a Folder, changing its display_name.
1002	// Changes to the folder display_name will be rejected if they violate either
1003	// the display_name formatting rules or naming constraints described in
1004	// the [CreateFolder][google.cloud.resourcemanager.v2.Folders.CreateFolder] documentation.
1005	//
1006	// The Folder's display name must start and end with a letter or digit,
1007	// may contain letters, digits, spaces, hyphens and underscores and can be
1008	// no longer than 30 characters. This is captured by the regular expression:
1009	// [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
1010	// The caller must have `resourcemanager.folders.update` permission on the
1011	// identified folder.
1012	//
1013	// If the update fails due to the unique name constraint then a
1014	// PreconditionFailure explaining this violation will be returned
1015	// in the Status.details field.
1016	UpdateFolder(ctx context.Context, in *UpdateFolderRequest, opts ...grpc.CallOption) (*Folder, error)
1017	// Moves a Folder under a new resource parent.
1018	// Returns an Operation which can be used to track the progress of the
1019	// folder move workflow.
1020	// Upon success the Operation.response field will be populated with the
1021	// moved Folder.
1022	// Upon failure, a FolderOperationError categorizing the failure cause will
1023	// be returned - if the failure occurs synchronously then the
1024	// FolderOperationError will be returned via the Status.details field
1025	// and if it occurs asynchronously then the FolderOperation will be returned
1026	// via the Operation.error field.
1027	// In addition, the Operation.metadata field will be populated with a
1028	// FolderOperation message as an aid to stateless clients.
1029	// Folder moves will be rejected if they violate either the naming, height
1030	// or fanout constraints described in the
1031	// [CreateFolder][google.cloud.resourcemanager.v2.Folders.CreateFolder] documentation.
1032	// The caller must have `resourcemanager.folders.move` permission on the
1033	// folder's current and proposed new parent.
1034	MoveFolder(ctx context.Context, in *MoveFolderRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
1035	// Requests deletion of a Folder. The Folder is moved into the
1036	// [DELETE_REQUESTED][google.cloud.resourcemanager.v2.Folder.LifecycleState.DELETE_REQUESTED] state
1037	// immediately, and is deleted approximately 30 days later. This method may
1038	// only be called on an empty Folder in the
1039	// [ACTIVE][google.cloud.resourcemanager.v2.Folder.LifecycleState.ACTIVE] state, where a Folder is empty if
1040	// it doesn't contain any Folders or Projects in the
1041	// [ACTIVE][google.cloud.resourcemanager.v2.Folder.LifecycleState.ACTIVE] state.
1042	// The caller must have `resourcemanager.folders.delete` permission on the
1043	// identified folder.
1044	DeleteFolder(ctx context.Context, in *DeleteFolderRequest, opts ...grpc.CallOption) (*Folder, error)
1045	// Cancels the deletion request for a Folder. This method may only be
1046	// called on a Folder in the
1047	// [DELETE_REQUESTED][google.cloud.resourcemanager.v2.Folder.LifecycleState.DELETE_REQUESTED] state.
1048	// In order to succeed, the Folder's parent must be in the
1049	// [ACTIVE][google.cloud.resourcemanager.v2.Folder.LifecycleState.ACTIVE] state.
1050	// In addition, reintroducing the folder into the tree must not violate
1051	// folder naming, height and fanout constraints described in the
1052	// [CreateFolder][google.cloud.resourcemanager.v2.Folders.CreateFolder] documentation.
1053	// The caller must have `resourcemanager.folders.undelete` permission on the
1054	// identified folder.
1055	UndeleteFolder(ctx context.Context, in *UndeleteFolderRequest, opts ...grpc.CallOption) (*Folder, error)
1056	// Gets the access control policy for a Folder. The returned policy may be
1057	// empty if no such policy or resource exists. The `resource` field should
1058	// be the Folder's resource name, e.g. "folders/1234".
1059	// The caller must have `resourcemanager.folders.getIamPolicy` permission
1060	// on the identified folder.
1061	GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
1062	// Sets the access control policy on a Folder, replacing any existing policy.
1063	// The `resource` field should be the Folder's resource name, e.g.
1064	// "folders/1234".
1065	// The caller must have `resourcemanager.folders.setIamPolicy` permission
1066	// on the identified folder.
1067	SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
1068	// Returns permissions that a caller has on the specified Folder.
1069	// The `resource` field should be the Folder's resource name,
1070	// e.g. "folders/1234".
1071	//
1072	// There are no permissions required for making this API call.
1073	TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
1074}
1075
1076type foldersClient struct {
1077	cc *grpc.ClientConn
1078}
1079
1080func NewFoldersClient(cc *grpc.ClientConn) FoldersClient {
1081	return &foldersClient{cc}
1082}
1083
1084func (c *foldersClient) ListFolders(ctx context.Context, in *ListFoldersRequest, opts ...grpc.CallOption) (*ListFoldersResponse, error) {
1085	out := new(ListFoldersResponse)
1086	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/ListFolders", in, out, opts...)
1087	if err != nil {
1088		return nil, err
1089	}
1090	return out, nil
1091}
1092
1093func (c *foldersClient) SearchFolders(ctx context.Context, in *SearchFoldersRequest, opts ...grpc.CallOption) (*SearchFoldersResponse, error) {
1094	out := new(SearchFoldersResponse)
1095	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/SearchFolders", in, out, opts...)
1096	if err != nil {
1097		return nil, err
1098	}
1099	return out, nil
1100}
1101
1102func (c *foldersClient) GetFolder(ctx context.Context, in *GetFolderRequest, opts ...grpc.CallOption) (*Folder, error) {
1103	out := new(Folder)
1104	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/GetFolder", in, out, opts...)
1105	if err != nil {
1106		return nil, err
1107	}
1108	return out, nil
1109}
1110
1111func (c *foldersClient) CreateFolder(ctx context.Context, in *CreateFolderRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
1112	out := new(longrunning.Operation)
1113	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/CreateFolder", in, out, opts...)
1114	if err != nil {
1115		return nil, err
1116	}
1117	return out, nil
1118}
1119
1120func (c *foldersClient) UpdateFolder(ctx context.Context, in *UpdateFolderRequest, opts ...grpc.CallOption) (*Folder, error) {
1121	out := new(Folder)
1122	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/UpdateFolder", in, out, opts...)
1123	if err != nil {
1124		return nil, err
1125	}
1126	return out, nil
1127}
1128
1129func (c *foldersClient) MoveFolder(ctx context.Context, in *MoveFolderRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
1130	out := new(longrunning.Operation)
1131	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/MoveFolder", in, out, opts...)
1132	if err != nil {
1133		return nil, err
1134	}
1135	return out, nil
1136}
1137
1138func (c *foldersClient) DeleteFolder(ctx context.Context, in *DeleteFolderRequest, opts ...grpc.CallOption) (*Folder, error) {
1139	out := new(Folder)
1140	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/DeleteFolder", in, out, opts...)
1141	if err != nil {
1142		return nil, err
1143	}
1144	return out, nil
1145}
1146
1147func (c *foldersClient) UndeleteFolder(ctx context.Context, in *UndeleteFolderRequest, opts ...grpc.CallOption) (*Folder, error) {
1148	out := new(Folder)
1149	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/UndeleteFolder", in, out, opts...)
1150	if err != nil {
1151		return nil, err
1152	}
1153	return out, nil
1154}
1155
1156func (c *foldersClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
1157	out := new(v1.Policy)
1158	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/GetIamPolicy", in, out, opts...)
1159	if err != nil {
1160		return nil, err
1161	}
1162	return out, nil
1163}
1164
1165func (c *foldersClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
1166	out := new(v1.Policy)
1167	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/SetIamPolicy", in, out, opts...)
1168	if err != nil {
1169		return nil, err
1170	}
1171	return out, nil
1172}
1173
1174func (c *foldersClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
1175	out := new(v1.TestIamPermissionsResponse)
1176	err := c.cc.Invoke(ctx, "/google.cloud.resourcemanager.v2.Folders/TestIamPermissions", in, out, opts...)
1177	if err != nil {
1178		return nil, err
1179	}
1180	return out, nil
1181}
1182
1183// FoldersServer is the server API for Folders service.
1184type FoldersServer interface {
1185	// Lists the Folders that are direct descendants of supplied parent resource.
1186	// List provides a strongly consistent view of the Folders underneath
1187	// the specified parent resource.
1188	// List returns Folders sorted based upon the (ascending) lexical ordering
1189	// of their display_name.
1190	// The caller must have `resourcemanager.folders.list` permission on the
1191	// identified parent.
1192	ListFolders(context.Context, *ListFoldersRequest) (*ListFoldersResponse, error)
1193	// Search for folders that match specific filter criteria.
1194	// Search provides an eventually consistent view of the folders a user has
1195	// access to which meet the specified filter criteria.
1196	//
1197	// This will only return folders on which the caller has the
1198	// permission `resourcemanager.folders.get`.
1199	SearchFolders(context.Context, *SearchFoldersRequest) (*SearchFoldersResponse, error)
1200	// Retrieves a Folder identified by the supplied resource name.
1201	// Valid Folder resource names have the format `folders/{folder_id}`
1202	// (for example, `folders/1234`).
1203	// The caller must have `resourcemanager.folders.get` permission on the
1204	// identified folder.
1205	GetFolder(context.Context, *GetFolderRequest) (*Folder, error)
1206	// Creates a Folder in the resource hierarchy.
1207	// Returns an Operation which can be used to track the progress of the
1208	// folder creation workflow.
1209	// Upon success the Operation.response field will be populated with the
1210	// created Folder.
1211	//
1212	// In order to succeed, the addition of this new Folder must not violate
1213	// the Folder naming, height or fanout constraints.
1214	//
1215	// + The Folder's display_name must be distinct from all other Folder's that
1216	// share its parent.
1217	// + The addition of the Folder must not cause the active Folder hierarchy
1218	// to exceed a height of 4. Note, the full active + deleted Folder hierarchy
1219	// is allowed to reach a height of 8; this provides additional headroom when
1220	// moving folders that contain deleted folders.
1221	// + The addition of the Folder must not cause the total number of Folders
1222	// under its parent to exceed 100.
1223	//
1224	// If the operation fails due to a folder constraint violation, some errors
1225	// may be returned by the CreateFolder request, with status code
1226	// FAILED_PRECONDITION and an error description. Other folder constraint
1227	// violations will be communicated in the Operation, with the specific
1228	// PreconditionFailure returned via the details list in the Operation.error
1229	// field.
1230	//
1231	// The caller must have `resourcemanager.folders.create` permission on the
1232	// identified parent.
1233	CreateFolder(context.Context, *CreateFolderRequest) (*longrunning.Operation, error)
1234	// Updates a Folder, changing its display_name.
1235	// Changes to the folder display_name will be rejected if they violate either
1236	// the display_name formatting rules or naming constraints described in
1237	// the [CreateFolder][google.cloud.resourcemanager.v2.Folders.CreateFolder] documentation.
1238	//
1239	// The Folder's display name must start and end with a letter or digit,
1240	// may contain letters, digits, spaces, hyphens and underscores and can be
1241	// no longer than 30 characters. This is captured by the regular expression:
1242	// [\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
1243	// The caller must have `resourcemanager.folders.update` permission on the
1244	// identified folder.
1245	//
1246	// If the update fails due to the unique name constraint then a
1247	// PreconditionFailure explaining this violation will be returned
1248	// in the Status.details field.
1249	UpdateFolder(context.Context, *UpdateFolderRequest) (*Folder, error)
1250	// Moves a Folder under a new resource parent.
1251	// Returns an Operation which can be used to track the progress of the
1252	// folder move workflow.
1253	// Upon success the Operation.response field will be populated with the
1254	// moved Folder.
1255	// Upon failure, a FolderOperationError categorizing the failure cause will
1256	// be returned - if the failure occurs synchronously then the
1257	// FolderOperationError will be returned via the Status.details field
1258	// and if it occurs asynchronously then the FolderOperation will be returned
1259	// via the Operation.error field.
1260	// In addition, the Operation.metadata field will be populated with a
1261	// FolderOperation message as an aid to stateless clients.
1262	// Folder moves will be rejected if they violate either the naming, height
1263	// or fanout constraints described in the
1264	// [CreateFolder][google.cloud.resourcemanager.v2.Folders.CreateFolder] documentation.
1265	// The caller must have `resourcemanager.folders.move` permission on the
1266	// folder's current and proposed new parent.
1267	MoveFolder(context.Context, *MoveFolderRequest) (*longrunning.Operation, error)
1268	// Requests deletion of a Folder. The Folder is moved into the
1269	// [DELETE_REQUESTED][google.cloud.resourcemanager.v2.Folder.LifecycleState.DELETE_REQUESTED] state
1270	// immediately, and is deleted approximately 30 days later. This method may
1271	// only be called on an empty Folder in the
1272	// [ACTIVE][google.cloud.resourcemanager.v2.Folder.LifecycleState.ACTIVE] state, where a Folder is empty if
1273	// it doesn't contain any Folders or Projects in the
1274	// [ACTIVE][google.cloud.resourcemanager.v2.Folder.LifecycleState.ACTIVE] state.
1275	// The caller must have `resourcemanager.folders.delete` permission on the
1276	// identified folder.
1277	DeleteFolder(context.Context, *DeleteFolderRequest) (*Folder, error)
1278	// Cancels the deletion request for a Folder. This method may only be
1279	// called on a Folder in the
1280	// [DELETE_REQUESTED][google.cloud.resourcemanager.v2.Folder.LifecycleState.DELETE_REQUESTED] state.
1281	// In order to succeed, the Folder's parent must be in the
1282	// [ACTIVE][google.cloud.resourcemanager.v2.Folder.LifecycleState.ACTIVE] state.
1283	// In addition, reintroducing the folder into the tree must not violate
1284	// folder naming, height and fanout constraints described in the
1285	// [CreateFolder][google.cloud.resourcemanager.v2.Folders.CreateFolder] documentation.
1286	// The caller must have `resourcemanager.folders.undelete` permission on the
1287	// identified folder.
1288	UndeleteFolder(context.Context, *UndeleteFolderRequest) (*Folder, error)
1289	// Gets the access control policy for a Folder. The returned policy may be
1290	// empty if no such policy or resource exists. The `resource` field should
1291	// be the Folder's resource name, e.g. "folders/1234".
1292	// The caller must have `resourcemanager.folders.getIamPolicy` permission
1293	// on the identified folder.
1294	GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
1295	// Sets the access control policy on a Folder, replacing any existing policy.
1296	// The `resource` field should be the Folder's resource name, e.g.
1297	// "folders/1234".
1298	// The caller must have `resourcemanager.folders.setIamPolicy` permission
1299	// on the identified folder.
1300	SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
1301	// Returns permissions that a caller has on the specified Folder.
1302	// The `resource` field should be the Folder's resource name,
1303	// e.g. "folders/1234".
1304	//
1305	// There are no permissions required for making this API call.
1306	TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
1307}
1308
1309// UnimplementedFoldersServer can be embedded to have forward compatible implementations.
1310type UnimplementedFoldersServer struct {
1311}
1312
1313func (*UnimplementedFoldersServer) ListFolders(ctx context.Context, req *ListFoldersRequest) (*ListFoldersResponse, error) {
1314	return nil, status.Errorf(codes.Unimplemented, "method ListFolders not implemented")
1315}
1316func (*UnimplementedFoldersServer) SearchFolders(ctx context.Context, req *SearchFoldersRequest) (*SearchFoldersResponse, error) {
1317	return nil, status.Errorf(codes.Unimplemented, "method SearchFolders not implemented")
1318}
1319func (*UnimplementedFoldersServer) GetFolder(ctx context.Context, req *GetFolderRequest) (*Folder, error) {
1320	return nil, status.Errorf(codes.Unimplemented, "method GetFolder not implemented")
1321}
1322func (*UnimplementedFoldersServer) CreateFolder(ctx context.Context, req *CreateFolderRequest) (*longrunning.Operation, error) {
1323	return nil, status.Errorf(codes.Unimplemented, "method CreateFolder not implemented")
1324}
1325func (*UnimplementedFoldersServer) UpdateFolder(ctx context.Context, req *UpdateFolderRequest) (*Folder, error) {
1326	return nil, status.Errorf(codes.Unimplemented, "method UpdateFolder not implemented")
1327}
1328func (*UnimplementedFoldersServer) MoveFolder(ctx context.Context, req *MoveFolderRequest) (*longrunning.Operation, error) {
1329	return nil, status.Errorf(codes.Unimplemented, "method MoveFolder not implemented")
1330}
1331func (*UnimplementedFoldersServer) DeleteFolder(ctx context.Context, req *DeleteFolderRequest) (*Folder, error) {
1332	return nil, status.Errorf(codes.Unimplemented, "method DeleteFolder not implemented")
1333}
1334func (*UnimplementedFoldersServer) UndeleteFolder(ctx context.Context, req *UndeleteFolderRequest) (*Folder, error) {
1335	return nil, status.Errorf(codes.Unimplemented, "method UndeleteFolder not implemented")
1336}
1337func (*UnimplementedFoldersServer) GetIamPolicy(ctx context.Context, req *v1.GetIamPolicyRequest) (*v1.Policy, error) {
1338	return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented")
1339}
1340func (*UnimplementedFoldersServer) SetIamPolicy(ctx context.Context, req *v1.SetIamPolicyRequest) (*v1.Policy, error) {
1341	return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented")
1342}
1343func (*UnimplementedFoldersServer) TestIamPermissions(ctx context.Context, req *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) {
1344	return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented")
1345}
1346
1347func RegisterFoldersServer(s *grpc.Server, srv FoldersServer) {
1348	s.RegisterService(&_Folders_serviceDesc, srv)
1349}
1350
1351func _Folders_ListFolders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1352	in := new(ListFoldersRequest)
1353	if err := dec(in); err != nil {
1354		return nil, err
1355	}
1356	if interceptor == nil {
1357		return srv.(FoldersServer).ListFolders(ctx, in)
1358	}
1359	info := &grpc.UnaryServerInfo{
1360		Server:     srv,
1361		FullMethod: "/google.cloud.resourcemanager.v2.Folders/ListFolders",
1362	}
1363	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1364		return srv.(FoldersServer).ListFolders(ctx, req.(*ListFoldersRequest))
1365	}
1366	return interceptor(ctx, in, info, handler)
1367}
1368
1369func _Folders_SearchFolders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1370	in := new(SearchFoldersRequest)
1371	if err := dec(in); err != nil {
1372		return nil, err
1373	}
1374	if interceptor == nil {
1375		return srv.(FoldersServer).SearchFolders(ctx, in)
1376	}
1377	info := &grpc.UnaryServerInfo{
1378		Server:     srv,
1379		FullMethod: "/google.cloud.resourcemanager.v2.Folders/SearchFolders",
1380	}
1381	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1382		return srv.(FoldersServer).SearchFolders(ctx, req.(*SearchFoldersRequest))
1383	}
1384	return interceptor(ctx, in, info, handler)
1385}
1386
1387func _Folders_GetFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1388	in := new(GetFolderRequest)
1389	if err := dec(in); err != nil {
1390		return nil, err
1391	}
1392	if interceptor == nil {
1393		return srv.(FoldersServer).GetFolder(ctx, in)
1394	}
1395	info := &grpc.UnaryServerInfo{
1396		Server:     srv,
1397		FullMethod: "/google.cloud.resourcemanager.v2.Folders/GetFolder",
1398	}
1399	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1400		return srv.(FoldersServer).GetFolder(ctx, req.(*GetFolderRequest))
1401	}
1402	return interceptor(ctx, in, info, handler)
1403}
1404
1405func _Folders_CreateFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1406	in := new(CreateFolderRequest)
1407	if err := dec(in); err != nil {
1408		return nil, err
1409	}
1410	if interceptor == nil {
1411		return srv.(FoldersServer).CreateFolder(ctx, in)
1412	}
1413	info := &grpc.UnaryServerInfo{
1414		Server:     srv,
1415		FullMethod: "/google.cloud.resourcemanager.v2.Folders/CreateFolder",
1416	}
1417	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1418		return srv.(FoldersServer).CreateFolder(ctx, req.(*CreateFolderRequest))
1419	}
1420	return interceptor(ctx, in, info, handler)
1421}
1422
1423func _Folders_UpdateFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1424	in := new(UpdateFolderRequest)
1425	if err := dec(in); err != nil {
1426		return nil, err
1427	}
1428	if interceptor == nil {
1429		return srv.(FoldersServer).UpdateFolder(ctx, in)
1430	}
1431	info := &grpc.UnaryServerInfo{
1432		Server:     srv,
1433		FullMethod: "/google.cloud.resourcemanager.v2.Folders/UpdateFolder",
1434	}
1435	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1436		return srv.(FoldersServer).UpdateFolder(ctx, req.(*UpdateFolderRequest))
1437	}
1438	return interceptor(ctx, in, info, handler)
1439}
1440
1441func _Folders_MoveFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1442	in := new(MoveFolderRequest)
1443	if err := dec(in); err != nil {
1444		return nil, err
1445	}
1446	if interceptor == nil {
1447		return srv.(FoldersServer).MoveFolder(ctx, in)
1448	}
1449	info := &grpc.UnaryServerInfo{
1450		Server:     srv,
1451		FullMethod: "/google.cloud.resourcemanager.v2.Folders/MoveFolder",
1452	}
1453	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1454		return srv.(FoldersServer).MoveFolder(ctx, req.(*MoveFolderRequest))
1455	}
1456	return interceptor(ctx, in, info, handler)
1457}
1458
1459func _Folders_DeleteFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1460	in := new(DeleteFolderRequest)
1461	if err := dec(in); err != nil {
1462		return nil, err
1463	}
1464	if interceptor == nil {
1465		return srv.(FoldersServer).DeleteFolder(ctx, in)
1466	}
1467	info := &grpc.UnaryServerInfo{
1468		Server:     srv,
1469		FullMethod: "/google.cloud.resourcemanager.v2.Folders/DeleteFolder",
1470	}
1471	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1472		return srv.(FoldersServer).DeleteFolder(ctx, req.(*DeleteFolderRequest))
1473	}
1474	return interceptor(ctx, in, info, handler)
1475}
1476
1477func _Folders_UndeleteFolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1478	in := new(UndeleteFolderRequest)
1479	if err := dec(in); err != nil {
1480		return nil, err
1481	}
1482	if interceptor == nil {
1483		return srv.(FoldersServer).UndeleteFolder(ctx, in)
1484	}
1485	info := &grpc.UnaryServerInfo{
1486		Server:     srv,
1487		FullMethod: "/google.cloud.resourcemanager.v2.Folders/UndeleteFolder",
1488	}
1489	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1490		return srv.(FoldersServer).UndeleteFolder(ctx, req.(*UndeleteFolderRequest))
1491	}
1492	return interceptor(ctx, in, info, handler)
1493}
1494
1495func _Folders_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1496	in := new(v1.GetIamPolicyRequest)
1497	if err := dec(in); err != nil {
1498		return nil, err
1499	}
1500	if interceptor == nil {
1501		return srv.(FoldersServer).GetIamPolicy(ctx, in)
1502	}
1503	info := &grpc.UnaryServerInfo{
1504		Server:     srv,
1505		FullMethod: "/google.cloud.resourcemanager.v2.Folders/GetIamPolicy",
1506	}
1507	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1508		return srv.(FoldersServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
1509	}
1510	return interceptor(ctx, in, info, handler)
1511}
1512
1513func _Folders_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1514	in := new(v1.SetIamPolicyRequest)
1515	if err := dec(in); err != nil {
1516		return nil, err
1517	}
1518	if interceptor == nil {
1519		return srv.(FoldersServer).SetIamPolicy(ctx, in)
1520	}
1521	info := &grpc.UnaryServerInfo{
1522		Server:     srv,
1523		FullMethod: "/google.cloud.resourcemanager.v2.Folders/SetIamPolicy",
1524	}
1525	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1526		return srv.(FoldersServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
1527	}
1528	return interceptor(ctx, in, info, handler)
1529}
1530
1531func _Folders_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1532	in := new(v1.TestIamPermissionsRequest)
1533	if err := dec(in); err != nil {
1534		return nil, err
1535	}
1536	if interceptor == nil {
1537		return srv.(FoldersServer).TestIamPermissions(ctx, in)
1538	}
1539	info := &grpc.UnaryServerInfo{
1540		Server:     srv,
1541		FullMethod: "/google.cloud.resourcemanager.v2.Folders/TestIamPermissions",
1542	}
1543	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1544		return srv.(FoldersServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
1545	}
1546	return interceptor(ctx, in, info, handler)
1547}
1548
1549var _Folders_serviceDesc = grpc.ServiceDesc{
1550	ServiceName: "google.cloud.resourcemanager.v2.Folders",
1551	HandlerType: (*FoldersServer)(nil),
1552	Methods: []grpc.MethodDesc{
1553		{
1554			MethodName: "ListFolders",
1555			Handler:    _Folders_ListFolders_Handler,
1556		},
1557		{
1558			MethodName: "SearchFolders",
1559			Handler:    _Folders_SearchFolders_Handler,
1560		},
1561		{
1562			MethodName: "GetFolder",
1563			Handler:    _Folders_GetFolder_Handler,
1564		},
1565		{
1566			MethodName: "CreateFolder",
1567			Handler:    _Folders_CreateFolder_Handler,
1568		},
1569		{
1570			MethodName: "UpdateFolder",
1571			Handler:    _Folders_UpdateFolder_Handler,
1572		},
1573		{
1574			MethodName: "MoveFolder",
1575			Handler:    _Folders_MoveFolder_Handler,
1576		},
1577		{
1578			MethodName: "DeleteFolder",
1579			Handler:    _Folders_DeleteFolder_Handler,
1580		},
1581		{
1582			MethodName: "UndeleteFolder",
1583			Handler:    _Folders_UndeleteFolder_Handler,
1584		},
1585		{
1586			MethodName: "GetIamPolicy",
1587			Handler:    _Folders_GetIamPolicy_Handler,
1588		},
1589		{
1590			MethodName: "SetIamPolicy",
1591			Handler:    _Folders_SetIamPolicy_Handler,
1592		},
1593		{
1594			MethodName: "TestIamPermissions",
1595			Handler:    _Folders_TestIamPermissions_Handler,
1596		},
1597	},
1598	Streams:  []grpc.StreamDesc{},
1599	Metadata: "google/cloud/resourcemanager/v2/folders.proto",
1600}
1601