xref: /aosp_15_r20/external/googleapis/google/devtools/artifactregistry/v1/yum_artifact.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.devtools.artifactregistry.v1;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/rpc/status.proto";
22
23option csharp_namespace = "Google.Cloud.ArtifactRegistry.V1";
24option go_package = "cloud.google.com/go/artifactregistry/apiv1/artifactregistrypb;artifactregistrypb";
25option java_multiple_files = true;
26option java_outer_classname = "YumArtifactProto";
27option java_package = "com.google.devtools.artifactregistry.v1";
28option php_namespace = "Google\\Cloud\\ArtifactRegistry\\V1";
29option ruby_package = "Google::Cloud::ArtifactRegistry::V1";
30
31// A detailed representation of a Yum artifact.
32message YumArtifact {
33  option (google.api.resource) = {
34    type: "artifactregistry.googleapis.com/YumArtifact"
35    pattern: "projects/{project}/locations/{location}/repositories/{repository}/yumArtifacts/{yum_artifact}"
36  };
37
38  // Package type is either binary or source.
39  enum PackageType {
40    // Package type is not specified.
41    PACKAGE_TYPE_UNSPECIFIED = 0;
42
43    // Binary package (.rpm).
44    BINARY = 1;
45
46    // Source package (.srpm).
47    SOURCE = 2;
48  }
49
50  // Output only. The Artifact Registry resource name of the artifact.
51  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
52
53  // Output only. The yum package name of the artifact.
54  string package_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
55
56  // Output only. An artifact is a binary or source package.
57  PackageType package_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
58
59  // Output only. Operating system architecture of the artifact.
60  string architecture = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
61}
62
63// Google Cloud Storage location where the artifacts currently reside.
64message ImportYumArtifactsGcsSource {
65  // Cloud Storage paths URI (e.g., gs://my_bucket//my_object).
66  repeated string uris = 1;
67
68  // Supports URI wildcards for matching multiple objects from a single URI.
69  bool use_wildcards = 2;
70}
71
72// The request to import new yum artifacts.
73message ImportYumArtifactsRequest {
74  // The source location of the package binaries.
75  oneof source {
76    // Google Cloud Storage location where input content is located.
77    ImportYumArtifactsGcsSource gcs_source = 2;
78  }
79
80  // The name of the parent resource where the artifacts will be imported.
81  string parent = 1;
82}
83
84// Error information explaining why a package was not imported.
85message ImportYumArtifactsErrorInfo {
86  // The source that was not imported.
87  oneof source {
88    // Google Cloud Storage location requested.
89    ImportYumArtifactsGcsSource gcs_source = 1;
90  }
91
92  // The detailed error status.
93  google.rpc.Status error = 2;
94}
95
96// The response message from importing YUM artifacts.
97message ImportYumArtifactsResponse {
98  // The yum artifacts imported.
99  repeated YumArtifact yum_artifacts = 1;
100
101  // Detailed error info for packages that were not imported.
102  repeated ImportYumArtifactsErrorInfo errors = 2;
103}
104
105// The operation metadata for importing artifacts.
106message ImportYumArtifactsMetadata {}
107