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/datasphere/v2/community_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/datasphere/v2/community_service.proto')
-rw-r--r-- | contrib/libs/yandex-cloud-api-protos/yandex/cloud/datasphere/v2/community_service.proto | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datasphere/v2/community_service.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datasphere/v2/community_service.proto new file mode 100644 index 0000000000..e533111dbc --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datasphere/v2/community_service.proto @@ -0,0 +1,269 @@ +syntax = "proto3"; + +package yandex.cloud.datasphere.v2; + +import "google/api/annotations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "yandex/cloud/access/access.proto"; +import "yandex/cloud/api/operation.proto"; +import "yandex/cloud/validation.proto"; +import "yandex/cloud/operation/operation.proto"; +import "yandex/cloud/datasphere/v2/community.proto"; +import "yandex/cloud/datasphere/v2/resource_types.proto"; +import "yandex/cloud/datasphere/v2/restrictions.proto"; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datasphere/v2;datasphere"; +option java_package = "yandex.cloud.api.datasphere.v2"; + +// A set of methods for managing Community resources. +service CommunityService { + // Creates community in specified organization. + rpc Create(CreateCommunityRequest) returns (operation.Operation) { + option (google.api.http) = { + post: "/datasphere/v2/communities" + body: "*" + }; + option (yandex.cloud.api.operation) = { + metadata: "CreateCommunityMetadata" + response: "Community" + }; + } + + // Returns community. + rpc Get(GetCommunityRequest) returns (Community) { + option (google.api.http) = {get: "/datasphere/v2/communities/{community_id}"}; + } + + // Updates specified community. + rpc Update(UpdateCommunityRequest) returns (operation.Operation) { + option (google.api.http) = { + patch: "/datasphere/v2/communities/{community_id}" + body: "*" + }; + option (yandex.cloud.api.operation) = { + metadata: "UpdateCommunityMetadata" + response: "Community" + }; + } + + // Deletes specified community. + rpc Delete(DeleteCommunityRequest) returns (operation.Operation) { + option (google.api.http) = {delete: "/datasphere/v2/communities/{community_id}"}; + option (yandex.cloud.api.operation) = { + metadata: "DeleteCommunityMetadata" + response: "google.protobuf.Empty" + }; + } + + // List communities in specified organization. + rpc List(ListCommunitiesRequest) returns (ListCommunitiesResponse) { + option (google.api.http) = {get: "/datasphere/v2/communities"}; + } + + // Lists access bindings for specified community. + rpc ListAccessBindings(access.ListAccessBindingsRequest) returns (access.ListAccessBindingsResponse) { + option (google.api.http) = {get: "/datasphere/v2/communities/{resource_id}:accessBindings"}; + } + + // Sets access bindings for specified community. + rpc SetAccessBindings(access.SetAccessBindingsRequest) returns (operation.Operation) { + option (google.api.http) = { + post: "/datasphere/v2/communities/{resource_id}:setAccessBindings" + body: "*" + }; + option (yandex.cloud.api.operation) = { + metadata: "SetCommunityAccessBindingsMetadata" + response: "google.protobuf.Empty" + }; + } + + // Updates access bindings for specified community. + rpc UpdateAccessBindings(access.UpdateAccessBindingsRequest) returns (operation.Operation) { + option (google.api.http) = { + patch: "/datasphere/v2/communities/{resource_id}:updateAccessBindings" + body: "*" + }; + option (yandex.cloud.api.operation) = { + metadata: "UpdateCommunityAccessBindingsMetadata" + response: "google.protobuf.Empty" + }; + } + + // Adds shared resource to community + rpc AddResource(AddCommunityResourceRequest) returns (operation.Operation) { + option (google.api.http) = { + post: "/datasphere/v2/communities/{resource_id}:addResource" + body: "*" + }; + option (yandex.cloud.api.operation) = {response: "google.protobuf.Empty"}; + } + + // Removes shared resource from community + rpc RemoveResource(RemoveCommunityResourceRequest) returns (operation.Operation) { + option (google.api.http) = { + post: "/datasphere/v2/communities/{resource_id}:removeResource" + body: "*" + }; + option (yandex.cloud.api.operation) = {response: "google.protobuf.Empty"}; + } + + // Get meta information about available restrictions. + rpc GetRestrictionsMeta (google.protobuf.Empty) returns (GetRestrictionsMetaResponse) { + option (google.api.http) = {get: "/datasphere/v2/communities/restrictionsMeta"}; + } + + // Get current community restrictions. + rpc GetRestrictions (GetCommunityRestrictionsRequest) returns (RestrictionsResponse) { + option (google.api.http) = {get: "/datasphere/v2/communities/{community_id}:restrictions"}; + } + + // Set community restrictions. + rpc SetRestrictions (SetCommunityRestrictionsRequest) returns (operation.Operation) { + option (google.api.http) = {post: "/datasphere/v2/communities/{community_id}:setRestrictions" body: "*"}; + option (yandex.cloud.api.operation) = { + response: "RestrictionsResponse" + }; + } +} + +message CreateCommunityRequest { + // Name of the community. + string name = 1 [ + (length) = "<=63", + (pattern) = "[a-zA-Z0-9\u0401\u0451\u0410-\u044f]\\S{1,61}[a-zA-Z0-9\u0401\u0451\u0410-\u044f]" + ]; + + // Description of the community. + string description = 2; + + // ID of the organization where community should be created. + string organization_id = 3 [(required) = true]; + + // ID of the billing account for the created community. Optional, billing account could be bound to community later. + string billing_account_id = 4; + + // Labels of the community. + map<string, string> labels = 5; +} + +message CreateCommunityMetadata { + // ID of the community that is being created. + string community_id = 1; +} + +message GetCommunityRequest { + // ID of the community. + string community_id = 1 [(required) = true]; +} + +message UpdateCommunityRequest { + // ID of the community. + string community_id = 1 [(required) = true]; + + // Field mask that specifies which fields of the Community resource are going to be updated. + google.protobuf.FieldMask update_mask = 2; + + // Name of the community. + string name = 3; + + // Description of the community. + string description = 4; + + // Labels of the community. + map<string, string> labels = 5; +} + +message UpdateCommunityMetadata { + // ID of the community that is being updated. + string community_id = 1; +} + +message DeleteCommunityRequest { + // ID of the community. + string community_id = 1 [(required) = true]; +} + +message DeleteCommunityMetadata { + // ID of the community that is being deleted. + string community_id = 1; +} + +message ListCommunitiesRequest { + reserved 4; + // The maximum number of results per page to return. If the number of available + // results is larger than [page_size], + // the service returns a [ListCommunitiesResponse.next_page_token] + // that can be used to get the next page of results in subsequent list requests. + int64 page_size = 1; + + // Page token. To get the next page of results, set [page_token] to the + // [ListCommunitiesResponse.next_page_token] returned by a previous list request. + string page_token = 2; + + // Community name or description pattern. + // Only communities with names or descriptions matching specified pattern will be returned. + string name_or_description_pattern = 3; + + // ID of the user. Only communities owned by specified user will be returned. + string owned_by_id = 5; + + // If set to true, only public communities will be returned. + bool list_public = 6; + + // ID of the organization to list communities in. + string organization_id = 7 [(required) = true]; +} + +message ListCommunitiesResponse { + // List of communities matching filters in list communities request. + repeated Community communities = 1; + + // This token allows you to get the next page of results for list requests. If the number of results + // is larger than [ListCommunitiesRequest.page_size], use + // the [next_page_token] as the value + // for the [ListCommunitiesRequest.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 SetCommunityAccessBindingsMetadata { + // ID of the community which access bindings are set. + string community_id = 1; +} + +message UpdateCommunityAccessBindingsMetadata { + // ID of the community which access bindings are updated. + string community_id = 1; +} + +message AddCommunityResourceRequest { + string community_id = 1 [ + (required) = true, + (length) = "<=50" + ]; + ResourceType resource_type = 2 [(required) = true]; + string resource_id = 3 [(required) = true]; +} + +message RemoveCommunityResourceRequest { + string community_id = 1 [ + (required) = true, + (length) = "<=50" + ]; + ResourceType resource_type = 2 [(required) = true]; + string resource_id = 3 [(required) = true]; +} + +message GetCommunityRestrictionsRequest { + // ID of the community. + string community_id = 1 [(required) = true]; +} + +message SetCommunityRestrictionsRequest { + // ID of the community. + string community_id = 1 [(required) = true]; + // List of restrictions to set. + repeated Restriction restrictions = 2; +} |