github.com/cloudwan/edgelq-sdk@v1.15.4/iam/proto/v1alpha2/invitation.proto (about)

     1  syntax = "proto3";
     2  
     3  package ntt.iam.v1alpha2;
     4  
     5  import "edgelq-sdk/iam/proto/v1alpha2/role.proto";
     6  import "edgelq-sdk/iam/proto/v1alpha2/service_account.proto";
     7  import "edgelq-sdk/iam/proto/v1alpha2/user.proto";
     8  import "google/api/field_behavior.proto";
     9  import "google/api/resource.proto";
    10  import "google/protobuf/struct.proto";
    11  import "google/protobuf/timestamp.proto";
    12  
    13  option go_package = "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/invitation;iam_invitation";
    14  option java_multiple_files = true;
    15  option java_package = "com.ntt.iam.pb.v1alpha2";
    16  
    17  // Actor is a party performing an action
    18  message Actor {
    19    string user = 1 [ (google.api.resource_reference) = {type : "User"} ];
    20  
    21    string service_account = 2
    22        [ (google.api.resource_reference) = {type : "ServiceAccount"} ];
    23  }
    24  
    25  // Common invitation body. It's used in Project/Organization Invitations
    26  message Invitation {
    27    // Invitee Email address
    28    string invitee_email = 3;
    29  
    30    // Inviter User
    31    Actor inviter_actor = 6 [ (google.api.field_behavior) = OUTPUT_ONLY ];
    32  
    33    // Denormalized data - TODO: remove it
    34    string inviter_full_name = 5 [ (google.api.field_behavior) = OUTPUT_ONLY ];
    35  
    36    // Inviter Email
    37    string inviter_email = 10 [ (google.api.field_behavior) = OUTPUT_ONLY ];
    38  
    39    // Invitation ISO language code. Defaults to "en-us" (American English).
    40    string language_code = 11;
    41  
    42    // List of Roles to be granted on project when invitation is accepted
    43    repeated string roles = 7;
    44  
    45    // Expiration date
    46    google.protobuf.Timestamp expiration_date = 8;
    47  
    48    // Extra custom fields to further customize invitation experience.
    49    // Fields should be agreed between sender (usually UI) and documented in
    50    // the template of email service provider.
    51    map<string, string> extras = 12;
    52  
    53    // Status of Invitation
    54    State state = 9 [ (google.api.field_behavior) = OUTPUT_ONLY ];
    55  
    56    // Invitation FSM States
    57    enum State {
    58      STATE_UNSPECIFIED = 0;
    59  
    60      PENDING = 1;
    61  
    62      ACCEPTED = 2;
    63  
    64      DECLINED = 3;
    65  
    66      EXPIRED = 4;
    67    }
    68  }