syntax = "proto3";
package cloudianConsumer;

service cloudianConsumer{
    rpc CreateGroup(Group) returns (Response);
    rpc CreateUser(User) returns (Response);
    rpc CreateS3Access(S3Access) returns (Response);
    rpc DeleteGroup(Group) returns (Response);
    rpc DeleteUser(User) returns (Response);
}

message Group{
    string groupName = 1;
    optional string groupDesc = 2;
}

message User{
    string groupName = 1;
    string userName = 2;
    optional string userDesc = 3;
}

message S3Access{
    string groupName = 1;
    string userName = 2;
}

message DataValue {
    oneof kind{
        string strval = 1;
        bool boolval = 2;
        int64 intval = 3;
    }
}

message Data {
   map<string, DataValue> element = 1;
}

message Response{
    string msg = 1;
    optional string error = 2;
    repeated Data data = 3; 
}