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  }