syntax = "proto3";

package iam_pb;

option go_package = "github.com/seaweedfs/seaweedfs/weed/pb/iam_pb";
option java_package = "seaweedfs.client";
option java_outer_classname = "IamProto";

//////////////////////////////////////////////////

service SeaweedIdentityAccessManagement {

}

//////////////////////////////////////////////////

message S3ApiConfiguration {
    repeated Identity identities = 1;
    repeated Account accounts = 2;
}

message Identity {
    string name = 1;
    repeated Credential credentials = 2;
    repeated string actions = 3;
    Account account = 4;
}

message Credential {
    string access_key = 1;
    string secret_key = 2;
    // uint64 expiration = 3;
    // bool is_disabled = 4;
}

message Account {
    string id = 1;
    string display_name = 2;
    string email_address = 3;
}

/*
message Policy {
    repeated Statement statements = 1;
}

message Statement {
    repeated Action action = 1;
    repeated Resource resource = 2;
}

message Action {
    string action = 1;
}
message Resource {
    string bucket = 1;
    // string path = 2;
}
*/