github.com/cloudwan/edgelq-sdk@v1.15.4/iam/proto/v1alpha2/group.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;group";
     9  option java_multiple_files = true;
    10  option java_outer_classname = "GroupProto";
    11  option java_package = "com.ntt.iam.pb.v1alpha2";
    12  
    13  // Group Resource
    14  //
    15  // Allows grouping members like:
    16  // [ServiceAccounts][ntt.iam.v1alpha2.ServiceAccount],
    17  // [Users][ntt.iam.v1alpha2.User], or other [Groups][ntt.iam.v1alpha2.Group] by
    18  // managing [memberships][ntt.iam.v1alpha2.GroupMember].
    19  //
    20  // Groups can then be used to simplify access management by referring to them
    21  // through via [email][ntt.iam.v1alpha2.Group.email] in
    22  // [RoleBindings][ntt.iam.v1alpha2.RoleBinding.member].
    23  message Group {
    24    option (google.api.resource) = {
    25      type : "iam.edgelq.com/Group"
    26      pattern : "groups/{group}"
    27      pattern : "projects/{project}/groups/{group}"
    28      pattern : "organizations/{organization}/groups/{group}"
    29    };
    30  
    31    // Name of Group
    32    // When creating a new instance, this field is optional and if not provided,
    33    // it will be generated automatically. Last ID segment must conform to the
    34    // following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
    35    string name = 1;
    36  
    37    // Display Name
    38    string display_name = 2;
    39  
    40    // Unique email address for this [Group]. Generated based on its
    41    // [name][ntt.iam.v1alpha2.Group.name] with following rules:
    42    //
    43    // 1. System group: `{group_id}@groups.iam.edgelq.com`
    44    // 2. Organization group: `{group_id}@{organization_id}.groups.iam.edgelq.com`
    45    // 3. Project group: `{group_id}@{project_id}.groups.iam.edgelq.com`
    46    //
    47    // This email can be used in
    48    // [RoleBindings][ntt.iam.v1alpha2.RoleBinding.member] field.
    49    //
    50    // Note: Currently there is way to assign custom domain for [Organization] or
    51    // [Project].
    52    string email = 4;
    53  
    54    // Metadata
    55    goten.types.Meta metadata = 5;
    56  
    57    reserved 3;
    58  }