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