github.com/cloudwan/edgelq-sdk@v1.15.4/iam/proto/v1alpha2/group_member.proto (about) 1 syntax = "proto3"; 2 3 package ntt.iam.v1alpha2; 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/v1alpha2/group_member;group_member"; 9 option java_multiple_files = true; 10 option java_outer_classname = "GroupMemberProto"; 11 option java_package = "com.ntt.iam.pb.v1alpha2"; 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 }; 22 23 // Name of GroupMember 24 // When creating a new instance, this field is optional and if not provided, 25 // it will be generated automatically. Last ID segment must conform to the 26 // following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9] 27 string name = 1; 28 29 // Format of the string is one of: 30 // - "allUsers" (anyone) 31 // - "allAuthenticatedUsers" (anyone logged in) 32 // - "user:admin.super@example.com" 33 // - "serviceAccount:device_agent@watchdog.serviceaccounts.iam.edgelq.com" 34 // - "group:nice.group@example.com" 35 string member = 2; 36 37 // Internal field used by the IAM controller to know member ID (email) of a 38 // group this member belongs to. 39 string parent_member = 5; 40 41 // Internal field used the IAM controller to know common ancestors if this 42 // group member is actually a copy from another group, which can happen if 43 // group is member in another group. List contains member IDs of other groups. 44 // Last element is always pointing to the group which made an actual copy and 45 // is responsible for deletion when needed. If particular group member is 46 // copied multiple times (which also can happen if group is indirect member 47 // via multiple memberships) then this field contains list only of common 48 // ancestors. This field has purpose of indicating owner (last item in this 49 // list) and to break cycles (previous elements). List is always empty if this 50 // group member is DIRECT member of this group and controller cannot modify 51 // it. 52 repeated string min_ancestry_members = 6; 53 54 // Metadata 55 goten.types.Meta metadata = 7; 56 57 reserved 3, 4; 58 }