v0.7.0 d244a03

artifact.pb.go RawHistoryFolder

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/artifact.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// Artifact is a file that a job of a run uploaded with actions/upload-artifact
28// (artifacts v4): in most cases a zip archive, or a single file uploaded as is
29// ("archive: false"). It belongs to a run, not to one attempt: every job of the
30// run, in any attempt, sees the artifacts of the run. Only finalized artifacts
31// are described; an upload in progress is invisible.
32type Artifact struct {
33	state protoimpl.MessageState `protogen:"open.v1"`
34	// Id identifies the artifact on the server: unique across repositories and
35	// runs, never reused, and higher for a later artifact. It is GitHub's
36	// "artifact id" (databaseId), the id of the REST API.
37	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
38	// Repo is the name of the repository of the run.
39	Repo string `protobuf:"bytes,2,opt,name=repo,proto3" json:"repo,omitempty"`
40	// RunId is the run the artifact belongs to.
41	RunId int64 `protobuf:"varint,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
42	// Attempt is the attempt of the run whose job uploaded it.
43	Attempt int32 `protobuf:"varint,4,opt,name=attempt,proto3" json:"attempt,omitempty"`
44	// JobId is the Job.job_id of the job that uploaded it.
45	JobId string `protobuf:"bytes,5,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
46	// Name is the name of the artifact, unique among the artifacts of the run:
47	// 1 to 256 characters of valid UTF-8, without control characters, '"', ':',
48	// '<', '>', '|', '*', '?', '\' or '/' (the characters @actions/artifact
49	// refuses).
50	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
51	// Size is the number of bytes of the content.
52	Size int64 `protobuf:"varint,7,opt,name=size,proto3" json:"size,omitempty"`
53	// Digest is the SHA-256 of the content, "sha256:" and 64 lowercase
54	// hexadecimal characters, as GitHub gives it.
55	Digest string `protobuf:"bytes,8,opt,name=digest,proto3" json:"digest,omitempty"`
56	// MediaType is the media type of the content: "application/zip" for an
57	// archive, the type the uploader gave for a file uploaded as is.
58	MediaType string `protobuf:"bytes,9,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
59	// CreatedAt is when the upload began.
60	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
61	// ExpiresAt is when the server deletes the artifact (see
62	// CreateJobArtifactRequest.expires_at).
63	ExpiresAt     *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
64	unknownFields protoimpl.UnknownFields
65	sizeCache     protoimpl.SizeCache
66}
67
68func (x *Artifact) Reset() {
69	*x = Artifact{}
70	mi := &file_ermite_artifact_proto_msgTypes[0]
71	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
72	ms.StoreMessageInfo(mi)
73}
74
75func (x *Artifact) String() string {
76	return protoimpl.X.MessageStringOf(x)
77}
78
79func (*Artifact) ProtoMessage() {}
80
81func (x *Artifact) ProtoReflect() protoreflect.Message {
82	mi := &file_ermite_artifact_proto_msgTypes[0]
83	if x != nil {
84		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
85		if ms.LoadMessageInfo() == nil {
86			ms.StoreMessageInfo(mi)
87		}
88		return ms
89	}
90	return mi.MessageOf(x)
91}
92
93// Deprecated: Use Artifact.ProtoReflect.Descriptor instead.
94func (*Artifact) Descriptor() ([]byte, []int) {
95	return file_ermite_artifact_proto_rawDescGZIP(), []int{0}
96}
97
98func (x *Artifact) GetId() int64 {
99	if x != nil {
100		return x.Id
101	}
102	return 0
103}
104
105func (x *Artifact) GetRepo() string {
106	if x != nil {
107		return x.Repo
108	}
109	return ""
110}
111
112func (x *Artifact) GetRunId() int64 {
113	if x != nil {
114		return x.RunId
115	}
116	return 0
117}
118
119func (x *Artifact) GetAttempt() int32 {
120	if x != nil {
121		return x.Attempt
122	}
123	return 0
124}
125
126func (x *Artifact) GetJobId() string {
127	if x != nil {
128		return x.JobId
129	}
130	return ""
131}
132
133func (x *Artifact) GetName() string {
134	if x != nil {
135		return x.Name
136	}
137	return ""
138}
139
140func (x *Artifact) GetSize() int64 {
141	if x != nil {
142		return x.Size
143	}
144	return 0
145}
146
147func (x *Artifact) GetDigest() string {
148	if x != nil {
149		return x.Digest
150	}
151	return ""
152}
153
154func (x *Artifact) GetMediaType() string {
155	if x != nil {
156		return x.MediaType
157	}
158	return ""
159}
160
161func (x *Artifact) GetCreatedAt() *timestamppb.Timestamp {
162	if x != nil {
163		return x.CreatedAt
164	}
165	return nil
166}
167
168func (x *Artifact) GetExpiresAt() *timestamppb.Timestamp {
169	if x != nil {
170		return x.ExpiresAt
171	}
172	return nil
173}
174
175// CreateJobArtifactRequest begins an upload.
176type CreateJobArtifactRequest struct {
177	state protoimpl.MessageState `protogen:"open.v1"`
178	// JobId is the Job.job_id. It must be the job of the token.
179	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
180	// Name is the name of the artifact, see Artifact.name.
181	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
182	// MediaType is the media type of a file uploaded as is (the toolkit's
183	// mime_type), at most 255 characters. Empty means "application/zip".
184	MediaType string `protobuf:"bytes,3,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
185	// ExpiresAt is when the artifact should be deleted (the toolkit's
186	// expires_at, from "retention-days"). Unset means the default retention of
187	// the server. The server keeps it between one day from now and its longest
188	// retention, and returns the time it kept.
189	ExpiresAt     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
190	unknownFields protoimpl.UnknownFields
191	sizeCache     protoimpl.SizeCache
192}
193
194func (x *CreateJobArtifactRequest) Reset() {
195	*x = CreateJobArtifactRequest{}
196	mi := &file_ermite_artifact_proto_msgTypes[1]
197	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
198	ms.StoreMessageInfo(mi)
199}
200
201func (x *CreateJobArtifactRequest) String() string {
202	return protoimpl.X.MessageStringOf(x)
203}
204
205func (*CreateJobArtifactRequest) ProtoMessage() {}
206
207func (x *CreateJobArtifactRequest) ProtoReflect() protoreflect.Message {
208	mi := &file_ermite_artifact_proto_msgTypes[1]
209	if x != nil {
210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
211		if ms.LoadMessageInfo() == nil {
212			ms.StoreMessageInfo(mi)
213		}
214		return ms
215	}
216	return mi.MessageOf(x)
217}
218
219// Deprecated: Use CreateJobArtifactRequest.ProtoReflect.Descriptor instead.
220func (*CreateJobArtifactRequest) Descriptor() ([]byte, []int) {
221	return file_ermite_artifact_proto_rawDescGZIP(), []int{1}
222}
223
224func (x *CreateJobArtifactRequest) GetJobId() string {
225	if x != nil {
226		return x.JobId
227	}
228	return ""
229}
230
231func (x *CreateJobArtifactRequest) GetName() string {
232	if x != nil {
233		return x.Name
234	}
235	return ""
236}
237
238func (x *CreateJobArtifactRequest) GetMediaType() string {
239	if x != nil {
240		return x.MediaType
241	}
242	return ""
243}
244
245func (x *CreateJobArtifactRequest) GetExpiresAt() *timestamppb.Timestamp {
246	if x != nil {
247		return x.ExpiresAt
248	}
249	return nil
250}
251
252// CreateJobArtifactResponse identifies the pending artifact.
253type CreateJobArtifactResponse struct {
254	state protoimpl.MessageState `protogen:"open.v1"`
255	// ArtifactId is the id the artifact will have once finalized (Artifact.id).
256	ArtifactId int64 `protobuf:"varint,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
257	// ExpiresAt is the expiry the server kept.
258	ExpiresAt     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
259	unknownFields protoimpl.UnknownFields
260	sizeCache     protoimpl.SizeCache
261}
262
263func (x *CreateJobArtifactResponse) Reset() {
264	*x = CreateJobArtifactResponse{}
265	mi := &file_ermite_artifact_proto_msgTypes[2]
266	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
267	ms.StoreMessageInfo(mi)
268}
269
270func (x *CreateJobArtifactResponse) String() string {
271	return protoimpl.X.MessageStringOf(x)
272}
273
274func (*CreateJobArtifactResponse) ProtoMessage() {}
275
276func (x *CreateJobArtifactResponse) ProtoReflect() protoreflect.Message {
277	mi := &file_ermite_artifact_proto_msgTypes[2]
278	if x != nil {
279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
280		if ms.LoadMessageInfo() == nil {
281			ms.StoreMessageInfo(mi)
282		}
283		return ms
284	}
285	return mi.MessageOf(x)
286}
287
288// Deprecated: Use CreateJobArtifactResponse.ProtoReflect.Descriptor instead.
289func (*CreateJobArtifactResponse) Descriptor() ([]byte, []int) {
290	return file_ermite_artifact_proto_rawDescGZIP(), []int{2}
291}
292
293func (x *CreateJobArtifactResponse) GetArtifactId() int64 {
294	if x != nil {
295		return x.ArtifactId
296	}
297	return 0
298}
299
300func (x *CreateJobArtifactResponse) GetExpiresAt() *timestamppb.Timestamp {
301	if x != nil {
302		return x.ExpiresAt
303	}
304	return nil
305}
306
307// UploadJobArtifactBlockRequest is one message of the stream of a block.
308type UploadJobArtifactBlockRequest struct {
309	state protoimpl.MessageState `protogen:"open.v1"`
310	// JobId is the Job.job_id, in the first message only. It must be the job of
311	// the token.
312	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
313	// ArtifactId is the CreateJobArtifactResponse.artifact_id, in the first
314	// message only.
315	ArtifactId int64 `protobuf:"varint,2,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
316	// BlockId identifies the block within the artifact: 1 to 64 bytes (Azure's
317	// block id, decoded from base64), in the first message only.
318	BlockId []byte `protobuf:"bytes,3,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
319	// Data is the next part of the block, at most 1 MiB (1,048,576 bytes). Any
320	// message may have none.
321	Data          []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
322	unknownFields protoimpl.UnknownFields
323	sizeCache     protoimpl.SizeCache
324}
325
326func (x *UploadJobArtifactBlockRequest) Reset() {
327	*x = UploadJobArtifactBlockRequest{}
328	mi := &file_ermite_artifact_proto_msgTypes[3]
329	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
330	ms.StoreMessageInfo(mi)
331}
332
333func (x *UploadJobArtifactBlockRequest) String() string {
334	return protoimpl.X.MessageStringOf(x)
335}
336
337func (*UploadJobArtifactBlockRequest) ProtoMessage() {}
338
339func (x *UploadJobArtifactBlockRequest) ProtoReflect() protoreflect.Message {
340	mi := &file_ermite_artifact_proto_msgTypes[3]
341	if x != nil {
342		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
343		if ms.LoadMessageInfo() == nil {
344			ms.StoreMessageInfo(mi)
345		}
346		return ms
347	}
348	return mi.MessageOf(x)
349}
350
351// Deprecated: Use UploadJobArtifactBlockRequest.ProtoReflect.Descriptor instead.
352func (*UploadJobArtifactBlockRequest) Descriptor() ([]byte, []int) {
353	return file_ermite_artifact_proto_rawDescGZIP(), []int{3}
354}
355
356func (x *UploadJobArtifactBlockRequest) GetJobId() string {
357	if x != nil {
358		return x.JobId
359	}
360	return ""
361}
362
363func (x *UploadJobArtifactBlockRequest) GetArtifactId() int64 {
364	if x != nil {
365		return x.ArtifactId
366	}
367	return 0
368}
369
370func (x *UploadJobArtifactBlockRequest) GetBlockId() []byte {
371	if x != nil {
372		return x.BlockId
373	}
374	return nil
375}
376
377func (x *UploadJobArtifactBlockRequest) GetData() []byte {
378	if x != nil {
379		return x.Data
380	}
381	return nil
382}
383
384// UploadJobArtifactBlockResponse confirms a stored block.
385type UploadJobArtifactBlockResponse struct {
386	state protoimpl.MessageState `protogen:"open.v1"`
387	// Size is the number of bytes of the block as stored.
388	Size          int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
389	unknownFields protoimpl.UnknownFields
390	sizeCache     protoimpl.SizeCache
391}
392
393func (x *UploadJobArtifactBlockResponse) Reset() {
394	*x = UploadJobArtifactBlockResponse{}
395	mi := &file_ermite_artifact_proto_msgTypes[4]
396	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
397	ms.StoreMessageInfo(mi)
398}
399
400func (x *UploadJobArtifactBlockResponse) String() string {
401	return protoimpl.X.MessageStringOf(x)
402}
403
404func (*UploadJobArtifactBlockResponse) ProtoMessage() {}
405
406func (x *UploadJobArtifactBlockResponse) ProtoReflect() protoreflect.Message {
407	mi := &file_ermite_artifact_proto_msgTypes[4]
408	if x != nil {
409		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
410		if ms.LoadMessageInfo() == nil {
411			ms.StoreMessageInfo(mi)
412		}
413		return ms
414	}
415	return mi.MessageOf(x)
416}
417
418// Deprecated: Use UploadJobArtifactBlockResponse.ProtoReflect.Descriptor instead.
419func (*UploadJobArtifactBlockResponse) Descriptor() ([]byte, []int) {
420	return file_ermite_artifact_proto_rawDescGZIP(), []int{4}
421}
422
423func (x *UploadJobArtifactBlockResponse) GetSize() int64 {
424	if x != nil {
425		return x.Size
426	}
427	return 0
428}
429
430// CommitJobArtifactRequest sets the content of a pending artifact.
431type CommitJobArtifactRequest struct {
432	state protoimpl.MessageState `protogen:"open.v1"`
433	// JobId is the Job.job_id. It must be the job of the token.
434	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
435	// ArtifactId is the CreateJobArtifactResponse.artifact_id.
436	ArtifactId int64 `protobuf:"varint,2,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
437	// BlockIds are the blocks of the content, in order, each one as given to
438	// UploadJobArtifactBlock. At most 50,000; the same id may appear more than
439	// once.
440	BlockIds      [][]byte `protobuf:"bytes,3,rep,name=block_ids,json=blockIds,proto3" json:"block_ids,omitempty"`
441	unknownFields protoimpl.UnknownFields
442	sizeCache     protoimpl.SizeCache
443}
444
445func (x *CommitJobArtifactRequest) Reset() {
446	*x = CommitJobArtifactRequest{}
447	mi := &file_ermite_artifact_proto_msgTypes[5]
448	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
449	ms.StoreMessageInfo(mi)
450}
451
452func (x *CommitJobArtifactRequest) String() string {
453	return protoimpl.X.MessageStringOf(x)
454}
455
456func (*CommitJobArtifactRequest) ProtoMessage() {}
457
458func (x *CommitJobArtifactRequest) ProtoReflect() protoreflect.Message {
459	mi := &file_ermite_artifact_proto_msgTypes[5]
460	if x != nil {
461		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
462		if ms.LoadMessageInfo() == nil {
463			ms.StoreMessageInfo(mi)
464		}
465		return ms
466	}
467	return mi.MessageOf(x)
468}
469
470// Deprecated: Use CommitJobArtifactRequest.ProtoReflect.Descriptor instead.
471func (*CommitJobArtifactRequest) Descriptor() ([]byte, []int) {
472	return file_ermite_artifact_proto_rawDescGZIP(), []int{5}
473}
474
475func (x *CommitJobArtifactRequest) GetJobId() string {
476	if x != nil {
477		return x.JobId
478	}
479	return ""
480}
481
482func (x *CommitJobArtifactRequest) GetArtifactId() int64 {
483	if x != nil {
484		return x.ArtifactId
485	}
486	return 0
487}
488
489func (x *CommitJobArtifactRequest) GetBlockIds() [][]byte {
490	if x != nil {
491		return x.BlockIds
492	}
493	return nil
494}
495
496// CommitJobArtifactResponse describes the committed content.
497type CommitJobArtifactResponse struct {
498	state protoimpl.MessageState `protogen:"open.v1"`
499	// Size is the number of bytes of the content.
500	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
501	// Digest is the SHA-256 of the content, see Artifact.digest.
502	Digest        string `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
503	unknownFields protoimpl.UnknownFields
504	sizeCache     protoimpl.SizeCache
505}
506
507func (x *CommitJobArtifactResponse) Reset() {
508	*x = CommitJobArtifactResponse{}
509	mi := &file_ermite_artifact_proto_msgTypes[6]
510	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
511	ms.StoreMessageInfo(mi)
512}
513
514func (x *CommitJobArtifactResponse) String() string {
515	return protoimpl.X.MessageStringOf(x)
516}
517
518func (*CommitJobArtifactResponse) ProtoMessage() {}
519
520func (x *CommitJobArtifactResponse) ProtoReflect() protoreflect.Message {
521	mi := &file_ermite_artifact_proto_msgTypes[6]
522	if x != nil {
523		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
524		if ms.LoadMessageInfo() == nil {
525			ms.StoreMessageInfo(mi)
526		}
527		return ms
528	}
529	return mi.MessageOf(x)
530}
531
532// Deprecated: Use CommitJobArtifactResponse.ProtoReflect.Descriptor instead.
533func (*CommitJobArtifactResponse) Descriptor() ([]byte, []int) {
534	return file_ermite_artifact_proto_rawDescGZIP(), []int{6}
535}
536
537func (x *CommitJobArtifactResponse) GetSize() int64 {
538	if x != nil {
539		return x.Size
540	}
541	return 0
542}
543
544func (x *CommitJobArtifactResponse) GetDigest() string {
545	if x != nil {
546		return x.Digest
547	}
548	return ""
549}
550
551// FinalizeJobArtifactRequest ends an upload.
552type FinalizeJobArtifactRequest struct {
553	state protoimpl.MessageState `protogen:"open.v1"`
554	// JobId is the Job.job_id. It must be the job of the token.
555	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
556	// Name is the name given to CreateJobArtifact. The toolkit finalizes by name.
557	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
558	// Size is the size the uploader counted. Informational: the server keeps the
559	// size of the content it stored, and only logs a difference.
560	Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
561	// Digest is the digest the uploader computed ("sha256:<hex>"), or empty.
562	// When set it must be the digest of the content.
563	Digest        string `protobuf:"bytes,4,opt,name=digest,proto3" json:"digest,omitempty"`
564	unknownFields protoimpl.UnknownFields
565	sizeCache     protoimpl.SizeCache
566}
567
568func (x *FinalizeJobArtifactRequest) Reset() {
569	*x = FinalizeJobArtifactRequest{}
570	mi := &file_ermite_artifact_proto_msgTypes[7]
571	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
572	ms.StoreMessageInfo(mi)
573}
574
575func (x *FinalizeJobArtifactRequest) String() string {
576	return protoimpl.X.MessageStringOf(x)
577}
578
579func (*FinalizeJobArtifactRequest) ProtoMessage() {}
580
581func (x *FinalizeJobArtifactRequest) ProtoReflect() protoreflect.Message {
582	mi := &file_ermite_artifact_proto_msgTypes[7]
583	if x != nil {
584		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
585		if ms.LoadMessageInfo() == nil {
586			ms.StoreMessageInfo(mi)
587		}
588		return ms
589	}
590	return mi.MessageOf(x)
591}
592
593// Deprecated: Use FinalizeJobArtifactRequest.ProtoReflect.Descriptor instead.
594func (*FinalizeJobArtifactRequest) Descriptor() ([]byte, []int) {
595	return file_ermite_artifact_proto_rawDescGZIP(), []int{7}
596}
597
598func (x *FinalizeJobArtifactRequest) GetJobId() string {
599	if x != nil {
600		return x.JobId
601	}
602	return ""
603}
604
605func (x *FinalizeJobArtifactRequest) GetName() string {
606	if x != nil {
607		return x.Name
608	}
609	return ""
610}
611
612func (x *FinalizeJobArtifactRequest) GetSize() int64 {
613	if x != nil {
614		return x.Size
615	}
616	return 0
617}
618
619func (x *FinalizeJobArtifactRequest) GetDigest() string {
620	if x != nil {
621		return x.Digest
622	}
623	return ""
624}
625
626// FinalizeJobArtifactResponse describes the artifact now visible.
627type FinalizeJobArtifactResponse struct {
628	state protoimpl.MessageState `protogen:"open.v1"`
629	// Artifact is the finalized artifact.
630	Artifact      *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
631	unknownFields protoimpl.UnknownFields
632	sizeCache     protoimpl.SizeCache
633}
634
635func (x *FinalizeJobArtifactResponse) Reset() {
636	*x = FinalizeJobArtifactResponse{}
637	mi := &file_ermite_artifact_proto_msgTypes[8]
638	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
639	ms.StoreMessageInfo(mi)
640}
641
642func (x *FinalizeJobArtifactResponse) String() string {
643	return protoimpl.X.MessageStringOf(x)
644}
645
646func (*FinalizeJobArtifactResponse) ProtoMessage() {}
647
648func (x *FinalizeJobArtifactResponse) ProtoReflect() protoreflect.Message {
649	mi := &file_ermite_artifact_proto_msgTypes[8]
650	if x != nil {
651		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
652		if ms.LoadMessageInfo() == nil {
653			ms.StoreMessageInfo(mi)
654		}
655		return ms
656	}
657	return mi.MessageOf(x)
658}
659
660// Deprecated: Use FinalizeJobArtifactResponse.ProtoReflect.Descriptor instead.
661func (*FinalizeJobArtifactResponse) Descriptor() ([]byte, []int) {
662	return file_ermite_artifact_proto_rawDescGZIP(), []int{8}
663}
664
665func (x *FinalizeJobArtifactResponse) GetArtifact() *Artifact {
666	if x != nil {
667		return x.Artifact
668	}
669	return nil
670}
671
672// ListJobArtifactsRequest selects artifacts of the job's run.
673type ListJobArtifactsRequest struct {
674	state protoimpl.MessageState `protogen:"open.v1"`
675	// JobId is the Job.job_id. It must be the job of the token.
676	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
677	// Name keeps only the artifact of that name. Empty means every name.
678	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
679	// ArtifactId keeps only the artifact of that id. 0 means every id.
680	ArtifactId    int64 `protobuf:"varint,3,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
681	unknownFields protoimpl.UnknownFields
682	sizeCache     protoimpl.SizeCache
683}
684
685func (x *ListJobArtifactsRequest) Reset() {
686	*x = ListJobArtifactsRequest{}
687	mi := &file_ermite_artifact_proto_msgTypes[9]
688	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
689	ms.StoreMessageInfo(mi)
690}
691
692func (x *ListJobArtifactsRequest) String() string {
693	return protoimpl.X.MessageStringOf(x)
694}
695
696func (*ListJobArtifactsRequest) ProtoMessage() {}
697
698func (x *ListJobArtifactsRequest) ProtoReflect() protoreflect.Message {
699	mi := &file_ermite_artifact_proto_msgTypes[9]
700	if x != nil {
701		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
702		if ms.LoadMessageInfo() == nil {
703			ms.StoreMessageInfo(mi)
704		}
705		return ms
706	}
707	return mi.MessageOf(x)
708}
709
710// Deprecated: Use ListJobArtifactsRequest.ProtoReflect.Descriptor instead.
711func (*ListJobArtifactsRequest) Descriptor() ([]byte, []int) {
712	return file_ermite_artifact_proto_rawDescGZIP(), []int{9}
713}
714
715func (x *ListJobArtifactsRequest) GetJobId() string {
716	if x != nil {
717		return x.JobId
718	}
719	return ""
720}
721
722func (x *ListJobArtifactsRequest) GetName() string {
723	if x != nil {
724		return x.Name
725	}
726	return ""
727}
728
729func (x *ListJobArtifactsRequest) GetArtifactId() int64 {
730	if x != nil {
731		return x.ArtifactId
732	}
733	return 0
734}
735
736// ListJobArtifactsResponse lists artifacts of the job's run.
737type ListJobArtifactsResponse struct {
738	state protoimpl.MessageState `protogen:"open.v1"`
739	// Artifacts are the artifacts, by id.
740	Artifacts     []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"`
741	unknownFields protoimpl.UnknownFields
742	sizeCache     protoimpl.SizeCache
743}
744
745func (x *ListJobArtifactsResponse) Reset() {
746	*x = ListJobArtifactsResponse{}
747	mi := &file_ermite_artifact_proto_msgTypes[10]
748	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
749	ms.StoreMessageInfo(mi)
750}
751
752func (x *ListJobArtifactsResponse) String() string {
753	return protoimpl.X.MessageStringOf(x)
754}
755
756func (*ListJobArtifactsResponse) ProtoMessage() {}
757
758func (x *ListJobArtifactsResponse) ProtoReflect() protoreflect.Message {
759	mi := &file_ermite_artifact_proto_msgTypes[10]
760	if x != nil {
761		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
762		if ms.LoadMessageInfo() == nil {
763			ms.StoreMessageInfo(mi)
764		}
765		return ms
766	}
767	return mi.MessageOf(x)
768}
769
770// Deprecated: Use ListJobArtifactsResponse.ProtoReflect.Descriptor instead.
771func (*ListJobArtifactsResponse) Descriptor() ([]byte, []int) {
772	return file_ermite_artifact_proto_rawDescGZIP(), []int{10}
773}
774
775func (x *ListJobArtifactsResponse) GetArtifacts() []*Artifact {
776	if x != nil {
777		return x.Artifacts
778	}
779	return nil
780}
781
782// DownloadJobArtifactRequest selects the content of an artifact.
783type DownloadJobArtifactRequest struct {
784	state protoimpl.MessageState `protogen:"open.v1"`
785	// JobId is the Job.job_id. It must be the job of the token.
786	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
787	// ArtifactId is the Artifact.id of an artifact of the job's run.
788	ArtifactId int64 `protobuf:"varint,2,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
789	// Offset is the first byte to send, from 0 to the size of the artifact.
790	Offset        int64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
791	unknownFields protoimpl.UnknownFields
792	sizeCache     protoimpl.SizeCache
793}
794
795func (x *DownloadJobArtifactRequest) Reset() {
796	*x = DownloadJobArtifactRequest{}
797	mi := &file_ermite_artifact_proto_msgTypes[11]
798	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
799	ms.StoreMessageInfo(mi)
800}
801
802func (x *DownloadJobArtifactRequest) String() string {
803	return protoimpl.X.MessageStringOf(x)
804}
805
806func (*DownloadJobArtifactRequest) ProtoMessage() {}
807
808func (x *DownloadJobArtifactRequest) ProtoReflect() protoreflect.Message {
809	mi := &file_ermite_artifact_proto_msgTypes[11]
810	if x != nil {
811		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
812		if ms.LoadMessageInfo() == nil {
813			ms.StoreMessageInfo(mi)
814		}
815		return ms
816	}
817	return mi.MessageOf(x)
818}
819
820// Deprecated: Use DownloadJobArtifactRequest.ProtoReflect.Descriptor instead.
821func (*DownloadJobArtifactRequest) Descriptor() ([]byte, []int) {
822	return file_ermite_artifact_proto_rawDescGZIP(), []int{11}
823}
824
825func (x *DownloadJobArtifactRequest) GetJobId() string {
826	if x != nil {
827		return x.JobId
828	}
829	return ""
830}
831
832func (x *DownloadJobArtifactRequest) GetArtifactId() int64 {
833	if x != nil {
834		return x.ArtifactId
835	}
836	return 0
837}
838
839func (x *DownloadJobArtifactRequest) GetOffset() int64 {
840	if x != nil {
841		return x.Offset
842	}
843	return 0
844}
845
846// DownloadJobArtifactResponse is one message of the content stream.
847type DownloadJobArtifactResponse struct {
848	state protoimpl.MessageState `protogen:"open.v1"`
849	// Artifact describes the artifact. Set in the first message of the stream
850	// only.
851	Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
852	// Chunk is the next part of the content, at most 1 MiB, in order. The first
853	// message may have an empty chunk. The chunks of a stream add up to the size
854	// of the artifact minus the offset.
855	Chunk         []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
856	unknownFields protoimpl.UnknownFields
857	sizeCache     protoimpl.SizeCache
858}
859
860func (x *DownloadJobArtifactResponse) Reset() {
861	*x = DownloadJobArtifactResponse{}
862	mi := &file_ermite_artifact_proto_msgTypes[12]
863	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
864	ms.StoreMessageInfo(mi)
865}
866
867func (x *DownloadJobArtifactResponse) String() string {
868	return protoimpl.X.MessageStringOf(x)
869}
870
871func (*DownloadJobArtifactResponse) ProtoMessage() {}
872
873func (x *DownloadJobArtifactResponse) ProtoReflect() protoreflect.Message {
874	mi := &file_ermite_artifact_proto_msgTypes[12]
875	if x != nil {
876		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
877		if ms.LoadMessageInfo() == nil {
878			ms.StoreMessageInfo(mi)
879		}
880		return ms
881	}
882	return mi.MessageOf(x)
883}
884
885// Deprecated: Use DownloadJobArtifactResponse.ProtoReflect.Descriptor instead.
886func (*DownloadJobArtifactResponse) Descriptor() ([]byte, []int) {
887	return file_ermite_artifact_proto_rawDescGZIP(), []int{12}
888}
889
890func (x *DownloadJobArtifactResponse) GetArtifact() *Artifact {
891	if x != nil {
892		return x.Artifact
893	}
894	return nil
895}
896
897func (x *DownloadJobArtifactResponse) GetChunk() []byte {
898	if x != nil {
899		return x.Chunk
900	}
901	return nil
902}
903
904// DeleteJobArtifactRequest names the artifact to delete.
905type DeleteJobArtifactRequest struct {
906	state protoimpl.MessageState `protogen:"open.v1"`
907	// JobId is the Job.job_id. It must be the job of the token.
908	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
909	// Name is the name of a finalized artifact of the job's run.
910	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
911	unknownFields protoimpl.UnknownFields
912	sizeCache     protoimpl.SizeCache
913}
914
915func (x *DeleteJobArtifactRequest) Reset() {
916	*x = DeleteJobArtifactRequest{}
917	mi := &file_ermite_artifact_proto_msgTypes[13]
918	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
919	ms.StoreMessageInfo(mi)
920}
921
922func (x *DeleteJobArtifactRequest) String() string {
923	return protoimpl.X.MessageStringOf(x)
924}
925
926func (*DeleteJobArtifactRequest) ProtoMessage() {}
927
928func (x *DeleteJobArtifactRequest) ProtoReflect() protoreflect.Message {
929	mi := &file_ermite_artifact_proto_msgTypes[13]
930	if x != nil {
931		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
932		if ms.LoadMessageInfo() == nil {
933			ms.StoreMessageInfo(mi)
934		}
935		return ms
936	}
937	return mi.MessageOf(x)
938}
939
940// Deprecated: Use DeleteJobArtifactRequest.ProtoReflect.Descriptor instead.
941func (*DeleteJobArtifactRequest) Descriptor() ([]byte, []int) {
942	return file_ermite_artifact_proto_rawDescGZIP(), []int{13}
943}
944
945func (x *DeleteJobArtifactRequest) GetJobId() string {
946	if x != nil {
947		return x.JobId
948	}
949	return ""
950}
951
952func (x *DeleteJobArtifactRequest) GetName() string {
953	if x != nil {
954		return x.Name
955	}
956	return ""
957}
958
959// DeleteJobArtifactResponse identifies the deleted artifact.
960type DeleteJobArtifactResponse struct {
961	state protoimpl.MessageState `protogen:"open.v1"`
962	// ArtifactId is the Artifact.id of the artifact that was deleted.
963	ArtifactId    int64 `protobuf:"varint,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
964	unknownFields protoimpl.UnknownFields
965	sizeCache     protoimpl.SizeCache
966}
967
968func (x *DeleteJobArtifactResponse) Reset() {
969	*x = DeleteJobArtifactResponse{}
970	mi := &file_ermite_artifact_proto_msgTypes[14]
971	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
972	ms.StoreMessageInfo(mi)
973}
974
975func (x *DeleteJobArtifactResponse) String() string {
976	return protoimpl.X.MessageStringOf(x)
977}
978
979func (*DeleteJobArtifactResponse) ProtoMessage() {}
980
981func (x *DeleteJobArtifactResponse) ProtoReflect() protoreflect.Message {
982	mi := &file_ermite_artifact_proto_msgTypes[14]
983	if x != nil {
984		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
985		if ms.LoadMessageInfo() == nil {
986			ms.StoreMessageInfo(mi)
987		}
988		return ms
989	}
990	return mi.MessageOf(x)
991}
992
993// Deprecated: Use DeleteJobArtifactResponse.ProtoReflect.Descriptor instead.
994func (*DeleteJobArtifactResponse) Descriptor() ([]byte, []int) {
995	return file_ermite_artifact_proto_rawDescGZIP(), []int{14}
996}
997
998func (x *DeleteJobArtifactResponse) GetArtifactId() int64 {
999	if x != nil {
1000		return x.ArtifactId
1001	}
1002	return 0
1003}
1004
1005// ListArtifactsRequest selects the artifacts of a run.
1006type ListArtifactsRequest struct {
1007	state protoimpl.MessageState `protogen:"open.v1"`
1008	// Repo is the repository name.
1009	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1010	// RunId is the run.
1011	RunId         int64 `protobuf:"varint,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
1012	unknownFields protoimpl.UnknownFields
1013	sizeCache     protoimpl.SizeCache
1014}
1015
1016func (x *ListArtifactsRequest) Reset() {
1017	*x = ListArtifactsRequest{}
1018	mi := &file_ermite_artifact_proto_msgTypes[15]
1019	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1020	ms.StoreMessageInfo(mi)
1021}
1022
1023func (x *ListArtifactsRequest) String() string {
1024	return protoimpl.X.MessageStringOf(x)
1025}
1026
1027func (*ListArtifactsRequest) ProtoMessage() {}
1028
1029func (x *ListArtifactsRequest) ProtoReflect() protoreflect.Message {
1030	mi := &file_ermite_artifact_proto_msgTypes[15]
1031	if x != nil {
1032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1033		if ms.LoadMessageInfo() == nil {
1034			ms.StoreMessageInfo(mi)
1035		}
1036		return ms
1037	}
1038	return mi.MessageOf(x)
1039}
1040
1041// Deprecated: Use ListArtifactsRequest.ProtoReflect.Descriptor instead.
1042func (*ListArtifactsRequest) Descriptor() ([]byte, []int) {
1043	return file_ermite_artifact_proto_rawDescGZIP(), []int{15}
1044}
1045
1046func (x *ListArtifactsRequest) GetRepo() string {
1047	if x != nil {
1048		return x.Repo
1049	}
1050	return ""
1051}
1052
1053func (x *ListArtifactsRequest) GetRunId() int64 {
1054	if x != nil {
1055		return x.RunId
1056	}
1057	return 0
1058}
1059
1060// ListArtifactsResponse lists the artifacts of a run.
1061type ListArtifactsResponse struct {
1062	state protoimpl.MessageState `protogen:"open.v1"`
1063	// Artifacts are the artifacts of the run, all attempts, by id.
1064	Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"`
1065	// UsedBytes is the space that all the artifacts of the repository use,
1066	// uploads in progress included.
1067	UsedBytes int64 `protobuf:"varint,2,opt,name=used_bytes,json=usedBytes,proto3" json:"used_bytes,omitempty"`
1068	// QuotaBytes is the space the artifacts of the repository may use.
1069	QuotaBytes    int64 `protobuf:"varint,3,opt,name=quota_bytes,json=quotaBytes,proto3" json:"quota_bytes,omitempty"`
1070	unknownFields protoimpl.UnknownFields
1071	sizeCache     protoimpl.SizeCache
1072}
1073
1074func (x *ListArtifactsResponse) Reset() {
1075	*x = ListArtifactsResponse{}
1076	mi := &file_ermite_artifact_proto_msgTypes[16]
1077	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078	ms.StoreMessageInfo(mi)
1079}
1080
1081func (x *ListArtifactsResponse) String() string {
1082	return protoimpl.X.MessageStringOf(x)
1083}
1084
1085func (*ListArtifactsResponse) ProtoMessage() {}
1086
1087func (x *ListArtifactsResponse) ProtoReflect() protoreflect.Message {
1088	mi := &file_ermite_artifact_proto_msgTypes[16]
1089	if x != nil {
1090		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1091		if ms.LoadMessageInfo() == nil {
1092			ms.StoreMessageInfo(mi)
1093		}
1094		return ms
1095	}
1096	return mi.MessageOf(x)
1097}
1098
1099// Deprecated: Use ListArtifactsResponse.ProtoReflect.Descriptor instead.
1100func (*ListArtifactsResponse) Descriptor() ([]byte, []int) {
1101	return file_ermite_artifact_proto_rawDescGZIP(), []int{16}
1102}
1103
1104func (x *ListArtifactsResponse) GetArtifacts() []*Artifact {
1105	if x != nil {
1106		return x.Artifacts
1107	}
1108	return nil
1109}
1110
1111func (x *ListArtifactsResponse) GetUsedBytes() int64 {
1112	if x != nil {
1113		return x.UsedBytes
1114	}
1115	return 0
1116}
1117
1118func (x *ListArtifactsResponse) GetQuotaBytes() int64 {
1119	if x != nil {
1120		return x.QuotaBytes
1121	}
1122	return 0
1123}
1124
1125// DownloadArtifactRequest selects the content of an artifact.
1126type DownloadArtifactRequest struct {
1127	state protoimpl.MessageState `protogen:"open.v1"`
1128	// Repo is the repository name.
1129	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1130	// ArtifactId is the Artifact.id.
1131	ArtifactId int64 `protobuf:"varint,2,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
1132	// Offset is the first byte to send, from 0 to the size of the artifact.
1133	Offset        int64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
1134	unknownFields protoimpl.UnknownFields
1135	sizeCache     protoimpl.SizeCache
1136}
1137
1138func (x *DownloadArtifactRequest) Reset() {
1139	*x = DownloadArtifactRequest{}
1140	mi := &file_ermite_artifact_proto_msgTypes[17]
1141	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1142	ms.StoreMessageInfo(mi)
1143}
1144
1145func (x *DownloadArtifactRequest) String() string {
1146	return protoimpl.X.MessageStringOf(x)
1147}
1148
1149func (*DownloadArtifactRequest) ProtoMessage() {}
1150
1151func (x *DownloadArtifactRequest) ProtoReflect() protoreflect.Message {
1152	mi := &file_ermite_artifact_proto_msgTypes[17]
1153	if x != nil {
1154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1155		if ms.LoadMessageInfo() == nil {
1156			ms.StoreMessageInfo(mi)
1157		}
1158		return ms
1159	}
1160	return mi.MessageOf(x)
1161}
1162
1163// Deprecated: Use DownloadArtifactRequest.ProtoReflect.Descriptor instead.
1164func (*DownloadArtifactRequest) Descriptor() ([]byte, []int) {
1165	return file_ermite_artifact_proto_rawDescGZIP(), []int{17}
1166}
1167
1168func (x *DownloadArtifactRequest) GetRepo() string {
1169	if x != nil {
1170		return x.Repo
1171	}
1172	return ""
1173}
1174
1175func (x *DownloadArtifactRequest) GetArtifactId() int64 {
1176	if x != nil {
1177		return x.ArtifactId
1178	}
1179	return 0
1180}
1181
1182func (x *DownloadArtifactRequest) GetOffset() int64 {
1183	if x != nil {
1184		return x.Offset
1185	}
1186	return 0
1187}
1188
1189// DownloadArtifactResponse is one message of the content stream.
1190type DownloadArtifactResponse struct {
1191	state protoimpl.MessageState `protogen:"open.v1"`
1192	// Artifact describes the artifact. Set in the first message of the stream
1193	// only.
1194	Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
1195	// Chunk is the next part of the content, at most 1 MiB, in order. The first
1196	// message may have an empty chunk.
1197	Chunk         []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
1198	unknownFields protoimpl.UnknownFields
1199	sizeCache     protoimpl.SizeCache
1200}
1201
1202func (x *DownloadArtifactResponse) Reset() {
1203	*x = DownloadArtifactResponse{}
1204	mi := &file_ermite_artifact_proto_msgTypes[18]
1205	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1206	ms.StoreMessageInfo(mi)
1207}
1208
1209func (x *DownloadArtifactResponse) String() string {
1210	return protoimpl.X.MessageStringOf(x)
1211}
1212
1213func (*DownloadArtifactResponse) ProtoMessage() {}
1214
1215func (x *DownloadArtifactResponse) ProtoReflect() protoreflect.Message {
1216	mi := &file_ermite_artifact_proto_msgTypes[18]
1217	if x != nil {
1218		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1219		if ms.LoadMessageInfo() == nil {
1220			ms.StoreMessageInfo(mi)
1221		}
1222		return ms
1223	}
1224	return mi.MessageOf(x)
1225}
1226
1227// Deprecated: Use DownloadArtifactResponse.ProtoReflect.Descriptor instead.
1228func (*DownloadArtifactResponse) Descriptor() ([]byte, []int) {
1229	return file_ermite_artifact_proto_rawDescGZIP(), []int{18}
1230}
1231
1232func (x *DownloadArtifactResponse) GetArtifact() *Artifact {
1233	if x != nil {
1234		return x.Artifact
1235	}
1236	return nil
1237}
1238
1239func (x *DownloadArtifactResponse) GetChunk() []byte {
1240	if x != nil {
1241		return x.Chunk
1242	}
1243	return nil
1244}
1245
1246// DeleteArtifactRequest names the artifact to delete.
1247type DeleteArtifactRequest struct {
1248	state protoimpl.MessageState `protogen:"open.v1"`
1249	// Repo is the repository name.
1250	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1251	// ArtifactId is the Artifact.id.
1252	ArtifactId    int64 `protobuf:"varint,2,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
1253	unknownFields protoimpl.UnknownFields
1254	sizeCache     protoimpl.SizeCache
1255}
1256
1257func (x *DeleteArtifactRequest) Reset() {
1258	*x = DeleteArtifactRequest{}
1259	mi := &file_ermite_artifact_proto_msgTypes[19]
1260	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1261	ms.StoreMessageInfo(mi)
1262}
1263
1264func (x *DeleteArtifactRequest) String() string {
1265	return protoimpl.X.MessageStringOf(x)
1266}
1267
1268func (*DeleteArtifactRequest) ProtoMessage() {}
1269
1270func (x *DeleteArtifactRequest) ProtoReflect() protoreflect.Message {
1271	mi := &file_ermite_artifact_proto_msgTypes[19]
1272	if x != nil {
1273		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1274		if ms.LoadMessageInfo() == nil {
1275			ms.StoreMessageInfo(mi)
1276		}
1277		return ms
1278	}
1279	return mi.MessageOf(x)
1280}
1281
1282// Deprecated: Use DeleteArtifactRequest.ProtoReflect.Descriptor instead.
1283func (*DeleteArtifactRequest) Descriptor() ([]byte, []int) {
1284	return file_ermite_artifact_proto_rawDescGZIP(), []int{19}
1285}
1286
1287func (x *DeleteArtifactRequest) GetRepo() string {
1288	if x != nil {
1289		return x.Repo
1290	}
1291	return ""
1292}
1293
1294func (x *DeleteArtifactRequest) GetArtifactId() int64 {
1295	if x != nil {
1296		return x.ArtifactId
1297	}
1298	return 0
1299}
1300
1301// DeleteArtifactResponse is empty.
1302type DeleteArtifactResponse struct {
1303	state         protoimpl.MessageState `protogen:"open.v1"`
1304	unknownFields protoimpl.UnknownFields
1305	sizeCache     protoimpl.SizeCache
1306}
1307
1308func (x *DeleteArtifactResponse) Reset() {
1309	*x = DeleteArtifactResponse{}
1310	mi := &file_ermite_artifact_proto_msgTypes[20]
1311	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1312	ms.StoreMessageInfo(mi)
1313}
1314
1315func (x *DeleteArtifactResponse) String() string {
1316	return protoimpl.X.MessageStringOf(x)
1317}
1318
1319func (*DeleteArtifactResponse) ProtoMessage() {}
1320
1321func (x *DeleteArtifactResponse) ProtoReflect() protoreflect.Message {
1322	mi := &file_ermite_artifact_proto_msgTypes[20]
1323	if x != nil {
1324		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1325		if ms.LoadMessageInfo() == nil {
1326			ms.StoreMessageInfo(mi)
1327		}
1328		return ms
1329	}
1330	return mi.MessageOf(x)
1331}
1332
1333// Deprecated: Use DeleteArtifactResponse.ProtoReflect.Descriptor instead.
1334func (*DeleteArtifactResponse) Descriptor() ([]byte, []int) {
1335	return file_ermite_artifact_proto_rawDescGZIP(), []int{20}
1336}
1337
1338var File_ermite_artifact_proto protoreflect.FileDescriptor
1339
1340const file_ermite_artifact_proto_rawDesc = "" +
1341	"\n" +
1342	"\x15ermite/artifact.proto\x12\x06ermite\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcb\x02\n" +
1343	"\bArtifact\x12\x0e\n" +
1344	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
1345	"\x04repo\x18\x02 \x01(\tR\x04repo\x12\x15\n" +
1346	"\x06run_id\x18\x03 \x01(\x03R\x05runId\x12\x18\n" +
1347	"\aattempt\x18\x04 \x01(\x05R\aattempt\x12\x15\n" +
1348	"\x06job_id\x18\x05 \x01(\tR\x05jobId\x12\x12\n" +
1349	"\x04name\x18\x06 \x01(\tR\x04name\x12\x12\n" +
1350	"\x04size\x18\a \x01(\x03R\x04size\x12\x16\n" +
1351	"\x06digest\x18\b \x01(\tR\x06digest\x12\x1d\n" +
1352	"\n" +
1353	"media_type\x18\t \x01(\tR\tmediaType\x129\n" +
1354	"\n" +
1355	"created_at\x18\n" +
1356	" \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
1357	"\n" +
1358	"expires_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"\x9f\x01\n" +
1359	"\x18CreateJobArtifactRequest\x12\x15\n" +
1360	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x12\n" +
1361	"\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n" +
1362	"\n" +
1363	"media_type\x18\x03 \x01(\tR\tmediaType\x129\n" +
1364	"\n" +
1365	"expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"w\n" +
1366	"\x19CreateJobArtifactResponse\x12\x1f\n" +
1367	"\vartifact_id\x18\x01 \x01(\x03R\n" +
1368	"artifactId\x129\n" +
1369	"\n" +
1370	"expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"\x86\x01\n" +
1371	"\x1dUploadJobArtifactBlockRequest\x12\x15\n" +
1372	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1f\n" +
1373	"\vartifact_id\x18\x02 \x01(\x03R\n" +
1374	"artifactId\x12\x19\n" +
1375	"\bblock_id\x18\x03 \x01(\fR\ablockId\x12\x12\n" +
1376	"\x04data\x18\x04 \x01(\fR\x04data\"4\n" +
1377	"\x1eUploadJobArtifactBlockResponse\x12\x12\n" +
1378	"\x04size\x18\x01 \x01(\x03R\x04size\"o\n" +
1379	"\x18CommitJobArtifactRequest\x12\x15\n" +
1380	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1f\n" +
1381	"\vartifact_id\x18\x02 \x01(\x03R\n" +
1382	"artifactId\x12\x1b\n" +
1383	"\tblock_ids\x18\x03 \x03(\fR\bblockIds\"G\n" +
1384	"\x19CommitJobArtifactResponse\x12\x12\n" +
1385	"\x04size\x18\x01 \x01(\x03R\x04size\x12\x16\n" +
1386	"\x06digest\x18\x02 \x01(\tR\x06digest\"s\n" +
1387	"\x1aFinalizeJobArtifactRequest\x12\x15\n" +
1388	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x12\n" +
1389	"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
1390	"\x04size\x18\x03 \x01(\x03R\x04size\x12\x16\n" +
1391	"\x06digest\x18\x04 \x01(\tR\x06digest\"K\n" +
1392	"\x1bFinalizeJobArtifactResponse\x12,\n" +
1393	"\bartifact\x18\x01 \x01(\v2\x10.ermite.ArtifactR\bartifact\"e\n" +
1394	"\x17ListJobArtifactsRequest\x12\x15\n" +
1395	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x12\n" +
1396	"\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n" +
1397	"\vartifact_id\x18\x03 \x01(\x03R\n" +
1398	"artifactId\"J\n" +
1399	"\x18ListJobArtifactsResponse\x12.\n" +
1400	"\tartifacts\x18\x01 \x03(\v2\x10.ermite.ArtifactR\tartifacts\"l\n" +
1401	"\x1aDownloadJobArtifactRequest\x12\x15\n" +
1402	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1f\n" +
1403	"\vartifact_id\x18\x02 \x01(\x03R\n" +
1404	"artifactId\x12\x16\n" +
1405	"\x06offset\x18\x03 \x01(\x03R\x06offset\"a\n" +
1406	"\x1bDownloadJobArtifactResponse\x12,\n" +
1407	"\bartifact\x18\x01 \x01(\v2\x10.ermite.ArtifactR\bartifact\x12\x14\n" +
1408	"\x05chunk\x18\x02 \x01(\fR\x05chunk\"E\n" +
1409	"\x18DeleteJobArtifactRequest\x12\x15\n" +
1410	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x12\n" +
1411	"\x04name\x18\x02 \x01(\tR\x04name\"<\n" +
1412	"\x19DeleteJobArtifactResponse\x12\x1f\n" +
1413	"\vartifact_id\x18\x01 \x01(\x03R\n" +
1414	"artifactId\"A\n" +
1415	"\x14ListArtifactsRequest\x12\x12\n" +
1416	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
1417	"\x06run_id\x18\x02 \x01(\x03R\x05runId\"\x87\x01\n" +
1418	"\x15ListArtifactsResponse\x12.\n" +
1419	"\tartifacts\x18\x01 \x03(\v2\x10.ermite.ArtifactR\tartifacts\x12\x1d\n" +
1420	"\n" +
1421	"used_bytes\x18\x02 \x01(\x03R\tusedBytes\x12\x1f\n" +
1422	"\vquota_bytes\x18\x03 \x01(\x03R\n" +
1423	"quotaBytes\"f\n" +
1424	"\x17DownloadArtifactRequest\x12\x12\n" +
1425	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x1f\n" +
1426	"\vartifact_id\x18\x02 \x01(\x03R\n" +
1427	"artifactId\x12\x16\n" +
1428	"\x06offset\x18\x03 \x01(\x03R\x06offset\"^\n" +
1429	"\x18DownloadArtifactResponse\x12,\n" +
1430	"\bartifact\x18\x01 \x01(\v2\x10.ermite.ArtifactR\bartifact\x12\x14\n" +
1431	"\x05chunk\x18\x02 \x01(\fR\x05chunk\"L\n" +
1432	"\x15DeleteArtifactRequest\x12\x12\n" +
1433	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x1f\n" +
1434	"\vartifact_id\x18\x02 \x01(\x03R\n" +
1435	"artifactId\"\x18\n" +
1436	"\x16DeleteArtifactResponse2\xa6\x05\n" +
1437	"\x12JobArtifactService\x12X\n" +
1438	"\x11CreateJobArtifact\x12 .ermite.CreateJobArtifactRequest\x1a!.ermite.CreateJobArtifactResponse\x12i\n" +
1439	"\x16UploadJobArtifactBlock\x12%.ermite.UploadJobArtifactBlockRequest\x1a&.ermite.UploadJobArtifactBlockResponse(\x01\x12X\n" +
1440	"\x11CommitJobArtifact\x12 .ermite.CommitJobArtifactRequest\x1a!.ermite.CommitJobArtifactResponse\x12^\n" +
1441	"\x13FinalizeJobArtifact\x12\".ermite.FinalizeJobArtifactRequest\x1a#.ermite.FinalizeJobArtifactResponse\x12U\n" +
1442	"\x10ListJobArtifacts\x12\x1f.ermite.ListJobArtifactsRequest\x1a .ermite.ListJobArtifactsResponse\x12`\n" +
1443	"\x13DownloadJobArtifact\x12\".ermite.DownloadJobArtifactRequest\x1a#.ermite.DownloadJobArtifactResponse0\x01\x12X\n" +
1444	"\x11DeleteJobArtifact\x12 .ermite.DeleteJobArtifactRequest\x1a!.ermite.DeleteJobArtifactResponse2\x89\x02\n" +
1445	"\x0fArtifactService\x12L\n" +
1446	"\rListArtifacts\x12\x1c.ermite.ListArtifactsRequest\x1a\x1d.ermite.ListArtifactsResponse\x12W\n" +
1447	"\x10DownloadArtifact\x12\x1f.ermite.DownloadArtifactRequest\x1a .ermite.DownloadArtifactResponse0\x01\x12O\n" +
1448	"\x0eDeleteArtifact\x12\x1d.ermite.DeleteArtifactRequest\x1a\x1e.ermite.DeleteArtifactResponseBt\n" +
1449	"\n" +
1450	"com.ermiteB\rArtifactProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
1451
1452var (
1453	file_ermite_artifact_proto_rawDescOnce sync.Once
1454	file_ermite_artifact_proto_rawDescData []byte
1455)
1456
1457func file_ermite_artifact_proto_rawDescGZIP() []byte {
1458	file_ermite_artifact_proto_rawDescOnce.Do(func() {
1459		file_ermite_artifact_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_artifact_proto_rawDesc), len(file_ermite_artifact_proto_rawDesc)))
1460	})
1461	return file_ermite_artifact_proto_rawDescData
1462}
1463
1464var file_ermite_artifact_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
1465var file_ermite_artifact_proto_goTypes = []any{
1466	(*Artifact)(nil),                       // 0: ermite.Artifact
1467	(*CreateJobArtifactRequest)(nil),       // 1: ermite.CreateJobArtifactRequest
1468	(*CreateJobArtifactResponse)(nil),      // 2: ermite.CreateJobArtifactResponse
1469	(*UploadJobArtifactBlockRequest)(nil),  // 3: ermite.UploadJobArtifactBlockRequest
1470	(*UploadJobArtifactBlockResponse)(nil), // 4: ermite.UploadJobArtifactBlockResponse
1471	(*CommitJobArtifactRequest)(nil),       // 5: ermite.CommitJobArtifactRequest
1472	(*CommitJobArtifactResponse)(nil),      // 6: ermite.CommitJobArtifactResponse
1473	(*FinalizeJobArtifactRequest)(nil),     // 7: ermite.FinalizeJobArtifactRequest
1474	(*FinalizeJobArtifactResponse)(nil),    // 8: ermite.FinalizeJobArtifactResponse
1475	(*ListJobArtifactsRequest)(nil),        // 9: ermite.ListJobArtifactsRequest
1476	(*ListJobArtifactsResponse)(nil),       // 10: ermite.ListJobArtifactsResponse
1477	(*DownloadJobArtifactRequest)(nil),     // 11: ermite.DownloadJobArtifactRequest
1478	(*DownloadJobArtifactResponse)(nil),    // 12: ermite.DownloadJobArtifactResponse
1479	(*DeleteJobArtifactRequest)(nil),       // 13: ermite.DeleteJobArtifactRequest
1480	(*DeleteJobArtifactResponse)(nil),      // 14: ermite.DeleteJobArtifactResponse
1481	(*ListArtifactsRequest)(nil),           // 15: ermite.ListArtifactsRequest
1482	(*ListArtifactsResponse)(nil),          // 16: ermite.ListArtifactsResponse
1483	(*DownloadArtifactRequest)(nil),        // 17: ermite.DownloadArtifactRequest
1484	(*DownloadArtifactResponse)(nil),       // 18: ermite.DownloadArtifactResponse
1485	(*DeleteArtifactRequest)(nil),          // 19: ermite.DeleteArtifactRequest
1486	(*DeleteArtifactResponse)(nil),         // 20: ermite.DeleteArtifactResponse
1487	(*timestamppb.Timestamp)(nil),          // 21: google.protobuf.Timestamp
1488}
1489var file_ermite_artifact_proto_depIdxs = []int32{
1490	21, // 0: ermite.Artifact.created_at:type_name -> google.protobuf.Timestamp
1491	21, // 1: ermite.Artifact.expires_at:type_name -> google.protobuf.Timestamp
1492	21, // 2: ermite.CreateJobArtifactRequest.expires_at:type_name -> google.protobuf.Timestamp
1493	21, // 3: ermite.CreateJobArtifactResponse.expires_at:type_name -> google.protobuf.Timestamp
1494	0,  // 4: ermite.FinalizeJobArtifactResponse.artifact:type_name -> ermite.Artifact
1495	0,  // 5: ermite.ListJobArtifactsResponse.artifacts:type_name -> ermite.Artifact
1496	0,  // 6: ermite.DownloadJobArtifactResponse.artifact:type_name -> ermite.Artifact
1497	0,  // 7: ermite.ListArtifactsResponse.artifacts:type_name -> ermite.Artifact
1498	0,  // 8: ermite.DownloadArtifactResponse.artifact:type_name -> ermite.Artifact
1499	1,  // 9: ermite.JobArtifactService.CreateJobArtifact:input_type -> ermite.CreateJobArtifactRequest
1500	3,  // 10: ermite.JobArtifactService.UploadJobArtifactBlock:input_type -> ermite.UploadJobArtifactBlockRequest
1501	5,  // 11: ermite.JobArtifactService.CommitJobArtifact:input_type -> ermite.CommitJobArtifactRequest
1502	7,  // 12: ermite.JobArtifactService.FinalizeJobArtifact:input_type -> ermite.FinalizeJobArtifactRequest
1503	9,  // 13: ermite.JobArtifactService.ListJobArtifacts:input_type -> ermite.ListJobArtifactsRequest
1504	11, // 14: ermite.JobArtifactService.DownloadJobArtifact:input_type -> ermite.DownloadJobArtifactRequest
1505	13, // 15: ermite.JobArtifactService.DeleteJobArtifact:input_type -> ermite.DeleteJobArtifactRequest
1506	15, // 16: ermite.ArtifactService.ListArtifacts:input_type -> ermite.ListArtifactsRequest
1507	17, // 17: ermite.ArtifactService.DownloadArtifact:input_type -> ermite.DownloadArtifactRequest
1508	19, // 18: ermite.ArtifactService.DeleteArtifact:input_type -> ermite.DeleteArtifactRequest
1509	2,  // 19: ermite.JobArtifactService.CreateJobArtifact:output_type -> ermite.CreateJobArtifactResponse
1510	4,  // 20: ermite.JobArtifactService.UploadJobArtifactBlock:output_type -> ermite.UploadJobArtifactBlockResponse
1511	6,  // 21: ermite.JobArtifactService.CommitJobArtifact:output_type -> ermite.CommitJobArtifactResponse
1512	8,  // 22: ermite.JobArtifactService.FinalizeJobArtifact:output_type -> ermite.FinalizeJobArtifactResponse
1513	10, // 23: ermite.JobArtifactService.ListJobArtifacts:output_type -> ermite.ListJobArtifactsResponse
1514	12, // 24: ermite.JobArtifactService.DownloadJobArtifact:output_type -> ermite.DownloadJobArtifactResponse
1515	14, // 25: ermite.JobArtifactService.DeleteJobArtifact:output_type -> ermite.DeleteJobArtifactResponse
1516	16, // 26: ermite.ArtifactService.ListArtifacts:output_type -> ermite.ListArtifactsResponse
1517	18, // 27: ermite.ArtifactService.DownloadArtifact:output_type -> ermite.DownloadArtifactResponse
1518	20, // 28: ermite.ArtifactService.DeleteArtifact:output_type -> ermite.DeleteArtifactResponse
1519	19, // [19:29] is the sub-list for method output_type
1520	9,  // [9:19] is the sub-list for method input_type
1521	9,  // [9:9] is the sub-list for extension type_name
1522	9,  // [9:9] is the sub-list for extension extendee
1523	0,  // [0:9] is the sub-list for field type_name
1524}
1525
1526func init() { file_ermite_artifact_proto_init() }
1527func file_ermite_artifact_proto_init() {
1528	if File_ermite_artifact_proto != nil {
1529		return
1530	}
1531	type x struct{}
1532	out := protoimpl.TypeBuilder{
1533		File: protoimpl.DescBuilder{
1534			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1535			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_artifact_proto_rawDesc), len(file_ermite_artifact_proto_rawDesc)),
1536			NumEnums:      0,
1537			NumMessages:   21,
1538			NumExtensions: 0,
1539			NumServices:   2,
1540		},
1541		GoTypes:           file_ermite_artifact_proto_goTypes,
1542		DependencyIndexes: file_ermite_artifact_proto_depIdxs,
1543		MessageInfos:      file_ermite_artifact_proto_msgTypes,
1544	}.Build()
1545	File_ermite_artifact_proto = out.File
1546	file_ermite_artifact_proto_goTypes = nil
1547	file_ermite_artifact_proto_depIdxs = nil
1548}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 18

↑↓ moveenter openesc close