1// SPDX-License-Identifier: MIT
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// protoc-gen-go v1.36.12
6// protoc (unknown)
7// source: ermite/token.proto
8
9package ermite
10
11import (
12 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14 timestamppb "google.golang.org/protobuf/types/known/timestamppb"
15 reflect "reflect"
16 sync "sync"
17 unsafe "unsafe"
18)
19
20const (
21 // Verify that this generated code is sufficiently up-to-date.
22 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
23 // Verify that runtime/protoimpl is sufficiently up-to-date.
24 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
25)
26
27// Scope is a permission carried by a token. The API knows scopes only; any
28// grouping into presets is a client concern.
29type Scope int32
30
31const (
32 // Not set. Rejected in requests, never returned by the server.
33 Scope_SCOPE_UNSPECIFIED Scope = 0
34 // SCOPE_REPO_READ allows reading private repositories (public ones need no
35 // token). Wire name: repo:read.
36 Scope_SCOPE_REPO_READ Scope = 1
37 // SCOPE_REPO_WRITE allows pushing and creating repositories. Wire name:
38 // repo:write.
39 Scope_SCOPE_REPO_WRITE Scope = 2
40 // SCOPE_REPO_ADMIN allows deleting a repository and changing its visibility,
41 // description or default branch. Wire name: repo:admin.
42 Scope_SCOPE_REPO_ADMIN Scope = 3
43 // SCOPE_MR_WRITE allows creating, commenting on and closing merge requests.
44 // Wire name: mr:write.
45 Scope_SCOPE_MR_WRITE Scope = 4
46 // SCOPE_MR_MERGE allows merging merge requests. Wire name: mr:merge.
47 Scope_SCOPE_MR_MERGE Scope = 5
48 // SCOPE_CI_WRITE allows re-running or cancelling CI runs. Wire name:
49 // ci:write.
50 Scope_SCOPE_CI_WRITE Scope = 6
51 // SCOPE_SECRETS_WRITE allows setting and deleting secrets and variables.
52 // Wire name: secrets:write.
53 Scope_SCOPE_SECRETS_WRITE Scope = 7
54 // SCOPE_RUNNER_REGISTER allows registering a CI runner. Wire name:
55 // runner:register.
56 Scope_SCOPE_RUNNER_REGISTER Scope = 8
57 // SCOPE_TOKEN_ADMIN allows creating, listing and revoking tokens. Wire name:
58 // token:admin.
59 Scope_SCOPE_TOKEN_ADMIN Scope = 9
60)
61
62// Enum value maps for Scope.
63var (
64 Scope_name = map[int32]string{
65 0: "SCOPE_UNSPECIFIED",
66 1: "SCOPE_REPO_READ",
67 2: "SCOPE_REPO_WRITE",
68 3: "SCOPE_REPO_ADMIN",
69 4: "SCOPE_MR_WRITE",
70 5: "SCOPE_MR_MERGE",
71 6: "SCOPE_CI_WRITE",
72 7: "SCOPE_SECRETS_WRITE",
73 8: "SCOPE_RUNNER_REGISTER",
74 9: "SCOPE_TOKEN_ADMIN",
75 }
76 Scope_value = map[string]int32{
77 "SCOPE_UNSPECIFIED": 0,
78 "SCOPE_REPO_READ": 1,
79 "SCOPE_REPO_WRITE": 2,
80 "SCOPE_REPO_ADMIN": 3,
81 "SCOPE_MR_WRITE": 4,
82 "SCOPE_MR_MERGE": 5,
83 "SCOPE_CI_WRITE": 6,
84 "SCOPE_SECRETS_WRITE": 7,
85 "SCOPE_RUNNER_REGISTER": 8,
86 "SCOPE_TOKEN_ADMIN": 9,
87 }
88)
89
90func (x Scope) Enum() *Scope {
91 p := new(Scope)
92 *p = x
93 return p
94}
95
96func (x Scope) String() string {
97 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
98}
99
100func (Scope) Descriptor() protoreflect.EnumDescriptor {
101 return file_ermite_token_proto_enumTypes[0].Descriptor()
102}
103
104func (Scope) Type() protoreflect.EnumType {
105 return &file_ermite_token_proto_enumTypes[0]
106}
107
108func (x Scope) Number() protoreflect.EnumNumber {
109 return protoreflect.EnumNumber(x)
110}
111
112// Deprecated: Use Scope.Descriptor instead.
113func (Scope) EnumDescriptor() ([]byte, []int) {
114 return file_ermite_token_proto_rawDescGZIP(), []int{0}
115}
116
117// Token describes a stored token. It never contains the secret nor its hash.
118type Token struct {
119 state protoimpl.MessageState `protogen:"open.v1"`
120 // Id identifies the token in ListTokens and RevokeToken. It is not the
121 // secret and cannot be used to authenticate.
122 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
123 // Label is a human-readable name chosen at creation.
124 Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
125 // Scopes are the permissions of the token. Never empty.
126 Scopes []Scope `protobuf:"varint,3,rep,packed,name=scopes,proto3,enum=ermite.Scope" json:"scopes,omitempty"`
127 // Repos restricts the token to these repository names. Empty means every
128 // repository.
129 Repos []string `protobuf:"bytes,4,rep,name=repos,proto3" json:"repos,omitempty"`
130 // ExpiresAt is when the token stops working. Unset means it never expires.
131 ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
132 // CreatedAt is when the token was created.
133 CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
134 // LastUsedAt is when the token last authenticated a request. Unset if never
135 // used. It may lag behind the real time by a short delay.
136 LastUsedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_used_at,json=lastUsedAt,proto3" json:"last_used_at,omitempty"`
137 // BranchPrefixes limits the branches the token may write. Each prefix ends
138 // with "/" (for example "agent/claude/"). Empty means every branch. A limited
139 // token can push, force-push and delete only branches under its prefixes; it
140 // cannot push tags or other refs, create repositories, or merge into or
141 // delete a branch outside its prefixes.
142 BranchPrefixes []string `protobuf:"bytes,8,rep,name=branch_prefixes,json=branchPrefixes,proto3" json:"branch_prefixes,omitempty"`
143 unknownFields protoimpl.UnknownFields
144 sizeCache protoimpl.SizeCache
145}
146
147func (x *Token) Reset() {
148 *x = Token{}
149 mi := &file_ermite_token_proto_msgTypes[0]
150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
151 ms.StoreMessageInfo(mi)
152}
153
154func (x *Token) String() string {
155 return protoimpl.X.MessageStringOf(x)
156}
157
158func (*Token) ProtoMessage() {}
159
160func (x *Token) ProtoReflect() protoreflect.Message {
161 mi := &file_ermite_token_proto_msgTypes[0]
162 if x != nil {
163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
164 if ms.LoadMessageInfo() == nil {
165 ms.StoreMessageInfo(mi)
166 }
167 return ms
168 }
169 return mi.MessageOf(x)
170}
171
172// Deprecated: Use Token.ProtoReflect.Descriptor instead.
173func (*Token) Descriptor() ([]byte, []int) {
174 return file_ermite_token_proto_rawDescGZIP(), []int{0}
175}
176
177func (x *Token) GetId() string {
178 if x != nil {
179 return x.Id
180 }
181 return ""
182}
183
184func (x *Token) GetLabel() string {
185 if x != nil {
186 return x.Label
187 }
188 return ""
189}
190
191func (x *Token) GetScopes() []Scope {
192 if x != nil {
193 return x.Scopes
194 }
195 return nil
196}
197
198func (x *Token) GetRepos() []string {
199 if x != nil {
200 return x.Repos
201 }
202 return nil
203}
204
205func (x *Token) GetExpiresAt() *timestamppb.Timestamp {
206 if x != nil {
207 return x.ExpiresAt
208 }
209 return nil
210}
211
212func (x *Token) GetCreatedAt() *timestamppb.Timestamp {
213 if x != nil {
214 return x.CreatedAt
215 }
216 return nil
217}
218
219func (x *Token) GetLastUsedAt() *timestamppb.Timestamp {
220 if x != nil {
221 return x.LastUsedAt
222 }
223 return nil
224}
225
226func (x *Token) GetBranchPrefixes() []string {
227 if x != nil {
228 return x.BranchPrefixes
229 }
230 return nil
231}
232
233// CreateTokenRequest describes the token to create.
234type CreateTokenRequest struct {
235 state protoimpl.MessageState `protogen:"open.v1"`
236 // Label is a human-readable name, for example "laptop". Not required to be
237 // unique.
238 Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
239 // Scopes are the permissions to grant. At least one is required.
240 Scopes []Scope `protobuf:"varint,2,rep,packed,name=scopes,proto3,enum=ermite.Scope" json:"scopes,omitempty"`
241 // Repos restricts the token to these repository names. Empty means every
242 // repository.
243 Repos []string `protobuf:"bytes,3,rep,name=repos,proto3" json:"repos,omitempty"`
244 // ExpiresAt is when the token stops working. Unset means no expiry. It must
245 // be in the future.
246 ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
247 // BranchPrefixes limits the branches the token may write, for example
248 // "agent/claude/". Each prefix must end with "/" and be a valid branch name
249 // once the "/" is removed; at most 8 are allowed. Empty means every branch;
250 // a limited token cannot push tags or create repositories. A token that has
251 // prefixes can only create tokens whose prefixes each lie within its own.
252 // Fails with invalid_argument when a prefix is malformed.
253 BranchPrefixes []string `protobuf:"bytes,5,rep,name=branch_prefixes,json=branchPrefixes,proto3" json:"branch_prefixes,omitempty"`
254 unknownFields protoimpl.UnknownFields
255 sizeCache protoimpl.SizeCache
256}
257
258func (x *CreateTokenRequest) Reset() {
259 *x = CreateTokenRequest{}
260 mi := &file_ermite_token_proto_msgTypes[1]
261 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
262 ms.StoreMessageInfo(mi)
263}
264
265func (x *CreateTokenRequest) String() string {
266 return protoimpl.X.MessageStringOf(x)
267}
268
269func (*CreateTokenRequest) ProtoMessage() {}
270
271func (x *CreateTokenRequest) ProtoReflect() protoreflect.Message {
272 mi := &file_ermite_token_proto_msgTypes[1]
273 if x != nil {
274 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
275 if ms.LoadMessageInfo() == nil {
276 ms.StoreMessageInfo(mi)
277 }
278 return ms
279 }
280 return mi.MessageOf(x)
281}
282
283// Deprecated: Use CreateTokenRequest.ProtoReflect.Descriptor instead.
284func (*CreateTokenRequest) Descriptor() ([]byte, []int) {
285 return file_ermite_token_proto_rawDescGZIP(), []int{1}
286}
287
288func (x *CreateTokenRequest) GetLabel() string {
289 if x != nil {
290 return x.Label
291 }
292 return ""
293}
294
295func (x *CreateTokenRequest) GetScopes() []Scope {
296 if x != nil {
297 return x.Scopes
298 }
299 return nil
300}
301
302func (x *CreateTokenRequest) GetRepos() []string {
303 if x != nil {
304 return x.Repos
305 }
306 return nil
307}
308
309func (x *CreateTokenRequest) GetExpiresAt() *timestamppb.Timestamp {
310 if x != nil {
311 return x.ExpiresAt
312 }
313 return nil
314}
315
316func (x *CreateTokenRequest) GetBranchPrefixes() []string {
317 if x != nil {
318 return x.BranchPrefixes
319 }
320 return nil
321}
322
323// CreateTokenResponse holds the new token and its secret.
324type CreateTokenResponse struct {
325 state protoimpl.MessageState `protogen:"open.v1"`
326 // Token describes the created token.
327 Token *Token `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
328 // Secret is the bearer secret to present as "Authorization: Bearer <secret>".
329 // It is returned once and never stored in clear text by the server.
330 Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"`
331 unknownFields protoimpl.UnknownFields
332 sizeCache protoimpl.SizeCache
333}
334
335func (x *CreateTokenResponse) Reset() {
336 *x = CreateTokenResponse{}
337 mi := &file_ermite_token_proto_msgTypes[2]
338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
339 ms.StoreMessageInfo(mi)
340}
341
342func (x *CreateTokenResponse) String() string {
343 return protoimpl.X.MessageStringOf(x)
344}
345
346func (*CreateTokenResponse) ProtoMessage() {}
347
348func (x *CreateTokenResponse) ProtoReflect() protoreflect.Message {
349 mi := &file_ermite_token_proto_msgTypes[2]
350 if x != nil {
351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
352 if ms.LoadMessageInfo() == nil {
353 ms.StoreMessageInfo(mi)
354 }
355 return ms
356 }
357 return mi.MessageOf(x)
358}
359
360// Deprecated: Use CreateTokenResponse.ProtoReflect.Descriptor instead.
361func (*CreateTokenResponse) Descriptor() ([]byte, []int) {
362 return file_ermite_token_proto_rawDescGZIP(), []int{2}
363}
364
365func (x *CreateTokenResponse) GetToken() *Token {
366 if x != nil {
367 return x.Token
368 }
369 return nil
370}
371
372func (x *CreateTokenResponse) GetSecret() string {
373 if x != nil {
374 return x.Secret
375 }
376 return ""
377}
378
379// ListTokensRequest selects a page of tokens.
380type ListTokensRequest struct {
381 state protoimpl.MessageState `protogen:"open.v1"`
382 // PageSize is the maximum number of tokens to return. 0 means the server
383 // default; values above the server maximum are lowered to it.
384 PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
385 // PageToken is the next_page_token of a previous response. Empty for the
386 // first page.
387 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
388 unknownFields protoimpl.UnknownFields
389 sizeCache protoimpl.SizeCache
390}
391
392func (x *ListTokensRequest) Reset() {
393 *x = ListTokensRequest{}
394 mi := &file_ermite_token_proto_msgTypes[3]
395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
396 ms.StoreMessageInfo(mi)
397}
398
399func (x *ListTokensRequest) String() string {
400 return protoimpl.X.MessageStringOf(x)
401}
402
403func (*ListTokensRequest) ProtoMessage() {}
404
405func (x *ListTokensRequest) ProtoReflect() protoreflect.Message {
406 mi := &file_ermite_token_proto_msgTypes[3]
407 if x != nil {
408 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
409 if ms.LoadMessageInfo() == nil {
410 ms.StoreMessageInfo(mi)
411 }
412 return ms
413 }
414 return mi.MessageOf(x)
415}
416
417// Deprecated: Use ListTokensRequest.ProtoReflect.Descriptor instead.
418func (*ListTokensRequest) Descriptor() ([]byte, []int) {
419 return file_ermite_token_proto_rawDescGZIP(), []int{3}
420}
421
422func (x *ListTokensRequest) GetPageSize() int32 {
423 if x != nil {
424 return x.PageSize
425 }
426 return 0
427}
428
429func (x *ListTokensRequest) GetPageToken() string {
430 if x != nil {
431 return x.PageToken
432 }
433 return ""
434}
435
436// ListTokensResponse is one page of tokens.
437type ListTokensResponse struct {
438 state protoimpl.MessageState `protogen:"open.v1"`
439 // Tokens are the tokens of this page, newest first.
440 Tokens []*Token `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"`
441 // NextPageToken is passed as page_token to get the next page. Empty when
442 // there is no next page.
443 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
444 unknownFields protoimpl.UnknownFields
445 sizeCache protoimpl.SizeCache
446}
447
448func (x *ListTokensResponse) Reset() {
449 *x = ListTokensResponse{}
450 mi := &file_ermite_token_proto_msgTypes[4]
451 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
452 ms.StoreMessageInfo(mi)
453}
454
455func (x *ListTokensResponse) String() string {
456 return protoimpl.X.MessageStringOf(x)
457}
458
459func (*ListTokensResponse) ProtoMessage() {}
460
461func (x *ListTokensResponse) ProtoReflect() protoreflect.Message {
462 mi := &file_ermite_token_proto_msgTypes[4]
463 if x != nil {
464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
465 if ms.LoadMessageInfo() == nil {
466 ms.StoreMessageInfo(mi)
467 }
468 return ms
469 }
470 return mi.MessageOf(x)
471}
472
473// Deprecated: Use ListTokensResponse.ProtoReflect.Descriptor instead.
474func (*ListTokensResponse) Descriptor() ([]byte, []int) {
475 return file_ermite_token_proto_rawDescGZIP(), []int{4}
476}
477
478func (x *ListTokensResponse) GetTokens() []*Token {
479 if x != nil {
480 return x.Tokens
481 }
482 return nil
483}
484
485func (x *ListTokensResponse) GetNextPageToken() string {
486 if x != nil {
487 return x.NextPageToken
488 }
489 return ""
490}
491
492// RevokeTokenRequest names the token to revoke.
493type RevokeTokenRequest struct {
494 state protoimpl.MessageState `protogen:"open.v1"`
495 // Id is the Token.id to revoke.
496 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
497 unknownFields protoimpl.UnknownFields
498 sizeCache protoimpl.SizeCache
499}
500
501func (x *RevokeTokenRequest) Reset() {
502 *x = RevokeTokenRequest{}
503 mi := &file_ermite_token_proto_msgTypes[5]
504 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
505 ms.StoreMessageInfo(mi)
506}
507
508func (x *RevokeTokenRequest) String() string {
509 return protoimpl.X.MessageStringOf(x)
510}
511
512func (*RevokeTokenRequest) ProtoMessage() {}
513
514func (x *RevokeTokenRequest) ProtoReflect() protoreflect.Message {
515 mi := &file_ermite_token_proto_msgTypes[5]
516 if x != nil {
517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
518 if ms.LoadMessageInfo() == nil {
519 ms.StoreMessageInfo(mi)
520 }
521 return ms
522 }
523 return mi.MessageOf(x)
524}
525
526// Deprecated: Use RevokeTokenRequest.ProtoReflect.Descriptor instead.
527func (*RevokeTokenRequest) Descriptor() ([]byte, []int) {
528 return file_ermite_token_proto_rawDescGZIP(), []int{5}
529}
530
531func (x *RevokeTokenRequest) GetId() string {
532 if x != nil {
533 return x.Id
534 }
535 return ""
536}
537
538// RevokeTokenResponse is empty.
539type RevokeTokenResponse struct {
540 state protoimpl.MessageState `protogen:"open.v1"`
541 unknownFields protoimpl.UnknownFields
542 sizeCache protoimpl.SizeCache
543}
544
545func (x *RevokeTokenResponse) Reset() {
546 *x = RevokeTokenResponse{}
547 mi := &file_ermite_token_proto_msgTypes[6]
548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
549 ms.StoreMessageInfo(mi)
550}
551
552func (x *RevokeTokenResponse) String() string {
553 return protoimpl.X.MessageStringOf(x)
554}
555
556func (*RevokeTokenResponse) ProtoMessage() {}
557
558func (x *RevokeTokenResponse) ProtoReflect() protoreflect.Message {
559 mi := &file_ermite_token_proto_msgTypes[6]
560 if x != nil {
561 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
562 if ms.LoadMessageInfo() == nil {
563 ms.StoreMessageInfo(mi)
564 }
565 return ms
566 }
567 return mi.MessageOf(x)
568}
569
570// Deprecated: Use RevokeTokenResponse.ProtoReflect.Descriptor instead.
571func (*RevokeTokenResponse) Descriptor() ([]byte, []int) {
572 return file_ermite_token_proto_rawDescGZIP(), []int{6}
573}
574
575var File_ermite_token_proto protoreflect.FileDescriptor
576
577const file_ermite_token_proto_rawDesc = "" +
578 "\n" +
579 "\x12ermite/token.proto\x12\x06ermite\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc7\x02\n" +
580 "\x05Token\x12\x0e\n" +
581 "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
582 "\x05label\x18\x02 \x01(\tR\x05label\x12%\n" +
583 "\x06scopes\x18\x03 \x03(\x0e2\r.ermite.ScopeR\x06scopes\x12\x14\n" +
584 "\x05repos\x18\x04 \x03(\tR\x05repos\x129\n" +
585 "\n" +
586 "expires_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x129\n" +
587 "\n" +
588 "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12<\n" +
589 "\flast_used_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\n" +
590 "lastUsedAt\x12'\n" +
591 "\x0fbranch_prefixes\x18\b \x03(\tR\x0ebranchPrefixes\"\xcb\x01\n" +
592 "\x12CreateTokenRequest\x12\x14\n" +
593 "\x05label\x18\x01 \x01(\tR\x05label\x12%\n" +
594 "\x06scopes\x18\x02 \x03(\x0e2\r.ermite.ScopeR\x06scopes\x12\x14\n" +
595 "\x05repos\x18\x03 \x03(\tR\x05repos\x129\n" +
596 "\n" +
597 "expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12'\n" +
598 "\x0fbranch_prefixes\x18\x05 \x03(\tR\x0ebranchPrefixes\"R\n" +
599 "\x13CreateTokenResponse\x12#\n" +
600 "\x05token\x18\x01 \x01(\v2\r.ermite.TokenR\x05token\x12\x16\n" +
601 "\x06secret\x18\x02 \x01(\tR\x06secret\"O\n" +
602 "\x11ListTokensRequest\x12\x1b\n" +
603 "\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12\x1d\n" +
604 "\n" +
605 "page_token\x18\x02 \x01(\tR\tpageToken\"c\n" +
606 "\x12ListTokensResponse\x12%\n" +
607 "\x06tokens\x18\x01 \x03(\v2\r.ermite.TokenR\x06tokens\x12&\n" +
608 "\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"$\n" +
609 "\x12RevokeTokenRequest\x12\x0e\n" +
610 "\x02id\x18\x01 \x01(\tR\x02id\"\x15\n" +
611 "\x13RevokeTokenResponse*\xe6\x01\n" +
612 "\x05Scope\x12\x15\n" +
613 "\x11SCOPE_UNSPECIFIED\x10\x00\x12\x13\n" +
614 "\x0fSCOPE_REPO_READ\x10\x01\x12\x14\n" +
615 "\x10SCOPE_REPO_WRITE\x10\x02\x12\x14\n" +
616 "\x10SCOPE_REPO_ADMIN\x10\x03\x12\x12\n" +
617 "\x0eSCOPE_MR_WRITE\x10\x04\x12\x12\n" +
618 "\x0eSCOPE_MR_MERGE\x10\x05\x12\x12\n" +
619 "\x0eSCOPE_CI_WRITE\x10\x06\x12\x17\n" +
620 "\x13SCOPE_SECRETS_WRITE\x10\a\x12\x19\n" +
621 "\x15SCOPE_RUNNER_REGISTER\x10\b\x12\x15\n" +
622 "\x11SCOPE_TOKEN_ADMIN\x10\t2\xe3\x01\n" +
623 "\fTokenService\x12F\n" +
624 "\vCreateToken\x12\x1a.ermite.CreateTokenRequest\x1a\x1b.ermite.CreateTokenResponse\x12C\n" +
625 "\n" +
626 "ListTokens\x12\x19.ermite.ListTokensRequest\x1a\x1a.ermite.ListTokensResponse\x12F\n" +
627 "\vRevokeToken\x12\x1a.ermite.RevokeTokenRequest\x1a\x1b.ermite.RevokeTokenResponseBq\n" +
628 "\n" +
629 "com.ermiteB\n" +
630 "TokenProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
631
632var (
633 file_ermite_token_proto_rawDescOnce sync.Once
634 file_ermite_token_proto_rawDescData []byte
635)
636
637func file_ermite_token_proto_rawDescGZIP() []byte {
638 file_ermite_token_proto_rawDescOnce.Do(func() {
639 file_ermite_token_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_token_proto_rawDesc), len(file_ermite_token_proto_rawDesc)))
640 })
641 return file_ermite_token_proto_rawDescData
642}
643
644var file_ermite_token_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
645var file_ermite_token_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
646var file_ermite_token_proto_goTypes = []any{
647 (Scope)(0), // 0: ermite.Scope
648 (*Token)(nil), // 1: ermite.Token
649 (*CreateTokenRequest)(nil), // 2: ermite.CreateTokenRequest
650 (*CreateTokenResponse)(nil), // 3: ermite.CreateTokenResponse
651 (*ListTokensRequest)(nil), // 4: ermite.ListTokensRequest
652 (*ListTokensResponse)(nil), // 5: ermite.ListTokensResponse
653 (*RevokeTokenRequest)(nil), // 6: ermite.RevokeTokenRequest
654 (*RevokeTokenResponse)(nil), // 7: ermite.RevokeTokenResponse
655 (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp
656}
657var file_ermite_token_proto_depIdxs = []int32{
658 0, // 0: ermite.Token.scopes:type_name -> ermite.Scope
659 8, // 1: ermite.Token.expires_at:type_name -> google.protobuf.Timestamp
660 8, // 2: ermite.Token.created_at:type_name -> google.protobuf.Timestamp
661 8, // 3: ermite.Token.last_used_at:type_name -> google.protobuf.Timestamp
662 0, // 4: ermite.CreateTokenRequest.scopes:type_name -> ermite.Scope
663 8, // 5: ermite.CreateTokenRequest.expires_at:type_name -> google.protobuf.Timestamp
664 1, // 6: ermite.CreateTokenResponse.token:type_name -> ermite.Token
665 1, // 7: ermite.ListTokensResponse.tokens:type_name -> ermite.Token
666 2, // 8: ermite.TokenService.CreateToken:input_type -> ermite.CreateTokenRequest
667 4, // 9: ermite.TokenService.ListTokens:input_type -> ermite.ListTokensRequest
668 6, // 10: ermite.TokenService.RevokeToken:input_type -> ermite.RevokeTokenRequest
669 3, // 11: ermite.TokenService.CreateToken:output_type -> ermite.CreateTokenResponse
670 5, // 12: ermite.TokenService.ListTokens:output_type -> ermite.ListTokensResponse
671 7, // 13: ermite.TokenService.RevokeToken:output_type -> ermite.RevokeTokenResponse
672 11, // [11:14] is the sub-list for method output_type
673 8, // [8:11] is the sub-list for method input_type
674 8, // [8:8] is the sub-list for extension type_name
675 8, // [8:8] is the sub-list for extension extendee
676 0, // [0:8] is the sub-list for field type_name
677}
678
679func init() { file_ermite_token_proto_init() }
680func file_ermite_token_proto_init() {
681 if File_ermite_token_proto != nil {
682 return
683 }
684 type x struct{}
685 out := protoimpl.TypeBuilder{
686 File: protoimpl.DescBuilder{
687 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
688 RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_token_proto_rawDesc), len(file_ermite_token_proto_rawDesc)),
689 NumEnums: 1,
690 NumMessages: 7,
691 NumExtensions: 0,
692 NumServices: 1,
693 },
694 GoTypes: file_ermite_token_proto_goTypes,
695 DependencyIndexes: file_ermite_token_proto_depIdxs,
696 EnumInfos: file_ermite_token_proto_enumTypes,
697 MessageInfos: file_ermite_token_proto_msgTypes,
698 }.Build()
699 File_ermite_token_proto = out.File
700 file_ermite_token_proto_goTypes = nil
701 file_ermite_token_proto_depIdxs = nil
702}