syntax = "proto3";

package accessbox;

option go_package = "git.frostfs.info/TrueCloudLab/frostfs-s3-gw/creds/tokenbox;accessbox";



message AccessBox {
    message Gate {
        bytes tokens = 1 [json_name = "tokens"];
        bytes gatePublicKey = 2 [json_name = "gatePublicKey"];
    }

    message ContainerPolicy {
        string locationConstraint = 1;
        bytes policy = 2;
    }

    bytes seedKey = 1 [json_name = "seedKey"];
    repeated Gate gates = 2 [json_name = "gates"];
    repeated ContainerPolicy containerPolicy = 3 [json_name = "containerPolicy"];
}

message Tokens {
    bytes secretKey = 1 [json_name = "secretKey"];
    bytes bearerToken = 2 [json_name = "bearerToken"];
    repeated bytes sessionTokens = 3 [json_name = "sessionTokens"];
}