-
Notifications
You must be signed in to change notification settings - Fork 4
/
api.proto
94 lines (73 loc) · 1.96 KB
/
api.proto
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
syntax = "proto3";
package bucket.v1alpha1;
option go_package = "github.com/ironcore-dev/ironcore/iri/apis/bucket/v1alpha1";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
import "github.com/ironcore-dev/ironcore/iri/apis/meta/v1alpha1/api.proto";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.stringer_all) = true;
option (gogoproto.goproto_getters_all) = true;
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.goproto_unrecognized_all) = false;
service BucketRuntime {
rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse) {};
rpc CreateBucket(CreateBucketRequest) returns (CreateBucketResponse) {};
rpc DeleteBucket(DeleteBucketRequest) returns (DeleteBucketResponse) {};
rpc ListBucketClasses(ListBucketClassesRequest) returns (ListBucketClassesResponse) {};
}
message BucketFilter {
string id = 1;
map<string, string> label_selector = 2;
}
message BucketSpec {
string class = 2;
}
message BucketStatus {
BucketState state = 1;
BucketAccess access = 2;
}
message Bucket {
meta.v1alpha1.ObjectMetadata metadata = 1;
BucketSpec spec = 2;
BucketStatus status = 3;
}
message BucketClassCapabilities {
int64 tps = 1;
int64 iops = 2;
}
message BucketClass {
string name = 1;
BucketClassCapabilities capabilities = 2;
}
message BucketAccess {
string endpoint = 1;
map<string, bytes> secret_data = 2;
}
enum BucketState {
BUCKET_PENDING = 0;
BUCKET_AVAILABLE = 1;
BUCKET_ERROR = 2;
}
message ListBucketsRequest {
BucketFilter filter = 1;
}
message ListBucketsResponse {
repeated Bucket buckets = 1;
}
message CreateBucketRequest {
Bucket bucket = 1;
}
message CreateBucketResponse {
Bucket bucket = 1;
}
message DeleteBucketRequest {
string bucket_id = 1;
}
message DeleteBucketResponse {
}
message ListBucketClassesRequest {
}
message ListBucketClassesResponse {
repeated BucketClass bucket_classes = 1;
}