aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/organizationmanager/v1/user_service.proto
blob: 3fddcddac8bd8cd2b5a968b2fd84d265b24bece6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
syntax = "proto3";

package yandex.cloud.organizationmanager.v1;

import "google/api/annotations.proto";
import "yandex/cloud/api/operation.proto";
import "yandex/cloud/oauth/claims.proto";
import "yandex/cloud/operation/operation.proto";
import "yandex/cloud/validation.proto";

option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/organizationmanager/v1;organizationmanager";
option java_package = "yandex.cloud.api.organizationmanager.v1";

// A set of methods for managing Organization users.
service UserService {
  // List organization active members.
  rpc ListMembers (ListMembersRequest) returns (ListMembersResponse) {
    option (google.api.http) = {get: "/organization-manager/v1/organizations/{organization_id}/users"};
  }

  // Delete user membership.
  rpc DeleteMembership (DeleteMembershipRequest) returns (operation.Operation) {
    option (google.api.http) = {delete: "/organization-manager/v1/organizations/{organization_id}/users/{subject_id}"};
    option (yandex.cloud.api.operation) = {
      metadata: "DeleteMembershipMetadata"
      response: "DeleteMembershipResponse"
    };
  }
}

message ListMembersRequest {
  // ID of the Organization resource to list members for.
  string organization_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 [ListMembersResponse.next_page_token]
  // that can be used to get the next page of results in subsequent list requests.
  // Acceptable values are 0 to 1000, inclusive. Default value: 100.
  int64 page_size = 2 [(value) = "0-1000"];

  // Page token. Set [page_token]
  // to the [ListMembersResponse.next_page_token]
  // returned by a previous list request to get the next page of results.
  string page_token = 3 [(length) = "<=2000"];
}

message ListMembersResponse {
  // List of users for the specified organization.
  repeated OrganizationUser users = 1;

  // This token allows you to get the next page of results for list requests. If the number of results
  // is larger than [ListMembersRequest.page_size], use the [next_page_token] as the value
  // for the [ListMembersRequest.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 OrganizationUser {
    // OpenID standard claims with additional Cloud Organization claims.
    yandex.cloud.oauth.SubjectClaims subject_claims = 1;
  }
}

message DeleteMembershipRequest {
  // ID of the organization to delete membership.
  string organization_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the subject that is being deleted from organization.
  // By default equals to authenticated subject.
  string subject_id = 2 [(length) = "<=50"];
}

message DeleteMembershipMetadata {
  // ID of the organization to delete membership.
  string organization_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the subject that is being deleted from organization.
  string subject_id = 2 [(required) = true, (length) = "<=50"];
}

message DeleteMembershipResponse {
  // ID of the organization to delete membership.
  string organization_id = 1 [(required) = true, (length) = "<=50"];

  // ID of the subject that is being deleted from organization.
  string subject_id = 2 [(required) = true, (length) = "<=50"];
}