summaryrefslogtreecommitdiff
path: root/third_party/googleapis/grafeas/v1/grafeas.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/grafeas/v1/grafeas.proto')
-rw-r--r--third_party/googleapis/grafeas/v1/grafeas.proto544
1 files changed, 0 insertions, 544 deletions
diff --git a/third_party/googleapis/grafeas/v1/grafeas.proto b/third_party/googleapis/grafeas/v1/grafeas.proto
deleted file mode 100644
index 5665fe3..0000000
--- a/third_party/googleapis/grafeas/v1/grafeas.proto
+++ /dev/null
@@ -1,544 +0,0 @@
-// Copyright 2019 The Grafeas Authors. All rights reserved.
-//
-// 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 grafeas.v1;
-
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/protobuf/empty.proto";
-import "google/protobuf/field_mask.proto";
-import "google/protobuf/timestamp.proto";
-import "grafeas/v1/attestation.proto";
-import "grafeas/v1/build.proto";
-import "grafeas/v1/common.proto";
-import "grafeas/v1/compliance.proto";
-import "grafeas/v1/deployment.proto";
-import "grafeas/v1/discovery.proto";
-import "grafeas/v1/dsse_attestation.proto";
-import "grafeas/v1/image.proto";
-import "grafeas/v1/package.proto";
-import "grafeas/v1/upgrade.proto";
-import "grafeas/v1/vulnerability.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
-option java_multiple_files = true;
-option java_package = "io.grafeas.v1";
-option objc_class_prefix = "GRA";
-option (google.api.resource_definition) = {
- type: "grafeas.io/Project"
- pattern: "projects/{project}"
-};
-
-// [Grafeas](https://grafeas.io) API.
-//
-// Retrieves analysis results of Cloud components such as Docker container
-// images.
-//
-// Analysis results are stored as a series of occurrences. An `Occurrence`
-// contains information about a specific analysis instance on a resource. An
-// occurrence refers to a `Note`. A note contains details describing the
-// analysis and is generally stored in a separate project, called a `Provider`.
-// Multiple occurrences can refer to the same note.
-//
-// For example, an SSL vulnerability could affect multiple images. In this case,
-// there would be one note for the vulnerability and an occurrence for each
-// image with the vulnerability referring to that note.
-service Grafeas {
- option (google.api.default_host) = "containeranalysis.googleapis.com";
-
- // Gets the specified occurrence.
- rpc GetOccurrence(GetOccurrenceRequest) returns (Occurrence) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/occurrences/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Lists occurrences for the specified project.
- rpc ListOccurrences(ListOccurrencesRequest)
- returns (ListOccurrencesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*}/occurrences"
- };
- option (google.api.method_signature) = "parent,filter";
- }
-
- // Deletes the specified occurrence. For example, use this method to delete an
- // occurrence when the occurrence is no longer applicable for the given
- // resource.
- rpc DeleteOccurrence(DeleteOccurrenceRequest)
- returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/occurrences/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Creates a new occurrence.
- rpc CreateOccurrence(CreateOccurrenceRequest) returns (Occurrence) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*}/occurrences"
- body: "occurrence"
- };
- option (google.api.method_signature) = "parent,occurrence";
- }
-
- // Creates new occurrences in batch.
- rpc BatchCreateOccurrences(BatchCreateOccurrencesRequest)
- returns (BatchCreateOccurrencesResponse) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*}/occurrences:batchCreate"
- body: "*"
- };
- option (google.api.method_signature) = "parent,occurrences";
- }
-
- // Updates the specified occurrence.
- rpc UpdateOccurrence(UpdateOccurrenceRequest) returns (Occurrence) {
- option (google.api.http) = {
- patch: "/v1/{name=projects/*/occurrences/*}"
- body: "occurrence"
- };
- option (google.api.method_signature) = "name,occurrence,update_mask";
- }
-
- // Gets the note attached to the specified occurrence. Consumer projects can
- // use this method to get a note that belongs to a provider project.
- rpc GetOccurrenceNote(GetOccurrenceNoteRequest) returns (Note) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/occurrences/*}/notes"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Gets the specified note.
- rpc GetNote(GetNoteRequest) returns (Note) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/notes/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Lists notes for the specified project.
- rpc ListNotes(ListNotesRequest) returns (ListNotesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*}/notes"
- };
- option (google.api.method_signature) = "parent,filter";
- }
-
- // Deletes the specified note.
- rpc DeleteNote(DeleteNoteRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/notes/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Creates a new note.
- rpc CreateNote(CreateNoteRequest) returns (Note) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*}/notes"
- body: "note"
- };
- option (google.api.method_signature) = "parent,note_id,note";
- }
-
- // Creates new notes in batch.
- rpc BatchCreateNotes(BatchCreateNotesRequest)
- returns (BatchCreateNotesResponse) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*}/notes:batchCreate"
- body: "*"
- };
- option (google.api.method_signature) = "parent,notes";
- }
-
- // Updates the specified note.
- rpc UpdateNote(UpdateNoteRequest) returns (Note) {
- option (google.api.http) = {
- patch: "/v1/{name=projects/*/notes/*}"
- body: "note"
- };
- option (google.api.method_signature) = "name,note,update_mask";
- }
-
- // Lists occurrences referencing the specified note. Provider projects can use
- // this method to get all occurrences across consumer projects referencing the
- // specified note.
- rpc ListNoteOccurrences(ListNoteOccurrencesRequest)
- returns (ListNoteOccurrencesResponse) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/notes/*}/occurrences"
- };
- option (google.api.method_signature) = "name,filter";
- }
-}
-
-// An instance of an analysis type that has been found on a resource.
-message Occurrence {
- option (google.api.resource) = {
- type: "grafeas.io/Occurrence"
- pattern: "projects/{project}/occurrences/{occurrence}"
- };
-
- // Output only. The name of the occurrence in the form of
- // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
- string name = 1;
-
- // Required. Immutable. A URI that represents the resource for which the
- // occurrence applies. For example,
- // `https://gcr.io/project/image@sha256:123abc` for a Docker image.
- string resource_uri = 2;
-
- // Required. Immutable. The analysis note associated with this occurrence, in
- // the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
- // used as a filter in list requests.
- string note_name = 3;
-
- // Output only. This explicitly denotes which of the occurrence details are
- // specified. This field can be used as a filter in list requests.
- grafeas.v1.NoteKind kind = 4;
-
- // A description of actions that can be taken to remedy the note.
- string remediation = 5;
-
- // Output only. The time this occurrence was created.
- google.protobuf.Timestamp create_time = 6;
-
- // Output only. The time this occurrence was last updated.
- google.protobuf.Timestamp update_time = 7;
-
- // Required. Immutable. Describes the details of the note kind found on this
- // resource.
- oneof details {
- // Describes a security vulnerability.
- grafeas.v1.VulnerabilityOccurrence vulnerability = 8;
- // Describes a verifiable build.
- grafeas.v1.BuildOccurrence build = 9;
- // Describes how this resource derives from the basis in the associated
- // note.
- grafeas.v1.ImageOccurrence image = 10;
- // Describes the installation of a package on the linked resource.
- grafeas.v1.PackageOccurrence package = 11;
- // Describes the deployment of an artifact on a runtime.
- grafeas.v1.DeploymentOccurrence deployment = 12;
- // Describes when a resource was discovered.
- grafeas.v1.DiscoveryOccurrence discovery = 13;
- // Describes an attestation of an artifact.
- grafeas.v1.AttestationOccurrence attestation = 14;
- // Describes an available package upgrade on the linked resource.
- grafeas.v1.UpgradeOccurrence upgrade = 15;
- // Describes a compliance violation on a linked resource.
- grafeas.v1.ComplianceOccurrence compliance = 16;
- // Describes an attestation of an artifact using dsse.
- grafeas.v1.DSSEAttestationOccurrence dsse_attestation = 17;
- }
-
- // https://github.com/secure-systems-lab/dsse
- grafeas.v1.Envelope envelope = 18;
-}
-
-// A type of analysis that can be done for a resource.
-message Note {
- option (google.api.resource) = {
- type: "grafeas.io/Note"
- pattern: "projects/{project}/notes/{note}"
- };
-
- // Output only. The name of the note in the form of
- // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
- string name = 1;
-
- // A one sentence description of this note.
- string short_description = 2;
-
- // A detailed description of this note.
- string long_description = 3;
-
- // Output only. The type of analysis. This field can be used as a filter in
- // list requests.
- grafeas.v1.NoteKind kind = 4;
-
- // URLs associated with this note.
- repeated grafeas.v1.RelatedUrl related_url = 5;
-
- // Time of expiration for this note. Empty if note does not expire.
- google.protobuf.Timestamp expiration_time = 6;
-
- // Output only. The time this note was created. This field can be used as a
- // filter in list requests.
- google.protobuf.Timestamp create_time = 7;
-
- // Output only. The time this note was last updated. This field can be used as
- // a filter in list requests.
- google.protobuf.Timestamp update_time = 8;
-
- // Other notes related to this note.
- repeated string related_note_names = 9;
-
- // Required. Immutable. The type of analysis this note represents.
- oneof type {
- // A note describing a package vulnerability.
- grafeas.v1.VulnerabilityNote vulnerability = 10;
- // A note describing build provenance for a verifiable build.
- grafeas.v1.BuildNote build = 11;
- // A note describing a base image.
- grafeas.v1.ImageNote image = 12;
- // A note describing a package hosted by various package managers.
- grafeas.v1.PackageNote package = 13;
- // A note describing something that can be deployed.
- grafeas.v1.DeploymentNote deployment = 14;
- // A note describing the initial analysis of a resource.
- grafeas.v1.DiscoveryNote discovery = 15;
- // A note describing an attestation role.
- grafeas.v1.AttestationNote attestation = 16;
- // A note describing available package upgrades.
- grafeas.v1.UpgradeNote upgrade = 17;
- // A note describing a compliance check.
- grafeas.v1.ComplianceNote compliance = 18;
- // A note describing a dsse attestation note.
- grafeas.v1.DSSEAttestationNote dsse_attestation = 19;
- }
-}
-
-// Request to get an occurrence.
-message GetOccurrenceRequest {
- // The name of the occurrence in the form of
- // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Occurrence"
- ];
-}
-
-// Request to list occurrences.
-message ListOccurrencesRequest {
- // The name of the project to list occurrences for in the form of
- // `projects/[PROJECT_ID]`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Project"
- ];
-
- // The filter expression.
- string filter = 2;
-
- // Number of occurrences to return in the list. Must be positive. Max allowed
- // page size is 1000. If not specified, page size defaults to 20.
- int32 page_size = 3;
-
- // Token to provide to skip to a particular spot in the list.
- string page_token = 4;
-}
-
-// Response for listing occurrences.
-message ListOccurrencesResponse {
- // The occurrences requested.
- repeated Occurrence occurrences = 1;
- // The next pagination token in the list response. It should be used as
- // `page_token` for the following request. An empty value means no more
- // results.
- string next_page_token = 2;
-}
-
-// Request to delete an occurrence.
-message DeleteOccurrenceRequest {
- // The name of the occurrence in the form of
- // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Occurrence"
- ];
-}
-
-// Request to create a new occurrence.
-message CreateOccurrenceRequest {
- // The name of the project in the form of `projects/[PROJECT_ID]`, under which
- // the occurrence is to be created.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Project"
- ];
- // The occurrence to create.
- Occurrence occurrence = 2 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Request to update an occurrence.
-message UpdateOccurrenceRequest {
- // The name of the occurrence in the form of
- // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Occurrence"
- ];
- // The updated occurrence.
- Occurrence occurrence = 2 [(google.api.field_behavior) = REQUIRED];
- // The fields to update.
- google.protobuf.FieldMask update_mask = 3;
-}
-
-// Request to get a note.
-message GetNoteRequest {
- // The name of the note in the form of
- // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Note"
- ];
-}
-
-// Request to get the note to which the specified occurrence is attached.
-message GetOccurrenceNoteRequest {
- // The name of the occurrence in the form of
- // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Occurrence"
- ];
-}
-
-// Request to list notes.
-message ListNotesRequest {
- // The name of the project to list notes for in the form of
- // `projects/[PROJECT_ID]`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Project"
- ];
-
- // The filter expression.
- string filter = 2;
-
- // Number of notes to return in the list. Must be positive. Max allowed page
- // size is 1000. If not specified, page size defaults to 20.
- int32 page_size = 3;
-
- // Token to provide to skip to a particular spot in the list.
- string page_token = 4;
-}
-
-// Response for listing notes.
-message ListNotesResponse {
- // The notes requested.
- repeated Note notes = 1;
- // The next pagination token in the list response. It should be used as
- // `page_token` for the following request. An empty value means no more
- // results.
- string next_page_token = 2;
-}
-
-// Request to delete a note.
-message DeleteNoteRequest {
- // The name of the note in the form of
- // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Note"
- ];
-}
-
-// Request to create a new note.
-message CreateNoteRequest {
- // The name of the project in the form of `projects/[PROJECT_ID]`, under which
- // the note is to be created.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Project"
- ];
- // The ID to use for this note.
- string note_id = 2 [(google.api.field_behavior) = REQUIRED];
- // The note to create.
- Note note = 3 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Request to update a note.
-message UpdateNoteRequest {
- // The name of the note in the form of
- // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Note"
- ];
- // The updated note.
- Note note = 2 [(google.api.field_behavior) = REQUIRED];
- // The fields to update.
- google.protobuf.FieldMask update_mask = 3;
-}
-
-// Request to list occurrences for a note.
-message ListNoteOccurrencesRequest {
- // The name of the note to list occurrences for in the form of
- // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Note"
- ];
- // The filter expression.
- string filter = 2;
- // Number of occurrences to return in the list.
- int32 page_size = 3;
- // Token to provide to skip to a particular spot in the list.
- string page_token = 4;
-}
-
-// Response for listing occurrences for a note.
-message ListNoteOccurrencesResponse {
- // The occurrences attached to the specified note.
- repeated Occurrence occurrences = 1;
- // Token to provide to skip to a particular spot in the list.
- string next_page_token = 2;
-}
-
-// Request to create notes in batch.
-message BatchCreateNotesRequest {
- // The name of the project in the form of `projects/[PROJECT_ID]`, under which
- // the notes are to be created.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Project"
- ];
-
- // The notes to create. Max allowed length is 1000.
- map<string, Note> notes = 2 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Response for creating notes in batch.
-message BatchCreateNotesResponse {
- // The notes that were created.
- repeated Note notes = 1;
-}
-
-// Request to create occurrences in batch.
-message BatchCreateOccurrencesRequest {
- // The name of the project in the form of `projects/[PROJECT_ID]`, under which
- // the occurrences are to be created.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference).type = "grafeas.io/Project"
- ];
-
- // The occurrences to create. Max allowed length is 1000.
- repeated Occurrence occurrences = 2 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Response for creating occurrences in batch.
-message BatchCreateOccurrencesResponse {
- // The occurrences that were created.
- repeated Occurrence occurrences = 1;
-}