1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.devtools.artifactregistry.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/devtools/artifactregistry/v1/tag.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ArtifactRegistry.V1"; 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/artifactregistry/apiv1/artifactregistrypb;artifactregistrypb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "VersionProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.devtools.artifactregistry.v1"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ArtifactRegistry\\V1"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ArtifactRegistry::V1"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// The view, which determines what version information is returned in a 34*d5c09012SAndroid Build Coastguard Worker// response. 35*d5c09012SAndroid Build Coastguard Workerenum VersionView { 36*d5c09012SAndroid Build Coastguard Worker // The default / unset value. 37*d5c09012SAndroid Build Coastguard Worker // The API will default to the BASIC view. 38*d5c09012SAndroid Build Coastguard Worker VERSION_VIEW_UNSPECIFIED = 0; 39*d5c09012SAndroid Build Coastguard Worker 40*d5c09012SAndroid Build Coastguard Worker // Includes basic information about the version, but not any related tags. 41*d5c09012SAndroid Build Coastguard Worker BASIC = 1; 42*d5c09012SAndroid Build Coastguard Worker 43*d5c09012SAndroid Build Coastguard Worker // Include everything. 44*d5c09012SAndroid Build Coastguard Worker FULL = 2; 45*d5c09012SAndroid Build Coastguard Worker} 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker// The body of a version resource. A version resource represents a 48*d5c09012SAndroid Build Coastguard Worker// collection of components, such as files and other data. This may correspond 49*d5c09012SAndroid Build Coastguard Worker// to a version in many package management schemes. 50*d5c09012SAndroid Build Coastguard Workermessage Version { 51*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 52*d5c09012SAndroid Build Coastguard Worker type: "artifactregistry.googleapis.com/Version" 53*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}" 54*d5c09012SAndroid Build Coastguard Worker }; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // The name of the version, for example: 57*d5c09012SAndroid Build Coastguard Worker // "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1". 58*d5c09012SAndroid Build Coastguard Worker // If the package or version ID parts contain slashes, the slashes are 59*d5c09012SAndroid Build Coastguard Worker // escaped. 60*d5c09012SAndroid Build Coastguard Worker string name = 1; 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // Optional. Description of the version, as specified in its metadata. 63*d5c09012SAndroid Build Coastguard Worker string description = 3; 64*d5c09012SAndroid Build Coastguard Worker 65*d5c09012SAndroid Build Coastguard Worker // The time when the version was created. 66*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 5; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // The time when the version was last updated. 69*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 6; 70*d5c09012SAndroid Build Coastguard Worker 71*d5c09012SAndroid Build Coastguard Worker // Output only. A list of related tags. Will contain up to 100 tags that 72*d5c09012SAndroid Build Coastguard Worker // reference this version. 73*d5c09012SAndroid Build Coastguard Worker repeated Tag related_tags = 7; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // Output only. Repository-specific Metadata stored against this version. 76*d5c09012SAndroid Build Coastguard Worker // The fields returned are defined by the underlying repository-specific 77*d5c09012SAndroid Build Coastguard Worker // resource. Currently, the resources could be: 78*d5c09012SAndroid Build Coastguard Worker // [DockerImage][google.devtools.artifactregistry.v1.DockerImage] 79*d5c09012SAndroid Build Coastguard Worker // [MavenArtifact][google.devtools.artifactregistry.v1.MavenArtifact] 80*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct metadata = 8 81*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 82*d5c09012SAndroid Build Coastguard Worker} 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker// The request to list versions. 85*d5c09012SAndroid Build Coastguard Workermessage ListVersionsRequest { 86*d5c09012SAndroid Build Coastguard Worker // The name of the parent resource whose versions will be listed. 87*d5c09012SAndroid Build Coastguard Worker string parent = 1; 88*d5c09012SAndroid Build Coastguard Worker 89*d5c09012SAndroid Build Coastguard Worker // The maximum number of versions to return. Maximum page size is 1,000. 90*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 91*d5c09012SAndroid Build Coastguard Worker 92*d5c09012SAndroid Build Coastguard Worker // The next_page_token value returned from a previous list request, if any. 93*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 94*d5c09012SAndroid Build Coastguard Worker 95*d5c09012SAndroid Build Coastguard Worker // The view that should be returned in the response. 96*d5c09012SAndroid Build Coastguard Worker VersionView view = 4; 97*d5c09012SAndroid Build Coastguard Worker 98*d5c09012SAndroid Build Coastguard Worker // Optional. The field to order the results by. 99*d5c09012SAndroid Build Coastguard Worker string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; 100*d5c09012SAndroid Build Coastguard Worker} 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker// The response from listing versions. 103*d5c09012SAndroid Build Coastguard Workermessage ListVersionsResponse { 104*d5c09012SAndroid Build Coastguard Worker // The versions returned. 105*d5c09012SAndroid Build Coastguard Worker repeated Version versions = 1; 106*d5c09012SAndroid Build Coastguard Worker 107*d5c09012SAndroid Build Coastguard Worker // The token to retrieve the next page of versions, or empty if there are no 108*d5c09012SAndroid Build Coastguard Worker // more versions to return. 109*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 110*d5c09012SAndroid Build Coastguard Worker} 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker// The request to retrieve a version. 113*d5c09012SAndroid Build Coastguard Workermessage GetVersionRequest { 114*d5c09012SAndroid Build Coastguard Worker // The name of the version to retrieve. 115*d5c09012SAndroid Build Coastguard Worker string name = 1; 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // The view that should be returned in the response. 118*d5c09012SAndroid Build Coastguard Worker VersionView view = 2; 119*d5c09012SAndroid Build Coastguard Worker} 120*d5c09012SAndroid Build Coastguard Worker 121*d5c09012SAndroid Build Coastguard Worker// The request to delete a version. 122*d5c09012SAndroid Build Coastguard Workermessage DeleteVersionRequest { 123*d5c09012SAndroid Build Coastguard Worker // The name of the version to delete. 124*d5c09012SAndroid Build Coastguard Worker string name = 1; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // By default, a version that is tagged may not be deleted. If force=true, the 127*d5c09012SAndroid Build Coastguard Worker // version and any tags pointing to the version are deleted. 128*d5c09012SAndroid Build Coastguard Worker bool force = 2; 129*d5c09012SAndroid Build Coastguard Worker} 130*d5c09012SAndroid Build Coastguard Worker 131*d5c09012SAndroid Build Coastguard Worker// The request to delete multiple versions across a repository. 132*d5c09012SAndroid Build Coastguard Workermessage BatchDeleteVersionsRequest { 133*d5c09012SAndroid Build Coastguard Worker // The name of the repository holding all requested versions. 134*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.resource_reference) = { 135*d5c09012SAndroid Build Coastguard Worker child_type: "artifactregistry.googleapis.com/Version" 136*d5c09012SAndroid Build Coastguard Worker }]; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Required. The names of the versions to delete. 139*d5c09012SAndroid Build Coastguard Worker // A maximum of 10000 versions can be deleted in a batch. 140*d5c09012SAndroid Build Coastguard Worker repeated string names = 2 [ 141*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 142*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 143*d5c09012SAndroid Build Coastguard Worker type: "artifactregistry.googleapis.com/Version" 144*d5c09012SAndroid Build Coastguard Worker } 145*d5c09012SAndroid Build Coastguard Worker ]; 146*d5c09012SAndroid Build Coastguard Worker 147*d5c09012SAndroid Build Coastguard Worker // If true, the request is performed without deleting data, following AIP-163. 148*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3; 149*d5c09012SAndroid Build Coastguard Worker} 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker// The metadata of an LRO from deleting multiple versions. 152*d5c09012SAndroid Build Coastguard Workermessage BatchDeleteVersionsMetadata { 153*d5c09012SAndroid Build Coastguard Worker // The versions the operation failed to delete. 154*d5c09012SAndroid Build Coastguard Worker repeated string failed_versions = 2; 155*d5c09012SAndroid Build Coastguard Worker} 156