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  }