You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kratos/third_party/google/devtools/resultstore/v2/file.proto

107 lines
3.8 KiB

// Copyright 2018 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
syntax = "proto3";
package google.devtools.resultstore.v2;
import "google/protobuf/wrappers.proto";
option go_package = "google.golang.org/genproto/googleapis/devtools/resultstore/v2;resultstore";
option java_multiple_files = true;
option java_package = "com.google.devtools.resultstore.v2";
// The metadata for a file or an archive file entry.
message File {
// If known, the hash function used to compute this digest.
enum HashType {
// Unknown
HASH_TYPE_UNSPECIFIED = 0;
// MD5
MD5 = 1;
// SHA-1
SHA1 = 2;
// SHA-256
SHA256 = 3;
}
// The identifier of the file or archive entry.
// User-provided, must be unique for the repeated field it is in. When an
// Append RPC is called with a Files field populated, if a File already exists
// with this ID, that File will be overwritten with the new File proto.
string uid = 1;
// The URI of a file.
// This could also be the URI of an entire archive.
// Most log data doesn't need to be stored forever, so a ttl is suggested.
// Note that if you ever move or delete the file at this URI, the link from
// the server will be broken.
string uri = 2;
// (Optional) The length of the file in bytes. Allows the filesize to be
// shown in the UI. Omit if file is still being written or length is
// not known. This could also be the length of an entire archive.
google.protobuf.Int64Value length = 3;
// (Optional) The content-type (aka MIME-type) of the file. This is sent to
// the web browser so it knows how to handle the file. (e.g. text/plain,
// image/jpeg, text/html, etc). For zip archives, use "application/zip".
string content_type = 4;
// (Optional) If the above path, length, and content_type are referring to an
// archive, and you wish to refer to a particular entry within that archive,
// put the particular archive entry data here.
ArchiveEntry archive_entry = 5;
// (Optional) A url to a content display app/site for this file or archive
// entry.
string content_viewer = 6;
// (Optional) Whether to hide this file or archive entry in the UI. Defaults
// to false. A checkbox lets users see hidden files, but they're hidden by
// default.
bool hidden = 7;
// (Optional) A short description of what this file or archive entry
// contains. This description should help someone viewing the list of these
// files to understand the purpose of this file and what they would want to
// view it for.
string description = 8;
// (Optional) digest of this file in hexadecimal-like string if known.
string digest = 9;
// (Optional) The algorithm corresponding to the digest if known.
HashType hash_type = 10;
}
// Information specific to an entry in an archive.
message ArchiveEntry {
// The relative path of the entry within the archive.
string path = 1;
// (Optional) The uncompressed length of the archive entry in bytes. Allows
// the entry size to be shown in the UI. Omit if the length is not known.
google.protobuf.Int64Value length = 2;
// (Optional) The content-type (aka MIME-type) of the archive entry. (e.g.
// text/plain, image/jpeg, text/html, etc). This is sent to the web browser
// so it knows how to handle the entry.
string content_type = 3;
}