aboutsummaryrefslogtreecommitdiff
path: root/weed/pb/s3.proto
blob: 4c9e52c244d6e09c382ff0913695995609046d42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
syntax = "proto3";

package messaging_pb;

option go_package = "github.com/seaweedfs/seaweedfs/weed/pb/s3_pb";
option java_package = "seaweedfs.client";
option java_outer_classname = "S3Proto";

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

service SeaweedS3 {

    rpc Configure (S3ConfigureRequest) returns (S3ConfigureResponse) {
    }

}

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

message S3ConfigureRequest {
    bytes s3_configuration_file_content = 1;
}

message S3ConfigureResponse {
}

message S3CircuitBreakerConfig {
    S3CircuitBreakerOptions global=1;
    map<string, S3CircuitBreakerOptions> buckets= 2;
}

message S3CircuitBreakerOptions {
    bool enabled=1;
    map<string, int64> actions = 2;
}

//////////////////////////////////////////////////
// Bucket Metadata

message CORSRule {
    repeated string allowed_headers = 1;
    repeated string allowed_methods = 2;
    repeated string allowed_origins = 3;
    repeated string expose_headers = 4;
    int32 max_age_seconds = 5;
    string id = 6;
}

message CORSConfiguration {
    repeated CORSRule cors_rules = 1;
}

message BucketMetadata {
    map<string, string> tags = 1;
    CORSConfiguration cors = 2;
}