github.com/cloudwan/edgelq-sdk@v1.15.4/iam/proto/v1/group_member.proto (about) 1 syntax = "proto3"; 2 3 package ntt.iam.v1; 4 5 import "google/api/resource.proto"; 6 import "goten-sdk/types/meta.proto"; 7 8 option go_package = "github.com/cloudwan/edgelq-sdk/iam/resources/v1/group_member;group_member"; 9 option java_multiple_files = true; 10 option java_outer_classname = "GroupMemberProto"; 11 option java_package = "com.ntt.iam.pb.v1"; 12 13 // GroupMember Resource 14 message GroupMember { 15 option (google.api.resource) = { 16 type : "iam.edgelq.com/GroupMember" 17 pattern : "groups/{group}/groupMembers/{group_member}" 18 pattern : "projects/{project}/groups/{group}/groupMembers/{group_member}" 19 pattern : "organizations/{organization}/groups/{group}/groupMembers/" 20 "{group_member}" 21 pattern : "services/{service}/groups/{group}/groupMembers/{group_member}" 22 }; 23 24 // Name of GroupMember 25 // When creating a new instance, this field is optional and if not provided, 26 // it will be generated automatically. Last ID segment must conform to the 27 // following regex: [a-z][a-z0-9\\-]{0,28}[a-z0-9] 28 string name = 1; 29 30 // Metadata is an object with information like create, update and delete time 31 // (for async deleted resources), has user labels/annotations, sharding 32 // information, multi-region syncing information and may have non-schema 33 // owners (useful for taking ownership of resources belonging to lower level 34 // services by higher ones). 35 goten.types.Meta metadata = 7; 36 37 // Format of the string is one of: 38 // - "allUsers" (anyone) 39 // - "allAuthenticatedUsers" (anyone logged in) 40 // - "user:admin.super@example.com" 41 // - "serviceAccount:device_agent@watchdog.serviceaccounts.iam.edgelq.com" 42 // - "group:nice.group@example.com" 43 string member = 2; 44 45 // Internal field used by the IAM controller to know member ID (email) of a 46 // group this member belongs to. 47 string parent_member = 5; 48 49 // Internal field used the IAM controller to know common ancestors if this 50 // group member is actually a copy from another group, which can happen if 51 // group is member in another group. List contains member IDs of other groups. 52 // Last element is always pointing to the group which made an actual copy and 53 // is responsible for deletion when needed. If particular group member is 54 // copied multiple times (which also can happen if group is indirect member 55 // via multiple memberships) then this field contains list only of common 56 // ancestors. This field has purpose of indicating owner (last item in this 57 // list) and to break cycles (previous elements). List is always empty if this 58 // group member is DIRECT member of this group and controller cannot modify 59 // it. 60 repeated string min_ancestry_members = 6; 61 }