diff options
author | iddqd <iddqd@yandex-team.com> | 2024-06-11 10:12:13 +0300 |
---|---|---|
committer | iddqd <iddqd@yandex-team.com> | 2024-06-11 10:22:43 +0300 |
commit | 07f57e35443ab7f09471caf2dbf1afbcced4d9f7 (patch) | |
tree | a4a7b66ead62e83fa988a2ec2ce6576311c1f4b1 /contrib/libs/yandex-cloud-api-protos/yandex/cloud/resourcemanager/v1/folder_service.proto | |
parent | 6db3b8ca95e44179e48306a58656fb1f9317d9c3 (diff) | |
download | ydb-07f57e35443ab7f09471caf2dbf1afbcced4d9f7.tar.gz |
add contrib/python/yandexcloud to import
03b7d3cad2237366b55b393e18d4dc5eb222798c
Diffstat (limited to 'contrib/libs/yandex-cloud-api-protos/yandex/cloud/resourcemanager/v1/folder_service.proto')
-rw-r--r-- | contrib/libs/yandex-cloud-api-protos/yandex/cloud/resourcemanager/v1/folder_service.proto | 227 |
1 files changed, 227 insertions, 0 deletions
diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/resourcemanager/v1/folder_service.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/resourcemanager/v1/folder_service.proto new file mode 100644 index 0000000000..0147d0d390 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/resourcemanager/v1/folder_service.proto @@ -0,0 +1,227 @@ +syntax = "proto3"; + +package yandex.cloud.resourcemanager.v1; + +import "google/api/annotations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "yandex/cloud/api/operation.proto"; +import "yandex/cloud/resourcemanager/v1/folder.proto"; +import "yandex/cloud/access/access.proto"; +import "yandex/cloud/operation/operation.proto"; +import "yandex/cloud/validation.proto"; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/resourcemanager/v1;resourcemanager"; +option java_package = "yandex.cloud.api.resourcemanager.v1"; + +// A set of methods for managing Folder resources. +service FolderService { + // Returns the specified Folder resource. + // + // To get the list of available Folder resources, make a [List] request. + rpc Get (GetFolderRequest) returns (Folder) { + option (google.api.http) = { get: "/resource-manager/v1/folders/{folder_id}" }; + } + + // Retrieves the list of Folder resources in the specified cloud. + rpc List (ListFoldersRequest) returns (ListFoldersResponse) { + option (google.api.http) = { get: "/resource-manager/v1/folders" }; + } + + // Creates a folder in the specified cloud. + rpc Create (CreateFolderRequest) returns (operation.Operation) { + option (google.api.http) = { post: "/resource-manager/v1/folders" body: "*" }; + option (yandex.cloud.api.operation) = { + metadata: "CreateFolderMetadata" + response: "Folder" + }; + } + + // Updates the specified folder. + rpc Update (UpdateFolderRequest) returns (operation.Operation) { + option (google.api.http) = { patch: "/resource-manager/v1/folders/{folder_id}" body: "*" }; + option (yandex.cloud.api.operation) = { + metadata: "UpdateFolderMetadata" + response: "Folder" + }; + } + + // Deletes the specified folder. + rpc Delete (DeleteFolderRequest) returns (operation.Operation) { + option (google.api.http) = { delete: "/resource-manager/v1/folders/{folder_id}" }; + option (yandex.cloud.api.operation) = { + metadata: "DeleteFolderMetadata" + response: "google.protobuf.Empty" + }; + } + + // Lists operations for the specified folder. + rpc ListOperations (ListFolderOperationsRequest) returns (ListFolderOperationsResponse) { + option (google.api.http) = { get: "/resource-manager/v1/folders/{folder_id}/operations" }; + } + + //access + + // Lists access bindings for the specified folder. + rpc ListAccessBindings (access.ListAccessBindingsRequest) returns (access.ListAccessBindingsResponse) { + option (google.api.http) = { get: "/resource-manager/v1/folders/{resource_id}:listAccessBindings" }; + } + + // Sets access bindings for the specified folder. + rpc SetAccessBindings (access.SetAccessBindingsRequest) returns (operation.Operation) { + option (google.api.http) = { post: "/resource-manager/v1/folders/{resource_id}:setAccessBindings" body: "*" }; + option (yandex.cloud.api.operation) = { + metadata: "access.SetAccessBindingsMetadata" + response: "access.AccessBindingsOperationResult" + }; + } + + // Updates access bindings for the specified folder. + rpc UpdateAccessBindings (access.UpdateAccessBindingsRequest) returns (operation.Operation) { + option (google.api.http) = { post: "/resource-manager/v1/folders/{resource_id}:updateAccessBindings" body: "*" }; + option (yandex.cloud.api.operation) = { + metadata: "access.UpdateAccessBindingsMetadata" + response: "access.AccessBindingsOperationResult" + }; + } +} + +message GetFolderRequest { + // ID of the Folder resource to return. + // To get the folder ID, use a [FolderService.List] request. + string folder_id = 1 [(required) = true, (length) = "<=50"]; +} + +message ListFoldersRequest { + // ID of the cloud to list folders in. + // To get the cloud ID, use a [yandex.cloud.resourcemanager.v1.CloudService.List] request. + string cloud_id = 1 [(required) = true, (length) = "<=50"]; + + // The maximum number of results per page to return. If the number of available + // results is larger than [page_size], + // the service returns a [ListFoldersResponse.next_page_token] + // that can be used to get the next page of results in subsequent list requests. + // Default value: 100. + int64 page_size = 2 [(value) = "<=1000"]; + + // Page token. Set [page_token] + // to the [ListFoldersResponse.next_page_token] + // returned by a previous list request to get the next page of results. + string page_token = 3 [(length) = "<=2000"]; + + // A filter expression that filters resources listed in the response. + // The expression must specify: + // 1. The field name. Currently you can use filtering only on the [Folder.name] field. + // 2. An `=` operator. + // 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`. + string filter = 4 [(length) = "<=1000"]; +} + +message ListFoldersResponse { + // List of Folder resources. + repeated Folder folders = 1; + + // This token allows you to get the next page of results for list requests. If the number of results + // is larger than [ListFoldersRequest.page_size], use + // the [next_page_token] as the value + // for the [ListFoldersRequest.page_token] query parameter + // in the next list request. Each subsequent list request will have its own + // [next_page_token] to continue paging through the results. + string next_page_token = 2; +} + +message CreateFolderRequest { + // ID of the cloud to create a folder in. + // To get the cloud ID, use a [yandex.cloud.resourcemanager.v1.CloudService.List] request. + string cloud_id = 1 [(required) = true, (length) = "<=50"]; + + // Name of the folder. + // The name must be unique within the cloud. + string name = 2 [(required) = true, (pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"]; + + // Description of the folder. + string description = 3 [(length) = "<=256"]; + + // Resource labels as `` key:value `` pairs. + map<string, string> labels = 4 [(yandex.cloud.size) = "<=64", (length) = "<=63", (pattern) = "[-_0-9a-z]*", (map_key).length = "1-63", (map_key).pattern = "[a-z][-_0-9a-z]*"]; +} + +message CreateFolderMetadata { + // ID of the folder that is being created. + string folder_id = 1; +} + +message UpdateFolderRequest { + // ID of the Folder resource to update. + // To get the folder ID, use a [FolderService.List] request. + string folder_id = 1 [(required) = true, (length) = "<=50"]; + + // Field mask that specifies which fields of the Folder resource are going to be updated. + google.protobuf.FieldMask update_mask = 2; + + // Name of the folder. + // The name must be unique within the cloud. + string name = 3 [(required) = true, (pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"]; + + // Description of the folder. + string description = 4 [(length) = "<=256"]; + + // Resource labels as `` key:value `` pairs. + map<string, string> labels = 5 [(yandex.cloud.size) = "<=64", (length) = "<=63", (pattern) = "[-_0-9a-z]*", (map_key).length = "1-63", (map_key).pattern = "[a-z][-_0-9a-z]*"]; +} + +message UpdateFolderMetadata { + // ID of the Folder resource that is being updated. + string folder_id = 1; +} + +message DeleteFolderRequest { + // ID of the folder to delete. + // To get the folder ID, use a [FolderService.List] request. + string folder_id = 1 [(required) = true, (length) = "<=50"]; + + // The timestamp after which the process of deleting the folder should begin. + // Until this timestamp, the folder goes into the [Folder.Status.PENDING_DELETION] state and all resources in this + // folder are stopped. In this state, it is possible to cancel the delete operation without any loss. + // After this timestamp, the status of the folder will become [Folder.Status.DELETING] and the process of deleting + // all the resources of the folder will be started. If [delete_after] is not specified it will be + // (now + 24 hours). To initiate an immediate deletion [delete_after] must be <= now. + google.protobuf.Timestamp delete_after = 2; +} + +message DeleteFolderMetadata { + // ID of the folder that is being deleted. + string folder_id = 1; + // The timestamp after which the process of deleting the folder should begin. + google.protobuf.Timestamp delete_after = 2; + // Information about operation cancellation + string cancelled_by = 3; + google.protobuf.Timestamp cancelled_at = 4; +} + +message ListFolderOperationsRequest { + // ID of the Folder resource to list operations for. + string folder_id = 1 [(required) = true, (length) = "<=50"]; + + // The maximum number of results per page to return. If the number of available + // results is larger than [page_size], the service returns a [ListFolderOperationsResponse.next_page_token] + // that can be used to get the next page of results in subsequent list requests. + // Default value: 100. + int64 page_size = 2 [(value) = "<=1000"]; + + // Page token. Set [page_token] + // to the [ListFolderOperationsResponse.next_page_token] + // returned by a previous list request to get the next page of results. + string page_token = 3 [(length) = "<=2000"]; +} + +message ListFolderOperationsResponse { + // List of operations for the specified folder. + repeated operation.Operation operations = 1; + + // This token allows you to get the next page of results for list requests. If the number of results + // is larger than [ListFolderOperationsRequest.page_size], use the [next_page_token] as the value + // for the [ListFolderOperationsRequest.page_token] query parameter in the next list request. + // Each subsequent list request will have its own [next_page_token] to continue paging through the results. + string next_page_token = 2; +} |