This repository was archived by the owner on Mar 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcosi.proto
More file actions
147 lines (106 loc) · 3.83 KB
/
cosi.proto
File metadata and controls
147 lines (106 loc) · 3.83 KB
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
syntax = "proto3";
package cosi.v1alpha1;
import "google/protobuf/descriptor.proto";
option go_package = "cosi";
extend google.protobuf.EnumOptions {
// Indicates that this enum is OPTIONAL and part of an experimental
// API that may be deprecated and eventually removed between minor
// releases.
bool alpha_enum = 1060;
}
extend google.protobuf.EnumValueOptions {
// Indicates that this enum value is OPTIONAL and part of an
// experimental API that may be deprecated and eventually removed
// between minor releases.
bool alpha_enum_value = 1060;
}
extend google.protobuf.FieldOptions {
// Indicates that a field MAY contain information that is sensitive
// and MUST be treated as such (e.g. not logged).
bool cosi_secret = 1059;
// Indicates that this field is OPTIONAL and part of an experimental
// API that may be deprecated and eventually removed between minor
// releases.
bool alpha_field = 1060;
}
extend google.protobuf.MessageOptions {
// Indicates that this message is OPTIONAL and part of an experimental
// API that may be deprecated and eventually removed between minor
// releases.
bool alpha_message = 1060;
}
extend google.protobuf.MethodOptions {
// Indicates that this method is OPTIONAL and part of an experimental
// API that may be deprecated and eventually removed between minor
// releases.
bool alpha_method = 1060;
}
extend google.protobuf.ServiceOptions {
// Indicates that this service is OPTIONAL and part of an experimental
// API that may be deprecated and eventually removed between minor
// releases.
bool alpha_service = 1060;
}
service Provisioner {
rpc ProvisionerGetInfo (ProvisionerGetInfoRequest) returns (ProvisionerGetInfoResponse) {}
rpc ProvisionerCreateBucket (ProvisionerCreateBucketRequest) returns (ProvisionerCreateBucketResponse) {}
rpc ProvisionerDeleteBucket (ProvisionerDeleteBucketRequest) returns (ProvisionerDeleteBucketResponse) {}
rpc ProvisionerGrantBucketAccess (ProvisionerGrantBucketAccessRequest) returns (ProvisionerGrantBucketAccessResponse);
rpc ProvisionerRevokeBucketAccess (ProvisionerRevokeBucketAccessRequest) returns (ProvisionerRevokeBucketAccessResponse);
}
message ProvisionerGetInfoRequest {
// Intentionally left blank
}
message ProvisionerGetInfoResponse {
string provisioner_identity = 1;
}
message ProvisionerCreateBucketRequest {
string bucket_name = 1;
string region = 2;
string zone = 3;
map<string,string> bucket_context = 4;
enum AnonymousBucketAccessMode {
BUCKET_PRIVATE = 0;
BUCKET_READ_ONLY = 1;
BUCKET_WRITE_ONLY = 2;
BUCKET_READ_WRITE = 3;
}
AnonymousBucketAccessMode anonymous_bucket_access_mode = 5;
}
message ProvisionerCreateBucketResponse {
// Intentionally left blank
}
message ProvisionerDeleteBucketRequest {
string bucket_name = 1;
string region = 2;
string zone = 3;
map<string,string> bucket_context = 4;
}
message ProvisionerDeleteBucketResponse {
// Intentionally left blank
}
message ProvisionerGrantBucketAccessRequest {
string bucket_name = 1;
string region = 2;
string zone = 3;
map<string,string> bucket_context = 4;
string principal = 5;
string access_policy = 6;
}
message ProvisionerGrantBucketAccessResponse {
// This is the account that is being provided access. This will
// be required later to revoke access.
string principal = 1;
string credentials_file_contents = 2;
string credentials_file_path = 3;
}
message ProvisionerRevokeBucketAccessRequest {
string bucket_name = 1;
string region = 2;
string zone = 3;
map<string,string> bucket_context = 4;
string principal = 5;
}
message ProvisionerRevokeBucketAccessResponse {
// Intentionally left blank
}