From 53be26542490fd5bc23a8c19b6eeabc51a480209 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Mon, 26 Jan 2026 22:07:18 +0000 Subject: [PATCH 1/2] feat: A new field `last_vulnerability_update_time` is added to message `.grafeas.v1.DiscoveryOccurrence` PiperOrigin-RevId: 861286340 Source-Link: https://github.com/googleapis/googleapis/commit/70da46f8ba5c1e8823690a48cc80b985050c371e Source-Link: https://github.com/googleapis/googleapis-gen/commit/dab19f10440dcd33c2b521030e7fe87aff9f9819 Copy-Tag: eyJwIjoiZ3JhZmVhcy12MS8uT3dsQm90LnlhbWwiLCJoIjoiZGFiMTlmMTA0NDBkY2QzM2MyYjUyMTAzMGU3ZmU4N2FmZjlmOTgxOSJ9 --- owl-bot-staging/grafeas-v1/.gitignore | 22 + .../grafeas-v1/.repo-metadata.json | 16 + owl-bot-staging/grafeas-v1/.rubocop.yml | 33 + owl-bot-staging/grafeas-v1/.toys.rb | 28 + owl-bot-staging/grafeas-v1/.yardopts | 11 + owl-bot-staging/grafeas-v1/CHANGELOG.md | 2 + owl-bot-staging/grafeas-v1/Gemfile | 11 + owl-bot-staging/grafeas-v1/LICENSE.md | 201 ++ owl-bot-staging/grafeas-v1/README.md | 142 ++ owl-bot-staging/grafeas-v1/Rakefile | 143 ++ .../grafeas-v1/gapic_metadata.json | 88 + owl-bot-staging/grafeas-v1/grafeas-v1.gemspec | 28 + owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb | 21 + owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb | 36 + .../lib/grafeas/v1/attestation_pb.rb | 44 + .../grafeas-v1/lib/grafeas/v1/build_pb.rb | 46 + .../grafeas-v1/lib/grafeas/v1/common_pb.rb | 47 + .../lib/grafeas/v1/compliance_pb.rb | 44 + .../grafeas-v1/lib/grafeas/v1/cvss_pb.rb | 53 + .../lib/grafeas/v1/deployment_pb.rb | 43 + .../grafeas-v1/lib/grafeas/v1/discovery_pb.rb | 54 + .../lib/grafeas/v1/dsse_attestation_pb.rb | 45 + .../grafeas-v1/lib/grafeas/v1/grafeas.rb | 57 + .../lib/grafeas/v1/grafeas/client.rb | 1808 +++++++++++++++++ .../lib/grafeas/v1/grafeas/paths.rb | 77 + .../grafeas-v1/lib/grafeas/v1/grafeas_pb.rb | 96 + .../lib/grafeas/v1/grafeas_services_pb.rb | 85 + .../grafeas-v1/lib/grafeas/v1/image_pb.rb | 41 + .../lib/grafeas/v1/intoto_provenance_pb.rb | 47 + .../lib/grafeas/v1/intoto_statement_pb.rb | 57 + .../grafeas-v1/lib/grafeas/v1/package_pb.rb | 48 + .../lib/grafeas/v1/provenance_pb.rb | 54 + .../grafeas-v1/lib/grafeas/v1/risk_pb.rb | 40 + .../grafeas-v1/lib/grafeas/v1/sbom_pb.rb | 46 + .../grafeas-v1/lib/grafeas/v1/secret_pb.rb | 51 + .../grafeas-v1/lib/grafeas/v1/severity_pb.rb | 38 + .../lib/grafeas/v1/slsa_provenance_pb.rb | 48 + .../grafeas/v1/slsa_provenance_zero_two_pb.rb | 49 + .../grafeas-v1/lib/grafeas/v1/upgrade_pb.rb | 48 + .../grafeas-v1/lib/grafeas/v1/version.rb | 24 + .../grafeas-v1/lib/grafeas/v1/vex_pb.rb | 49 + .../lib/grafeas/v1/vulnerability_pb.rb | 59 + .../grafeas-v1/proto_docs/README.md | 4 + .../proto_docs/google/api/client.rb | 473 +++++ .../proto_docs/google/api/field_behavior.rb | 85 + .../proto_docs/google/api/launch_stage.rb | 71 + .../proto_docs/google/api/resource.rb | 227 +++ .../proto_docs/google/protobuf/any.rb | 145 ++ .../proto_docs/google/protobuf/duration.rb | 98 + .../proto_docs/google/protobuf/empty.rb | 34 + .../proto_docs/google/protobuf/field_mask.rb | 229 +++ .../proto_docs/google/protobuf/struct.rb | 108 + .../proto_docs/google/protobuf/timestamp.rb | 127 ++ .../proto_docs/google/rpc/status.rb | 48 + .../proto_docs/grafeas/v1/attestation.rb | 98 + .../grafeas-v1/proto_docs/grafeas/v1/build.rb | 70 + .../proto_docs/grafeas/v1/common.rb | 236 +++ .../proto_docs/grafeas/v1/compliance.rb | 107 + .../grafeas-v1/proto_docs/grafeas/v1/cvss.rb | 229 +++ .../proto_docs/grafeas/v1/deployment.rb | 74 + .../proto_docs/grafeas/v1/discovery.rb | 195 ++ .../proto_docs/grafeas/v1/dsse_attestation.rb | 59 + .../proto_docs/grafeas/v1/grafeas.rb | 510 +++++ .../grafeas-v1/proto_docs/grafeas/v1/image.rb | 95 + .../grafeas/v1/intoto_provenance.rb | 134 ++ .../proto_docs/grafeas/v1/intoto_statement.rb | 189 ++ .../proto_docs/grafeas/v1/package.rb | 203 ++ .../proto_docs/grafeas/v1/provenance.rb | 336 +++ .../grafeas-v1/proto_docs/grafeas/v1/risk.rb | 57 + .../grafeas-v1/proto_docs/grafeas/v1/sbom.rb | 105 + .../proto_docs/grafeas/v1/secret.rb | 165 ++ .../proto_docs/grafeas/v1/severity.rb | 43 + .../proto_docs/grafeas/v1/slsa_provenance.rb | 152 ++ .../grafeas/v1/slsa_provenance_zero_two.rb | 131 ++ .../proto_docs/grafeas/v1/upgrade.rb | 148 ++ .../grafeas-v1/proto_docs/grafeas/v1/vex.rb | 237 +++ .../proto_docs/grafeas/v1/vulnerability.rb | 314 +++ owl-bot-staging/grafeas-v1/snippets/Gemfile | 32 + .../snippets/grafeas/batch_create_notes.rb | 47 + .../grafeas/batch_create_occurrences.rb | 47 + .../snippets/grafeas/create_note.rb | 47 + .../snippets/grafeas/create_occurrence.rb | 47 + .../snippets/grafeas/delete_note.rb | 47 + .../snippets/grafeas/delete_occurrence.rb | 47 + .../grafeas-v1/snippets/grafeas/get_note.rb | 47 + .../snippets/grafeas/get_occurrence.rb | 47 + .../snippets/grafeas/get_occurrence_note.rb | 47 + .../snippets/grafeas/list_note_occurrences.rb | 51 + .../grafeas-v1/snippets/grafeas/list_notes.rb | 51 + .../snippets/grafeas/list_occurrences.rb | 51 + .../snippets/grafeas/update_note.rb | 47 + .../snippets/grafeas/update_occurrence.rb | 47 + .../snippets/snippet_metadata_grafeas.v1.json | 575 ++++++ .../test/grafeas/v1/grafeas_paths_test.rb | 79 + .../test/grafeas/v1/grafeas_test.rb | 971 +++++++++ owl-bot-staging/grafeas-v1/test/helper.rb | 25 + 96 files changed, 11868 insertions(+) create mode 100644 owl-bot-staging/grafeas-v1/.gitignore create mode 100644 owl-bot-staging/grafeas-v1/.repo-metadata.json create mode 100644 owl-bot-staging/grafeas-v1/.rubocop.yml create mode 100644 owl-bot-staging/grafeas-v1/.toys.rb create mode 100644 owl-bot-staging/grafeas-v1/.yardopts create mode 100644 owl-bot-staging/grafeas-v1/CHANGELOG.md create mode 100644 owl-bot-staging/grafeas-v1/Gemfile create mode 100644 owl-bot-staging/grafeas-v1/LICENSE.md create mode 100644 owl-bot-staging/grafeas-v1/README.md create mode 100644 owl-bot-staging/grafeas-v1/Rakefile create mode 100644 owl-bot-staging/grafeas-v1/gapic_metadata.json create mode 100644 owl-bot-staging/grafeas-v1/grafeas-v1.gemspec create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/README.md create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb create mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/Gemfile create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb create mode 100644 owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json create mode 100644 owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb create mode 100644 owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb create mode 100644 owl-bot-staging/grafeas-v1/test/helper.rb diff --git a/owl-bot-staging/grafeas-v1/.gitignore b/owl-bot-staging/grafeas-v1/.gitignore new file mode 100644 index 000000000000..0135b6bc6cfc --- /dev/null +++ b/owl-bot-staging/grafeas-v1/.gitignore @@ -0,0 +1,22 @@ +# Ignore bundler lockfiles +Gemfile.lock +gems.locked + +# Ignore documentation output +doc/* +.yardoc/* + +# Ignore test output +coverage/* + +# Ignore build artifacts +pkg/* + +# Ignore files commonly present in certain dev environments +.vagrant +.DS_STORE +.idea +*.iml + +# Ignore synth output +__pycache__ diff --git a/owl-bot-staging/grafeas-v1/.repo-metadata.json b/owl-bot-staging/grafeas-v1/.repo-metadata.json new file mode 100644 index 000000000000..d1fa0d6fa7f7 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/.repo-metadata.json @@ -0,0 +1,16 @@ +{ + "api_id": "containeranalysis.googleapis.com", + "api_shortname": "containeranalysis", + "client_documentation": "https://cloud.google.com/ruby/docs/reference/grafeas-v1/latest", + "distribution_name": "grafeas-v1", + "is_cloud": true, + "language": "ruby", + "name": "containeranalysis", + "name_pretty": "Grafeas V1 API", + "release_level": "unreleased", + "repo": "googleapis/google-cloud-ruby", + "requires_billing": true, + "ruby-cloud-description": "The Grafeas API stores, and enables querying and retrieval of, critical metadata about all of your software artifacts. Note that grafeas-v1 is a version-specific client library. For most uses, we recommend installing the main client library grafeas instead. See the readme for more details.", + "ruby-cloud-env-prefix": "GRAFEAS", + "library_type": "GAPIC_AUTO" +} diff --git a/owl-bot-staging/grafeas-v1/.rubocop.yml b/owl-bot-staging/grafeas-v1/.rubocop.yml new file mode 100644 index 000000000000..34342e2dbb2e --- /dev/null +++ b/owl-bot-staging/grafeas-v1/.rubocop.yml @@ -0,0 +1,33 @@ +inherit_gem: + google-style: google-style.yml + +AllCops: + Exclude: + - "grafeas-v1.gemspec" + - "lib/**/*_pb.rb" + - "proto_docs/**/*" + - "test/**/*" + - "acceptance/**/*" + - "samples/acceptance/**/*" + - "Rakefile" + +Layout/LineLength: + Enabled: false +Metrics/AbcSize: + Enabled: false +Metrics/ClassLength: + Enabled: false +Metrics/CyclomaticComplexity: + Enabled: false +Metrics/MethodLength: + Enabled: false +Metrics/ModuleLength: + Enabled: false +Metrics/PerceivedComplexity: + Enabled: false +Naming/AccessorMethodName: + Exclude: + - "snippets/**/*.rb" +Naming/FileName: + Exclude: + - "lib/grafeas-v1.rb" diff --git a/owl-bot-staging/grafeas-v1/.toys.rb b/owl-bot-staging/grafeas-v1/.toys.rb new file mode 100644 index 000000000000..177e22456e8a --- /dev/null +++ b/owl-bot-staging/grafeas-v1/.toys.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +toys_version! ">= 0.15.3" + +if ENV["RUBY_COMMON_TOOLS"] + common_tools_dir = File.expand_path ENV["RUBY_COMMON_TOOLS"] + load File.join(common_tools_dir, "toys", "gapic") +else + load_git remote: "https://github.com/googleapis/ruby-common-tools.git", + path: "toys/gapic", + update: true +end diff --git a/owl-bot-staging/grafeas-v1/.yardopts b/owl-bot-staging/grafeas-v1/.yardopts new file mode 100644 index 000000000000..095a73abbebf --- /dev/null +++ b/owl-bot-staging/grafeas-v1/.yardopts @@ -0,0 +1,11 @@ +--no-private +--title="Grafeas V1 API" +--exclude _pb\.rb$ +--markup markdown +--markup-provider redcarpet + +./lib/**/*.rb +./proto_docs/**/*.rb +- +README.md +LICENSE.md diff --git a/owl-bot-staging/grafeas-v1/CHANGELOG.md b/owl-bot-staging/grafeas-v1/CHANGELOG.md new file mode 100644 index 000000000000..f88957a62ba2 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/CHANGELOG.md @@ -0,0 +1,2 @@ +# Release History + diff --git a/owl-bot-staging/grafeas-v1/Gemfile b/owl-bot-staging/grafeas-v1/Gemfile new file mode 100644 index 000000000000..6442df18fa2f --- /dev/null +++ b/owl-bot-staging/grafeas-v1/Gemfile @@ -0,0 +1,11 @@ +source "https://rubygems.org" + +gemspec + +gem "google-style", "~> 1.31.1" +gem "minitest", "~> 5.22" +gem "minitest-focus", "~> 1.4" +gem "minitest-rg", "~> 5.3" +gem "rake", ">= 13.0" +gem "redcarpet", "~> 3.6" +gem "yard", "~> 0.9" diff --git a/owl-bot-staging/grafeas-v1/LICENSE.md b/owl-bot-staging/grafeas-v1/LICENSE.md new file mode 100644 index 000000000000..c261857ba6ad --- /dev/null +++ b/owl-bot-staging/grafeas-v1/LICENSE.md @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/owl-bot-staging/grafeas-v1/README.md b/owl-bot-staging/grafeas-v1/README.md new file mode 100644 index 000000000000..8ab5de2c8527 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/README.md @@ -0,0 +1,142 @@ +# Ruby Client for the Grafeas V1 API + +An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts. + +The Grafeas API stores, and enables querying and retrieval of, critical metadata about all of your software artifacts. + +https://github.com/googleapis/google-cloud-ruby + +This gem is a _versioned_ client. It provides basic client classes for a +specific version of the Grafeas V1 API. Most users should consider using +the main client gem, +[grafeas](https://rubygems.org/gems/grafeas). +See the section below titled *Which client should I use?* for more information. + +## Installation + +``` +$ gem install grafeas-v1 +``` + +## Quick Start + +```ruby +require "grafeas/v1" + +client = ::Grafeas::V1::Grafeas::Client.new +request = ::Grafeas::V1::GetOccurrenceRequest.new # (request fields as keyword arguments...) +response = client.get_occurrence request +``` + +View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/grafeas-v1/latest) +for class and method documentation. + +## Debug Logging + +This library comes with opt-in Debug Logging that can help you troubleshoot +your application's integration with the API. When logging is activated, key +events such as requests and responses, along with data payloads and metadata +such as headers and client configuration, are logged to the standard error +stream. + +**WARNING:** Client Library Debug Logging includes your data payloads in +plaintext, which could include sensitive data such as PII for yourself or your +customers, private keys, or other security data that could be compromising if +leaked. Always practice good data hygiene with your application logs, and follow +the principle of least access. Google also recommends that Client Library Debug +Logging be enabled only temporarily during active debugging, and not used +permanently in production. + +To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS` +to the value `all`. Alternatively, you can set the value to a comma-delimited +list of client library gem names. This will select the default logging behavior, +which writes logs to the standard error stream. On a local workstation, this may +result in logs appearing on the console. When running on a Google Cloud hosting +service such as [Google Cloud Run](https://cloud.google.com/run), this generally +results in logs appearing alongside your application logs in the +[Google Cloud Logging](https://cloud.google.com/logging/) service. + +You can customize logging by modifying the `logger` configuration when +constructing a client object. For example: + +```ruby +require "grafeas/v1" +require "logger" + +client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.logger = Logger.new "my-app.log" +end +``` + +## Google Cloud Samples + +To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples). + +## Supported Ruby Versions + +This library is supported on Ruby 3.0+. + +Google provides official support for Ruby versions that are actively supported +by Ruby Core—that is, Ruby versions that are either in normal maintenance or +in security maintenance, and not end of life. Older versions of Ruby _may_ +still work, but are unsupported and not recommended. See +https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby +support schedule. + +## Which client should I use? + +Most modern Ruby client libraries for Google APIs come in two flavors: the main +client library with a name such as `grafeas`, +and lower-level _versioned_ client libraries with names such as +`grafeas-v1`. +_In most cases, you should install the main client._ + +### What's the difference between the main client and a versioned client? + +A _versioned client_ provides a basic set of data types and client classes for +a _single version_ of a specific service. (That is, for a service with multiple +versions, there might be a separate versioned client for each service version.) +Most versioned clients are written and maintained by a code generator. + +The _main client_ is designed to provide you with the _recommended_ client +interfaces for the service. There will be only one main client for any given +service, even a service with multiple versions. The main client includes +factory methods for constructing the client objects we recommend for most +users. In some cases, those will be classes provided by an underlying versioned +client; in other cases, they will be handwritten higher-level client objects +with additional capabilities, convenience methods, or best practices built in. +Generally, the main client will default to a recommended service version, +although in some cases you can override this if you need to talk to a specific +service version. + +### Why would I want to use the main client? + +We recommend that most users install the main client gem for a service. You can +identify this gem as the one _without_ a version in its name, e.g. +`grafeas`. +The main client is recommended because it will embody the best practices for +accessing the service, and may also provide more convenient interfaces or +tighter integration into frameworks and third-party libraries. In addition, the +documentation and samples published by Google will generally demonstrate use of +the main client. + +### Why would I want to use a versioned client? + +You can use a versioned client if you are content with a possibly lower-level +class interface, you explicitly want to avoid features provided by the main +client, or you want to access a specific service version not be covered by the +main client. You can identify versioned client gems because the service version +is part of the name, e.g. `grafeas-v1`. + +### What about the google-apis- clients? + +Client library gems with names that begin with `google-apis-` are based on an +older code generation technology. They talk to a REST/JSON backend (whereas +most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may +not offer the same performance, features, and ease of use provided by more +modern clients. + +The `google-apis-` clients have wide coverage across Google services, so you +might need to use one if there is no modern client available for the service. +However, if a modern client is available, we generally recommend it over the +older `google-apis-` clients. diff --git a/owl-bot-staging/grafeas-v1/Rakefile b/owl-bot-staging/grafeas-v1/Rakefile new file mode 100644 index 000000000000..98a03bfd1e86 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/Rakefile @@ -0,0 +1,143 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "bundler/setup" +require "bundler/gem_tasks" + +require "rubocop/rake_task" +RuboCop::RakeTask.new + +require "rake/testtask" +desc "Run tests." +Rake::TestTask.new do |t| + t.libs << "test" + t.test_files = FileList["test/**/*_test.rb"] + t.warning = false +end + +desc "Runs the smoke tests." +Rake::TestTask.new :smoke_test do |t| + t.test_files = FileList["acceptance/**/*smoke_test.rb"] + t.warning = false +end + +# Acceptance tests +desc "Run the grafeas-v1 acceptance tests." +task :acceptance, :project, :keyfile do |t, args| + Rake::Task["acceptance:run"].invoke +end + +namespace :acceptance do + task :run do + if File.directory? "acceptance" + Rake::Task[:smoke_test].invoke + else + puts "The grafeas-v1 gem has no acceptance tests." + end + end + + desc "Run acceptance cleanup." + task :cleanup do + end +end + +task :samples do + Rake::Task["samples:latest"].invoke +end + +namespace :samples do + task :latest do + if File.directory? "samples" + Dir.chdir "samples" do + Bundler.with_clean_env do + ENV["GOOGLE_CLOUD_SAMPLES_TEST"] = "not_master" + sh "bundle update" + sh "bundle exec rake test" + end + end + else + puts "The grafeas-v1 gem has no samples to test." + end + end + + task :master do + if File.directory? "samples" + Dir.chdir "samples" do + Bundler.with_clean_env do + ENV["GOOGLE_CLOUD_SAMPLES_TEST"] = "master" + sh "bundle update" + sh "bundle exec rake test" + end + end + else + puts "The grafeas-v1 gem has no samples to test." + end + end +end + +require "yard" +require "yard/rake/yardoc_task" +YARD::Rake::YardocTask.new do |y| + y.options << "--fail-on-warning" +end + +desc "Run yard-doctest example tests." +task :doctest do + puts "The grafeas-v1 gem does not have doctest tests." +end + +desc "Run the CI build" +task :ci do + header "BUILDING grafeas-v1" + header "grafeas-v1 rubocop", "*" + Rake::Task[:rubocop].invoke + header "grafeas-v1 yard", "*" + Rake::Task[:yard].invoke + header "grafeas-v1 test", "*" + Rake::Task[:test].invoke +end + +namespace :ci do + desc "Run the CI build, with smoke tests." + task :smoke_test do + Rake::Task[:ci].invoke + header "grafeas-v1 smoke_test", "*" + Rake::Task[:smoke_test].invoke + end + desc "Run the CI build, with acceptance tests." + task :acceptance do + Rake::Task[:ci].invoke + header "grafeas-v1 acceptance", "*" + Rake::Task[:acceptance].invoke + end + task :a do + # This is a handy shortcut to save typing + Rake::Task["ci:acceptance"].invoke + end +end + +task default: :test + +def header str, token = "#" + line_length = str.length + 8 + puts "" + puts token * line_length + puts "#{token * 3} #{str} #{token * 3}" + puts token * line_length + puts "" +end diff --git a/owl-bot-staging/grafeas-v1/gapic_metadata.json b/owl-bot-staging/grafeas-v1/gapic_metadata.json new file mode 100644 index 000000000000..9722caf753b2 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/gapic_metadata.json @@ -0,0 +1,88 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "ruby", + "protoPackage": "grafeas.v1", + "libraryPackage": "::Grafeas::V1", + "services": { + "Grafeas": { + "clients": { + "grpc": { + "libraryClient": "::Grafeas::V1::Grafeas::Client", + "rpcs": { + "GetOccurrence": { + "methods": [ + "get_occurrence" + ] + }, + "ListOccurrences": { + "methods": [ + "list_occurrences" + ] + }, + "DeleteOccurrence": { + "methods": [ + "delete_occurrence" + ] + }, + "CreateOccurrence": { + "methods": [ + "create_occurrence" + ] + }, + "BatchCreateOccurrences": { + "methods": [ + "batch_create_occurrences" + ] + }, + "UpdateOccurrence": { + "methods": [ + "update_occurrence" + ] + }, + "GetOccurrenceNote": { + "methods": [ + "get_occurrence_note" + ] + }, + "GetNote": { + "methods": [ + "get_note" + ] + }, + "ListNotes": { + "methods": [ + "list_notes" + ] + }, + "DeleteNote": { + "methods": [ + "delete_note" + ] + }, + "CreateNote": { + "methods": [ + "create_note" + ] + }, + "BatchCreateNotes": { + "methods": [ + "batch_create_notes" + ] + }, + "UpdateNote": { + "methods": [ + "update_note" + ] + }, + "ListNoteOccurrences": { + "methods": [ + "list_note_occurrences" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/grafeas-v1/grafeas-v1.gemspec b/owl-bot-staging/grafeas-v1/grafeas-v1.gemspec new file mode 100644 index 000000000000..fc4c8fce36e6 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/grafeas-v1.gemspec @@ -0,0 +1,28 @@ +# -*- ruby -*- +# encoding: utf-8 + +require File.expand_path("lib/grafeas/v1/version", __dir__) + +Gem::Specification.new do |gem| + gem.name = "grafeas-v1" + gem.version = Grafeas::V1::VERSION + + gem.authors = ["Google LLC"] + gem.email = "googleapis-packages@google.com" + gem.description = "The Grafeas API stores, and enables querying and retrieval of, critical metadata about all of your software artifacts. Note that grafeas-v1 is a version-specific client library. For most uses, we recommend installing the main client library grafeas instead. See the readme for more details." + gem.summary = "An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts." + gem.homepage = "https://github.com/googleapis/google-cloud-ruby" + gem.license = "Apache-2.0" + + gem.platform = Gem::Platform::RUBY + + gem.files = `git ls-files -- lib/*`.split("\n") + + `git ls-files -- proto_docs/*`.split("\n") + + ["README.md", "LICENSE.md", ".yardopts"] + gem.require_paths = ["lib"] + + gem.required_ruby_version = ">= 3.1" + + gem.add_dependency "gapic-common", "~> 1.2" + gem.add_dependency "google-cloud-errors", "~> 1.0" +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb b/owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb new file mode 100644 index 000000000000..05b00fa8d69e --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# This gem does not autoload during Bundler.require. To load this gem, +# issue explicit require statements for the packages desired, e.g.: +# require "grafeas/v1" diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb new file mode 100644 index 000000000000..0449a2645755 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "grafeas/v1/grafeas" +require "grafeas/v1/version" + +module Grafeas + ## + # API client module. + # + # @example Load this package, including all its services, and instantiate a gRPC client + # + # require "grafeas/v1" + # client = ::Grafeas::V1::Grafeas::Client.new + # + module V1 + end +end + +helper_path = ::File.join __dir__, "v1", "_helpers.rb" +require "grafeas/v1/_helpers" if ::File.file? helper_path diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb new file mode 100644 index 000000000000..b74eb339b9fc --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/attestation.proto + +require 'google/protobuf' + +require 'grafeas/v1/common_pb' + + +descriptor_data = "\n\x1cgrafeas/v1/attestation.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\"f\n\x0f\x41ttestationNote\x12.\n\x04hint\x18\x01 \x01(\x0b\x32 .grafeas.v1.AttestationNote.Hint\x1a#\n\x04Hint\x12\x1b\n\x13human_readable_name\x18\x01 \x01(\t\"\x1a\n\x03Jwt\x12\x13\n\x0b\x63ompact_jwt\x18\x01 \x01(\t\"}\n\x15\x41ttestationOccurrence\x12\x1a\n\x12serialized_payload\x18\x01 \x01(\x0c\x12)\n\nsignatures\x18\x02 \x03(\x0b\x32\x15.grafeas.v1.Signature\x12\x1d\n\x04jwts\x18\x03 \x03(\x0b\x32\x0f.grafeas.v1.JwtBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.Signature", "grafeas/v1/common.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + AttestationNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AttestationNote").msgclass + AttestationNote::Hint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AttestationNote.Hint").msgclass + Jwt = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Jwt").msgclass + AttestationOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AttestationOccurrence").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb new file mode 100644 index 000000000000..e2ccef7ddfc0 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/build.proto + +require 'google/protobuf' + +require 'grafeas/v1/intoto_provenance_pb' +require 'grafeas/v1/intoto_statement_pb' +require 'grafeas/v1/provenance_pb' + + +descriptor_data = "\n\x16grafeas/v1/build.proto\x12\ngrafeas.v1\x1a\"grafeas/v1/intoto_provenance.proto\x1a!grafeas/v1/intoto_statement.proto\x1a\x1bgrafeas/v1/provenance.proto\"$\n\tBuildNote\x12\x17\n\x0f\x62uilder_version\x18\x01 \x01(\t\"\x94\x02\n\x0f\x42uildOccurrence\x12/\n\nprovenance\x18\x01 \x01(\x0b\x32\x1b.grafeas.v1.BuildProvenance\x12\x18\n\x10provenance_bytes\x18\x02 \x01(\t\x12\x37\n\x11intoto_provenance\x18\x03 \x01(\x0b\x32\x1c.grafeas.v1.InTotoProvenance\x12\x35\n\x10intoto_statement\x18\x04 \x01(\x0b\x32\x1b.grafeas.v1.InTotoStatement\x12\x46\n\x1ain_toto_slsa_provenance_v1\x18\x05 \x01(\x0b\x32\".grafeas.v1.InTotoSlsaProvenanceV1BQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.BuildProvenance", "grafeas/v1/provenance.proto"], + ["grafeas.v1.InTotoProvenance", "grafeas/v1/intoto_provenance.proto"], + ["grafeas.v1.InTotoStatement", "grafeas/v1/intoto_statement.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + BuildNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuildNote").msgclass + BuildOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuildOccurrence").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb new file mode 100644 index 000000000000..24364691394a --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/common.proto + +require 'google/protobuf' + + +descriptor_data = "\n\x17grafeas/v1/common.proto\x12\ngrafeas.v1\"(\n\nRelatedUrl\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\"5\n\tSignature\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x15\n\rpublic_key_id\x18\x02 \x01(\t\"d\n\x08\x45nvelope\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x14\n\x0cpayload_type\x18\x02 \x01(\t\x12\x31\n\nsignatures\x18\x03 \x03(\x0b\x32\x1d.grafeas.v1.EnvelopeSignature\"/\n\x11\x45nvelopeSignature\x12\x0b\n\x03sig\x18\x01 \x01(\x0c\x12\r\n\x05keyid\x18\x02 \x01(\t\"R\n\x0c\x46ileLocation\x12\x11\n\tfile_path\x18\x01 \x01(\t\x12/\n\rlayer_details\x18\x02 \x01(\x0b\x32\x18.grafeas.v1.LayerDetails\"B\n\tBaseImage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nrepository\x18\x02 \x01(\t\x12\x13\n\x0blayer_count\x18\x03 \x01(\x05\"}\n\x0cLayerDetails\x12\r\n\x05index\x18\x01 \x01(\x05\x12\x0f\n\x07\x64iff_id\x18\x02 \x01(\t\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x03 \x01(\t\x12*\n\x0b\x62\x61se_images\x18\x04 \x03(\x0b\x32\x15.grafeas.v1.BaseImage\"/\n\x07License\x12\x12\n\nexpression\x18\x01 \x01(\t\x12\x10\n\x08\x63omments\x18\x02 \x01(\t\",\n\x06\x44igest\x12\x0c\n\x04\x61lgo\x18\x01 \x01(\t\x12\x14\n\x0c\x64igest_bytes\x18\x02 \x01(\x0c*\xfc\x01\n\x08NoteKind\x12\x19\n\x15NOTE_KIND_UNSPECIFIED\x10\x00\x12\x11\n\rVULNERABILITY\x10\x01\x12\t\n\x05\x42UILD\x10\x02\x12\t\n\x05IMAGE\x10\x03\x12\x0b\n\x07PACKAGE\x10\x04\x12\x0e\n\nDEPLOYMENT\x10\x05\x12\r\n\tDISCOVERY\x10\x06\x12\x0f\n\x0b\x41TTESTATION\x10\x07\x12\x0b\n\x07UPGRADE\x10\x08\x12\x0e\n\nCOMPLIANCE\x10\t\x12\x14\n\x10\x44SSE_ATTESTATION\x10\n\x12\x1c\n\x18VULNERABILITY_ASSESSMENT\x10\x0b\x12\x12\n\x0eSBOM_REFERENCE\x10\x0c\x12\n\n\x06SECRET\x10\rBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + RelatedUrl = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.RelatedUrl").msgclass + Signature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Signature").msgclass + Envelope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Envelope").msgclass + EnvelopeSignature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.EnvelopeSignature").msgclass + FileLocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.FileLocation").msgclass + BaseImage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BaseImage").msgclass + LayerDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.LayerDetails").msgclass + License = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.License").msgclass + Digest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Digest").msgclass + NoteKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.NoteKind").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb new file mode 100644 index 000000000000..c5bc261be2b2 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/compliance.proto + +require 'google/protobuf' + +require 'grafeas/v1/severity_pb' + + +descriptor_data = "\n\x1bgrafeas/v1/compliance.proto\x12\ngrafeas.v1\x1a\x19grafeas/v1/severity.proto\"\xf1\x02\n\x0e\x43omplianceNote\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\x07version\x18\x03 \x03(\x0b\x32\x1d.grafeas.v1.ComplianceVersion\x12\x11\n\trationale\x18\x04 \x01(\t\x12\x13\n\x0bremediation\x18\x05 \x01(\t\x12@\n\rcis_benchmark\x18\x06 \x01(\x0b\x32\'.grafeas.v1.ComplianceNote.CisBenchmarkH\x00\x12\x19\n\x11scan_instructions\x18\x07 \x01(\x0c\x12\x10\n\x06impact\x18\x08 \x01(\tH\x01\x1aM\n\x0c\x43isBenchmark\x12\x15\n\rprofile_level\x18\x01 \x01(\x05\x12&\n\x08severity\x18\x02 \x01(\x0e\x32\x14.grafeas.v1.SeverityB\x11\n\x0f\x63ompliance_typeB\x12\n\x10potential_impact\"Q\n\x11\x43omplianceVersion\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x65nchmark_document\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\xa0\x01\n\x14\x43omplianceOccurrence\x12\x39\n\x13non_compliant_files\x18\x02 \x03(\x0b\x32\x1c.grafeas.v1.NonCompliantFile\x12\x1d\n\x15non_compliance_reason\x18\x03 \x01(\t\x12.\n\x07version\x18\x04 \x01(\x0b\x32\x1d.grafeas.v1.ComplianceVersion\"I\n\x10NonCompliantFile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x17\n\x0f\x64isplay_command\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + ComplianceNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceNote").msgclass + ComplianceNote::CisBenchmark = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceNote.CisBenchmark").msgclass + ComplianceVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceVersion").msgclass + ComplianceOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceOccurrence").msgclass + NonCompliantFile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.NonCompliantFile").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb new file mode 100644 index 000000000000..8af7251b5fda --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/cvss.proto + +require 'google/protobuf' + + +descriptor_data = "\n\x15grafeas/v1/cvss.proto\x12\ngrafeas.v1\"\xc5\t\n\x06\x43VSSv3\x12\x12\n\nbase_score\x18\x01 \x01(\x02\x12\x1c\n\x14\x65xploitability_score\x18\x02 \x01(\x02\x12\x14\n\x0cimpact_score\x18\x03 \x01(\x02\x12\x36\n\rattack_vector\x18\x05 \x01(\x0e\x32\x1f.grafeas.v1.CVSSv3.AttackVector\x12>\n\x11\x61ttack_complexity\x18\x06 \x01(\x0e\x32#.grafeas.v1.CVSSv3.AttackComplexity\x12\x42\n\x13privileges_required\x18\x07 \x01(\x0e\x32%.grafeas.v1.CVSSv3.PrivilegesRequired\x12<\n\x10user_interaction\x18\x08 \x01(\x0e\x32\".grafeas.v1.CVSSv3.UserInteraction\x12\'\n\x05scope\x18\t \x01(\x0e\x32\x18.grafeas.v1.CVSSv3.Scope\x12\x39\n\x16\x63onfidentiality_impact\x18\n \x01(\x0e\x32\x19.grafeas.v1.CVSSv3.Impact\x12\x33\n\x10integrity_impact\x18\x0b \x01(\x0e\x32\x19.grafeas.v1.CVSSv3.Impact\x12\x36\n\x13\x61vailability_impact\x18\x0c \x01(\x0e\x32\x19.grafeas.v1.CVSSv3.Impact\"\x99\x01\n\x0c\x41ttackVector\x12\x1d\n\x19\x41TTACK_VECTOR_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_VECTOR_NETWORK\x10\x01\x12\x1a\n\x16\x41TTACK_VECTOR_ADJACENT\x10\x02\x12\x17\n\x13\x41TTACK_VECTOR_LOCAL\x10\x03\x12\x1a\n\x16\x41TTACK_VECTOR_PHYSICAL\x10\x04\"l\n\x10\x41ttackComplexity\x12!\n\x1d\x41TTACK_COMPLEXITY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_COMPLEXITY_LOW\x10\x01\x12\x1a\n\x16\x41TTACK_COMPLEXITY_HIGH\x10\x02\"\x92\x01\n\x12PrivilegesRequired\x12#\n\x1fPRIVILEGES_REQUIRED_UNSPECIFIED\x10\x00\x12\x1c\n\x18PRIVILEGES_REQUIRED_NONE\x10\x01\x12\x1b\n\x17PRIVILEGES_REQUIRED_LOW\x10\x02\x12\x1c\n\x18PRIVILEGES_REQUIRED_HIGH\x10\x03\"m\n\x0fUserInteraction\x12 \n\x1cUSER_INTERACTION_UNSPECIFIED\x10\x00\x12\x19\n\x15USER_INTERACTION_NONE\x10\x01\x12\x1d\n\x19USER_INTERACTION_REQUIRED\x10\x02\"F\n\x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSCOPE_UNCHANGED\x10\x01\x12\x11\n\rSCOPE_CHANGED\x10\x02\"R\n\x06Impact\x12\x16\n\x12IMPACT_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIMPACT_HIGH\x10\x01\x12\x0e\n\nIMPACT_LOW\x10\x02\x12\x0f\n\x0bIMPACT_NONE\x10\x03\"\xb8\x0b\n\x04\x43VSS\x12\x12\n\nbase_score\x18\x01 \x01(\x02\x12\x1c\n\x14\x65xploitability_score\x18\x02 \x01(\x02\x12\x14\n\x0cimpact_score\x18\x03 \x01(\x02\x12\x34\n\rattack_vector\x18\x04 \x01(\x0e\x32\x1d.grafeas.v1.CVSS.AttackVector\x12<\n\x11\x61ttack_complexity\x18\x05 \x01(\x0e\x32!.grafeas.v1.CVSS.AttackComplexity\x12\x37\n\x0e\x61uthentication\x18\x06 \x01(\x0e\x32\x1f.grafeas.v1.CVSS.Authentication\x12@\n\x13privileges_required\x18\x07 \x01(\x0e\x32#.grafeas.v1.CVSS.PrivilegesRequired\x12:\n\x10user_interaction\x18\x08 \x01(\x0e\x32 .grafeas.v1.CVSS.UserInteraction\x12%\n\x05scope\x18\t \x01(\x0e\x32\x16.grafeas.v1.CVSS.Scope\x12\x37\n\x16\x63onfidentiality_impact\x18\n \x01(\x0e\x32\x17.grafeas.v1.CVSS.Impact\x12\x31\n\x10integrity_impact\x18\x0b \x01(\x0e\x32\x17.grafeas.v1.CVSS.Impact\x12\x34\n\x13\x61vailability_impact\x18\x0c \x01(\x0e\x32\x17.grafeas.v1.CVSS.Impact\"\x99\x01\n\x0c\x41ttackVector\x12\x1d\n\x19\x41TTACK_VECTOR_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_VECTOR_NETWORK\x10\x01\x12\x1a\n\x16\x41TTACK_VECTOR_ADJACENT\x10\x02\x12\x17\n\x13\x41TTACK_VECTOR_LOCAL\x10\x03\x12\x1a\n\x16\x41TTACK_VECTOR_PHYSICAL\x10\x04\"\x8a\x01\n\x10\x41ttackComplexity\x12!\n\x1d\x41TTACK_COMPLEXITY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_COMPLEXITY_LOW\x10\x01\x12\x1a\n\x16\x41TTACK_COMPLEXITY_HIGH\x10\x02\x12\x1c\n\x18\x41TTACK_COMPLEXITY_MEDIUM\x10\x03\"\x81\x01\n\x0e\x41uthentication\x12\x1e\n\x1a\x41UTHENTICATION_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x41UTHENTICATION_MULTIPLE\x10\x01\x12\x19\n\x15\x41UTHENTICATION_SINGLE\x10\x02\x12\x17\n\x13\x41UTHENTICATION_NONE\x10\x03\"\x92\x01\n\x12PrivilegesRequired\x12#\n\x1fPRIVILEGES_REQUIRED_UNSPECIFIED\x10\x00\x12\x1c\n\x18PRIVILEGES_REQUIRED_NONE\x10\x01\x12\x1b\n\x17PRIVILEGES_REQUIRED_LOW\x10\x02\x12\x1c\n\x18PRIVILEGES_REQUIRED_HIGH\x10\x03\"m\n\x0fUserInteraction\x12 \n\x1cUSER_INTERACTION_UNSPECIFIED\x10\x00\x12\x19\n\x15USER_INTERACTION_NONE\x10\x01\x12\x1d\n\x19USER_INTERACTION_REQUIRED\x10\x02\"F\n\x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSCOPE_UNCHANGED\x10\x01\x12\x11\n\rSCOPE_CHANGED\x10\x02\"{\n\x06Impact\x12\x16\n\x12IMPACT_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIMPACT_HIGH\x10\x01\x12\x0e\n\nIMPACT_LOW\x10\x02\x12\x0f\n\x0bIMPACT_NONE\x10\x03\x12\x12\n\x0eIMPACT_PARTIAL\x10\x04\x12\x13\n\x0fIMPACT_COMPLETE\x10\x05*S\n\x0b\x43VSSVersion\x12\x1c\n\x18\x43VSS_VERSION_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43VSS_VERSION_2\x10\x01\x12\x12\n\x0e\x43VSS_VERSION_3\x10\x02\x42\\\n\rio.grafeas.v1B\tCVSSProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + CVSSv3 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3").msgclass + CVSSv3::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.AttackVector").enummodule + CVSSv3::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.AttackComplexity").enummodule + CVSSv3::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.PrivilegesRequired").enummodule + CVSSv3::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.UserInteraction").enummodule + CVSSv3::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.Scope").enummodule + CVSSv3::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.Impact").enummodule + CVSS = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS").msgclass + CVSS::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.AttackVector").enummodule + CVSS::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.AttackComplexity").enummodule + CVSS::Authentication = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.Authentication").enummodule + CVSS::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.PrivilegesRequired").enummodule + CVSS::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.UserInteraction").enummodule + CVSS::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.Scope").enummodule + CVSS::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.Impact").enummodule + CVSSVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSVersion").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb new file mode 100644 index 000000000000..5917db6684b0 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/deployment.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n\x1bgrafeas/v1/deployment.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"&\n\x0e\x44\x65ploymentNote\x12\x14\n\x0cresource_uri\x18\x01 \x03(\t\"\xc7\x02\n\x14\x44\x65ploymentOccurrence\x12\x12\n\nuser_email\x18\x01 \x01(\t\x12/\n\x0b\x64\x65ploy_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rundeploy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x63onfig\x18\x04 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x05 \x01(\t\x12\x14\n\x0cresource_uri\x18\x06 \x03(\t\x12;\n\x08platform\x18\x07 \x01(\x0e\x32).grafeas.v1.DeploymentOccurrence.Platform\"C\n\x08Platform\x12\x18\n\x14PLATFORM_UNSPECIFIED\x10\x00\x12\x07\n\x03GKE\x10\x01\x12\x08\n\x04\x46LEX\x10\x02\x12\n\n\x06\x43USTOM\x10\x03\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + DeploymentNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeploymentNote").msgclass + DeploymentOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeploymentOccurrence").msgclass + DeploymentOccurrence::Platform = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeploymentOccurrence.Platform").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb new file mode 100644 index 000000000000..b9e2f2e48602 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/discovery.proto + +require 'google/protobuf' + +require 'google/api/field_behavior_pb' +require 'google/protobuf/timestamp_pb' +require 'google/rpc/status_pb' +require 'grafeas/v1/common_pb' + + +descriptor_data = "\n\x1agrafeas/v1/discovery.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x17grafeas/v1/common.proto\"<\n\rDiscoveryNote\x12+\n\ranalysis_kind\x18\x01 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\"\xfd\x0c\n\x13\x44iscoveryOccurrence\x12O\n\x13\x63ontinuous_analysis\x18\x01 \x01(\x0e\x32\x32.grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis\x12G\n\x0f\x61nalysis_status\x18\x02 \x01(\x0e\x32..grafeas.v1.DiscoveryOccurrence.AnalysisStatus\x12M\n\x12\x61nalysis_completed\x18\x07 \x01(\x0b\x32\x31.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted\x12*\n\x0e\x61nalysis_error\x18\x08 \x03(\x0b\x32\x12.google.rpc.Status\x12\x31\n\x15\x61nalysis_status_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03\x63pe\x18\x04 \x01(\t\x12\x32\n\x0elast_scan_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0c\x61rchive_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12?\n\x0bsbom_status\x18\t \x01(\x0b\x32*.grafeas.v1.DiscoveryOccurrence.SBOMStatus\x12[\n\x19vulnerability_attestation\x18\n \x01(\x0b\x32\x38.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation\x12\x33\n\x05\x66iles\x18\x0b \x03(\x0b\x32$.grafeas.v1.DiscoveryOccurrence.File\x12\x42\n\x1elast_vulnerability_update_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a*\n\x11\x41nalysisCompleted\x12\x15\n\ranalysis_type\x18\x01 \x03(\t\x1a\xa9\x01\n\nSBOMStatus\x12H\n\nsbom_state\x18\x01 \x01(\x0e\x32\x34.grafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"B\n\tSBOMState\x12\x1a\n\x16SBOM_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x1a\xb3\x02\n\x18VulnerabilityAttestation\x12\x35\n\x11last_attempt_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x65\n\x05state\x18\x02 \x01(\x0e\x32V.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"j\n\x1dVulnerabilityAttestationState\x12/\n+VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x1a\x85\x01\n\x04\x46ile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06\x64igest\x18\x02 \x03(\x0b\x32\x30.grafeas.v1.DiscoveryOccurrence.File.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x12\x43ontinuousAnalysis\x12#\n\x1f\x43ONTINUOUS_ANALYSIS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"\xa3\x01\n\x0e\x41nalysisStatus\x12\x1f\n\x1b\x41NALYSIS_STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08SCANNING\x10\x02\x12\x14\n\x10\x46INISHED_SUCCESS\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x03\x12\x13\n\x0f\x46INISHED_FAILED\x10\x04\x12\x18\n\x14\x46INISHED_UNSUPPORTED\x10\x05\x1a\x02\x10\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.rpc.Status", "google/rpc/status.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + DiscoveryNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryNote").msgclass + DiscoveryOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence").msgclass + DiscoveryOccurrence::AnalysisCompleted = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.AnalysisCompleted").msgclass + DiscoveryOccurrence::SBOMStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.SBOMStatus").msgclass + DiscoveryOccurrence::SBOMStatus::SBOMState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState").enummodule + DiscoveryOccurrence::VulnerabilityAttestation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation").msgclass + DiscoveryOccurrence::VulnerabilityAttestation::VulnerabilityAttestationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState").enummodule + DiscoveryOccurrence::File = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.File").msgclass + DiscoveryOccurrence::ContinuousAnalysis = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis").enummodule + DiscoveryOccurrence::AnalysisStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.AnalysisStatus").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb new file mode 100644 index 000000000000..8f2cf6a9c37d --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/dsse_attestation.proto + +require 'google/protobuf' + +require 'grafeas/v1/common_pb' +require 'grafeas/v1/intoto_statement_pb' + + +descriptor_data = "\n!grafeas/v1/dsse_attestation.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\x1a!grafeas/v1/intoto_statement.proto\"v\n\x13\x44SSEAttestationNote\x12\x36\n\x04hint\x18\x01 \x01(\x0b\x32(.grafeas.v1.DSSEAttestationNote.DSSEHint\x1a\'\n\x08\x44SSEHint\x12\x1b\n\x13human_readable_name\x18\x01 \x01(\t\"\x88\x01\n\x19\x44SSEAttestationOccurrence\x12&\n\x08\x65nvelope\x18\x01 \x01(\x0b\x32\x14.grafeas.v1.Envelope\x12\x30\n\tstatement\x18\x02 \x01(\x0b\x32\x1b.grafeas.v1.InTotoStatementH\x00\x42\x11\n\x0f\x64\x65\x63oded_payloadBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.Envelope", "grafeas/v1/common.proto"], + ["grafeas.v1.InTotoStatement", "grafeas/v1/intoto_statement.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + DSSEAttestationNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DSSEAttestationNote").msgclass + DSSEAttestationNote::DSSEHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DSSEAttestationNote.DSSEHint").msgclass + DSSEAttestationOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DSSEAttestationOccurrence").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb new file mode 100644 index 000000000000..9210c381b5f8 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "gapic/common" +require "gapic/config" +require "gapic/config/method" + +require "grafeas/v1/version" + +require "grafeas/v1/grafeas/paths" +require "grafeas/v1/grafeas/client" + +module Grafeas + module V1 + ## + # [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. + # + # @example Load this service and instantiate a gRPC client + # + # require "grafeas/v1/grafeas" + # client = ::Grafeas::V1::Grafeas::Client.new + # + module Grafeas + end + end +end + +helper_path = ::File.join __dir__, "grafeas", "helpers.rb" +require "grafeas/v1/grafeas/helpers" if ::File.file? helper_path diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb new file mode 100644 index 000000000000..8c994d359958 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb @@ -0,0 +1,1808 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "google/cloud/errors" +require "grafeas/v1/grafeas_pb" + +module Grafeas + module V1 + module Grafeas + ## + # Client for the Grafeas service. + # + # [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. + # + class Client + # @private + API_VERSION = "" + + # @private + DEFAULT_ENDPOINT_TEMPLATE = nil + + include Paths + + # @private + attr_reader :grafeas_stub + + ## + # Configure the Grafeas Client class. + # + # See {::Grafeas::V1::Grafeas::Client::Configuration} + # for a description of the configuration fields. + # + # @example + # + # # Modify the configuration for all Grafeas clients + # ::Grafeas::V1::Grafeas::Client.configure do |config| + # config.timeout = 10.0 + # end + # + # @yield [config] Configure the Client client. + # @yieldparam config [Client::Configuration] + # + # @return [Client::Configuration] + # + def self.configure + @configure ||= begin + namespace = ["Grafeas", "V1"] + parent_config = while namespace.any? + parent_name = namespace.join "::" + parent_const = const_get parent_name + break parent_const.configure if parent_const.respond_to? :configure + namespace.pop + end + default_config = Client::Configuration.new parent_config + + default_config.rpcs.get_occurrence.timeout = 30.0 + default_config.rpcs.get_occurrence.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.list_occurrences.timeout = 30.0 + default_config.rpcs.list_occurrences.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.delete_occurrence.timeout = 30.0 + default_config.rpcs.delete_occurrence.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.create_occurrence.timeout = 30.0 + + default_config.rpcs.batch_create_occurrences.timeout = 30.0 + + default_config.rpcs.update_occurrence.timeout = 30.0 + + default_config.rpcs.get_occurrence_note.timeout = 30.0 + default_config.rpcs.get_occurrence_note.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.get_note.timeout = 30.0 + default_config.rpcs.get_note.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.list_notes.timeout = 30.0 + default_config.rpcs.list_notes.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.delete_note.timeout = 30.0 + default_config.rpcs.delete_note.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config.rpcs.create_note.timeout = 30.0 + + default_config.rpcs.batch_create_notes.timeout = 30.0 + + default_config.rpcs.update_note.timeout = 30.0 + + default_config.rpcs.list_note_occurrences.timeout = 30.0 + default_config.rpcs.list_note_occurrences.retry_policy = { + initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] + } + + default_config + end + yield @configure if block_given? + @configure + end + + ## + # Configure the Grafeas Client instance. + # + # The configuration is set to the derived mode, meaning that values can be changed, + # but structural changes (adding new fields, etc.) are not allowed. Structural changes + # should be made on {Client.configure}. + # + # See {::Grafeas::V1::Grafeas::Client::Configuration} + # for a description of the configuration fields. + # + # @yield [config] Configure the Client client. + # @yieldparam config [Client::Configuration] + # + # @return [Client::Configuration] + # + def configure + yield @config if block_given? + @config + end + + ## + # The effective universe domain + # + # @return [String] + # + def universe_domain + @grafeas_stub.universe_domain + end + + ## + # Create a new Grafeas client object. + # + # @example + # + # # Create a client using the default configuration + # client = ::Grafeas::V1::Grafeas::Client.new + # + # # Create a client using a custom configuration + # client = ::Grafeas::V1::Grafeas::Client.new do |config| + # config.timeout = 10.0 + # end + # + # @yield [config] Configure the Grafeas client. + # @yieldparam config [Client::Configuration] + # + def initialize + # These require statements are intentionally placed here to initialize + # the gRPC module only when it's required. + # See https://github.com/googleapis/toolkit/issues/446 + require "gapic/grpc" + require "grafeas/v1/grafeas_services_pb" + + # Create the configuration object + @config = Configuration.new Client.configure + + # Yield the configuration if needed + yield @config if block_given? + + # Create credentials + credentials = @config.credentials + @quota_project_id = @config.quota_project + @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id + + @grafeas_stub = ::Gapic::ServiceStub.new( + ::Grafeas::V1::Grafeas::Stub, + credentials: credentials, + endpoint: @config.endpoint, + endpoint_template: DEFAULT_ENDPOINT_TEMPLATE, + universe_domain: @config.universe_domain, + channel_args: @config.channel_args, + interceptors: @config.interceptors, + channel_pool_config: @config.channel_pool, + logger: @config.logger + ) + + @grafeas_stub.stub_logger&.info do |entry| + entry.set_system_name + entry.set_service + entry.message = "Created client for #{entry.service}" + entry.set_credentials_fields credentials + entry.set "customEndpoint", @config.endpoint if @config.endpoint + entry.set "defaultTimeout", @config.timeout if @config.timeout + entry.set "quotaProject", @quota_project_id if @quota_project_id + end + end + + ## + # The logger used for request/response debug logging. + # + # @return [Logger] + # + def logger + @grafeas_stub.logger + end + + # Service calls + + ## + # Gets the specified occurrence. + # + # @overload get_occurrence(request, options = nil) + # Pass arguments to `get_occurrence` via a request object, either of type + # {::Grafeas::V1::GetOccurrenceRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::GetOccurrenceRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload get_occurrence(name: nil) + # Pass arguments to `get_occurrence` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Occurrence] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Occurrence] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::GetOccurrenceRequest.new + # + # # Call the get_occurrence method. + # result = client.get_occurrence request + # + # # The returned object is of type Grafeas::V1::Occurrence. + # p result + # + def get_occurrence request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::GetOccurrenceRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.get_occurrence.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.get_occurrence.timeout, + metadata: metadata, + retry_policy: @config.rpcs.get_occurrence.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :get_occurrence, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Lists occurrences for the specified project. + # + # @overload list_occurrences(request, options = nil) + # Pass arguments to `list_occurrences` via a request object, either of type + # {::Grafeas::V1::ListOccurrencesRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::ListOccurrencesRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload list_occurrences(parent: nil, filter: nil, page_size: nil, page_token: nil, return_partial_success: nil) + # Pass arguments to `list_occurrences` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # The name of the project to list occurrences for in the form of + # `projects/[PROJECT_ID]`. + # @param filter [::String] + # The filter expression. + # @param page_size [::Integer] + # 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. + # @param page_token [::String] + # Token to provide to skip to a particular spot in the list. + # @param return_partial_success [::Boolean] + # If set, the request will return all reachable Occurrences + # and report all unreachable regions in the `unreachable` field in + # the response. + # + # Only applicable for requests in the global region. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::ListOccurrencesRequest.new + # + # # Call the list_occurrences method. + # result = client.list_occurrences request + # + # # The returned object is of type Gapic::PagedEnumerable. You can iterate + # # over elements, and API calls will be issued to fetch pages as needed. + # result.each do |item| + # # Each element is of type ::Grafeas::V1::Occurrence. + # p item + # end + # + def list_occurrences request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::ListOccurrencesRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.list_occurrences.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.list_occurrences.timeout, + metadata: metadata, + retry_policy: @config.rpcs.list_occurrences.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :list_occurrences, request, options: options do |response, operation| + response = ::Gapic::PagedEnumerable.new @grafeas_stub, :list_occurrences, request, response, operation, options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Deletes the specified occurrence. For example, use this method to delete an + # occurrence when the occurrence is no longer applicable for the given + # resource. + # + # @overload delete_occurrence(request, options = nil) + # Pass arguments to `delete_occurrence` via a request object, either of type + # {::Grafeas::V1::DeleteOccurrenceRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::DeleteOccurrenceRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload delete_occurrence(name: nil) + # Pass arguments to `delete_occurrence` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Protobuf::Empty] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Protobuf::Empty] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::DeleteOccurrenceRequest.new + # + # # Call the delete_occurrence method. + # result = client.delete_occurrence request + # + # # The returned object is of type Google::Protobuf::Empty. + # p result + # + def delete_occurrence request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::DeleteOccurrenceRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.delete_occurrence.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.delete_occurrence.timeout, + metadata: metadata, + retry_policy: @config.rpcs.delete_occurrence.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :delete_occurrence, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Creates a new occurrence. + # + # @overload create_occurrence(request, options = nil) + # Pass arguments to `create_occurrence` via a request object, either of type + # {::Grafeas::V1::CreateOccurrenceRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::CreateOccurrenceRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload create_occurrence(parent: nil, occurrence: nil) + # Pass arguments to `create_occurrence` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the occurrence is to be created. + # @param occurrence [::Grafeas::V1::Occurrence, ::Hash] + # The occurrence to create. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Occurrence] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Occurrence] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::CreateOccurrenceRequest.new + # + # # Call the create_occurrence method. + # result = client.create_occurrence request + # + # # The returned object is of type Grafeas::V1::Occurrence. + # p result + # + def create_occurrence request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::CreateOccurrenceRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.create_occurrence.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.create_occurrence.timeout, + metadata: metadata, + retry_policy: @config.rpcs.create_occurrence.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :create_occurrence, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Creates new occurrences in batch. + # + # @overload batch_create_occurrences(request, options = nil) + # Pass arguments to `batch_create_occurrences` via a request object, either of type + # {::Grafeas::V1::BatchCreateOccurrencesRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::BatchCreateOccurrencesRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload batch_create_occurrences(parent: nil, occurrences: nil) + # Pass arguments to `batch_create_occurrences` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the occurrences are to be created. + # @param occurrences [::Array<::Grafeas::V1::Occurrence, ::Hash>] + # The occurrences to create. Max allowed length is 1000. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::BatchCreateOccurrencesResponse] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::BatchCreateOccurrencesResponse] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::BatchCreateOccurrencesRequest.new + # + # # Call the batch_create_occurrences method. + # result = client.batch_create_occurrences request + # + # # The returned object is of type Grafeas::V1::BatchCreateOccurrencesResponse. + # p result + # + def batch_create_occurrences request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::BatchCreateOccurrencesRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.batch_create_occurrences.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.batch_create_occurrences.timeout, + metadata: metadata, + retry_policy: @config.rpcs.batch_create_occurrences.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :batch_create_occurrences, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the specified occurrence. + # + # @overload update_occurrence(request, options = nil) + # Pass arguments to `update_occurrence` via a request object, either of type + # {::Grafeas::V1::UpdateOccurrenceRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::UpdateOccurrenceRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload update_occurrence(name: nil, occurrence: nil, update_mask: nil) + # Pass arguments to `update_occurrence` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + # @param occurrence [::Grafeas::V1::Occurrence, ::Hash] + # The updated occurrence. + # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] + # The fields to update. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Occurrence] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Occurrence] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::UpdateOccurrenceRequest.new + # + # # Call the update_occurrence method. + # result = client.update_occurrence request + # + # # The returned object is of type Grafeas::V1::Occurrence. + # p result + # + def update_occurrence request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::UpdateOccurrenceRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.update_occurrence.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.update_occurrence.timeout, + metadata: metadata, + retry_policy: @config.rpcs.update_occurrence.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :update_occurrence, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Gets the note attached to the specified occurrence. Consumer projects can + # use this method to get a note that belongs to a provider project. + # + # @overload get_occurrence_note(request, options = nil) + # Pass arguments to `get_occurrence_note` via a request object, either of type + # {::Grafeas::V1::GetOccurrenceNoteRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::GetOccurrenceNoteRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload get_occurrence_note(name: nil) + # Pass arguments to `get_occurrence_note` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Note] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Note] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::GetOccurrenceNoteRequest.new + # + # # Call the get_occurrence_note method. + # result = client.get_occurrence_note request + # + # # The returned object is of type Grafeas::V1::Note. + # p result + # + def get_occurrence_note request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::GetOccurrenceNoteRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.get_occurrence_note.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.get_occurrence_note.timeout, + metadata: metadata, + retry_policy: @config.rpcs.get_occurrence_note.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :get_occurrence_note, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Gets the specified note. + # + # @overload get_note(request, options = nil) + # Pass arguments to `get_note` via a request object, either of type + # {::Grafeas::V1::GetNoteRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::GetNoteRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload get_note(name: nil) + # Pass arguments to `get_note` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Note] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Note] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::GetNoteRequest.new + # + # # Call the get_note method. + # result = client.get_note request + # + # # The returned object is of type Grafeas::V1::Note. + # p result + # + def get_note request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::GetNoteRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.get_note.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.get_note.timeout, + metadata: metadata, + retry_policy: @config.rpcs.get_note.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :get_note, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Lists notes for the specified project. + # + # @overload list_notes(request, options = nil) + # Pass arguments to `list_notes` via a request object, either of type + # {::Grafeas::V1::ListNotesRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::ListNotesRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload list_notes(parent: nil, filter: nil, page_size: nil, page_token: nil, return_partial_success: nil) + # Pass arguments to `list_notes` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # The name of the project to list notes for in the form of + # `projects/[PROJECT_ID]`. + # @param filter [::String] + # The filter expression. + # @param page_size [::Integer] + # 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. + # @param page_token [::String] + # Token to provide to skip to a particular spot in the list. + # @param return_partial_success [::Boolean] + # If set, the request will return all reachable Notes + # and report all unreachable regions in the `unreachable` field in + # the response. + # + # Only applicable for requests in the global region. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::PagedEnumerable<::Grafeas::V1::Note>] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::PagedEnumerable<::Grafeas::V1::Note>] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::ListNotesRequest.new + # + # # Call the list_notes method. + # result = client.list_notes request + # + # # The returned object is of type Gapic::PagedEnumerable. You can iterate + # # over elements, and API calls will be issued to fetch pages as needed. + # result.each do |item| + # # Each element is of type ::Grafeas::V1::Note. + # p item + # end + # + def list_notes request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::ListNotesRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.list_notes.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.list_notes.timeout, + metadata: metadata, + retry_policy: @config.rpcs.list_notes.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :list_notes, request, options: options do |response, operation| + response = ::Gapic::PagedEnumerable.new @grafeas_stub, :list_notes, request, response, operation, options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Deletes the specified note. + # + # @overload delete_note(request, options = nil) + # Pass arguments to `delete_note` via a request object, either of type + # {::Grafeas::V1::DeleteNoteRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::DeleteNoteRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload delete_note(name: nil) + # Pass arguments to `delete_note` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Protobuf::Empty] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Protobuf::Empty] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::DeleteNoteRequest.new + # + # # Call the delete_note method. + # result = client.delete_note request + # + # # The returned object is of type Google::Protobuf::Empty. + # p result + # + def delete_note request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::DeleteNoteRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.delete_note.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.delete_note.timeout, + metadata: metadata, + retry_policy: @config.rpcs.delete_note.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :delete_note, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Creates a new note. + # + # @overload create_note(request, options = nil) + # Pass arguments to `create_note` via a request object, either of type + # {::Grafeas::V1::CreateNoteRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::CreateNoteRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload create_note(parent: nil, note_id: nil, note: nil) + # Pass arguments to `create_note` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the note is to be created. + # @param note_id [::String] + # The ID to use for this note. + # @param note [::Grafeas::V1::Note, ::Hash] + # The note to create. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Note] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Note] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::CreateNoteRequest.new + # + # # Call the create_note method. + # result = client.create_note request + # + # # The returned object is of type Grafeas::V1::Note. + # p result + # + def create_note request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::CreateNoteRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.create_note.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.create_note.timeout, + metadata: metadata, + retry_policy: @config.rpcs.create_note.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :create_note, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Creates new notes in batch. + # + # @overload batch_create_notes(request, options = nil) + # Pass arguments to `batch_create_notes` via a request object, either of type + # {::Grafeas::V1::BatchCreateNotesRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::BatchCreateNotesRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload batch_create_notes(parent: nil, notes: nil) + # Pass arguments to `batch_create_notes` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param parent [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the notes are to be created. + # @param notes [::Hash{::String => ::Grafeas::V1::Note, ::Hash}] + # The notes to create. Max allowed length is 1000. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::BatchCreateNotesResponse] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::BatchCreateNotesResponse] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::BatchCreateNotesRequest.new + # + # # Call the batch_create_notes method. + # result = client.batch_create_notes request + # + # # The returned object is of type Grafeas::V1::BatchCreateNotesResponse. + # p result + # + def batch_create_notes request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::BatchCreateNotesRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.batch_create_notes.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.batch_create_notes.timeout, + metadata: metadata, + retry_policy: @config.rpcs.batch_create_notes.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :batch_create_notes, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the specified note. + # + # @overload update_note(request, options = nil) + # Pass arguments to `update_note` via a request object, either of type + # {::Grafeas::V1::UpdateNoteRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::UpdateNoteRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload update_note(name: nil, note: nil, update_mask: nil) + # Pass arguments to `update_note` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # @param note [::Grafeas::V1::Note, ::Hash] + # The updated note. + # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] + # The fields to update. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Grafeas::V1::Note] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Grafeas::V1::Note] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::UpdateNoteRequest.new + # + # # Call the update_note method. + # result = client.update_note request + # + # # The returned object is of type Grafeas::V1::Note. + # p result + # + def update_note request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::UpdateNoteRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.update_note.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.update_note.timeout, + metadata: metadata, + retry_policy: @config.rpcs.update_note.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :update_note, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Lists occurrences referencing the specified note. Provider projects can use + # this method to get all occurrences across consumer projects referencing the + # specified note. + # + # @overload list_note_occurrences(request, options = nil) + # Pass arguments to `list_note_occurrences` via a request object, either of type + # {::Grafeas::V1::ListNoteOccurrencesRequest} or an equivalent Hash. + # + # @param request [::Grafeas::V1::ListNoteOccurrencesRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload list_note_occurrences(name: nil, filter: nil, page_size: nil, page_token: nil) + # Pass arguments to `list_note_occurrences` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # The name of the note to list occurrences for in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # @param filter [::String] + # The filter expression. + # @param page_size [::Integer] + # Number of occurrences to return in the list. + # @param page_token [::String] + # Token to provide to skip to a particular spot in the list. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "grafeas/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Grafeas::V1::Grafeas::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Grafeas::V1::ListNoteOccurrencesRequest.new + # + # # Call the list_note_occurrences method. + # result = client.list_note_occurrences request + # + # # The returned object is of type Gapic::PagedEnumerable. You can iterate + # # over elements, and API calls will be issued to fetch pages as needed. + # result.each do |item| + # # Each element is of type ::Grafeas::V1::Occurrence. + # p item + # end + # + def list_note_occurrences request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::ListNoteOccurrencesRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.list_note_occurrences.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Grafeas::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.list_note_occurrences.timeout, + metadata: metadata, + retry_policy: @config.rpcs.list_note_occurrences.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @grafeas_stub.call_rpc :list_note_occurrences, request, options: options do |response, operation| + response = ::Gapic::PagedEnumerable.new @grafeas_stub, :list_note_occurrences, request, response, operation, options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Configuration class for the Grafeas API. + # + # This class represents the configuration for Grafeas, + # providing control over timeouts, retry behavior, logging, transport + # parameters, and other low-level controls. Certain parameters can also be + # applied individually to specific RPCs. See + # {::Grafeas::V1::Grafeas::Client::Configuration::Rpcs} + # for a list of RPCs that can be configured independently. + # + # Configuration can be applied globally to all clients, or to a single client + # on construction. + # + # @example + # + # # Modify the global config, setting the timeout for + # # get_occurrence to 20 seconds, + # # and all remaining timeouts to 10 seconds. + # ::Grafeas::V1::Grafeas::Client.configure do |config| + # config.timeout = 10.0 + # config.rpcs.get_occurrence.timeout = 20.0 + # end + # + # # Apply the above configuration only to a new client. + # client = ::Grafeas::V1::Grafeas::Client.new do |config| + # config.timeout = 10.0 + # config.rpcs.get_occurrence.timeout = 20.0 + # end + # + # @!attribute [rw] endpoint + # A custom service endpoint, as a hostname or hostname:port. The default is + # nil, indicating to use the default endpoint in the current universe domain. + # @return [::String,nil] + # @!attribute [rw] credentials + # Credentials to send with calls. You may provide any of the following types: + # * (`Google::Auth::Credentials`) A googleauth credentials object + # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials)) + # * (`Signet::OAuth2::Client`) A signet oauth2 client object + # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client)) + # * (`GRPC::Core::Channel`) a gRPC channel with included credentials + # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object + # * (`nil`) indicating no credentials + # + # @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials + # is deprecated. Providing an unvalidated credential configuration to + # Google APIs can compromise the security of your systems and data. + # + # @example + # + # # The recommended way to provide credentials is to use the `make_creds` method + # # on the appropriate credentials class for your environment. + # + # require "googleauth" + # + # credentials = ::Google::Auth::ServiceAccountCredentials.make_creds( + # json_key_io: ::File.open("/path/to/keyfile.json") + # ) + # + # client = ::Grafeas::V1::Grafeas::Client.new do |config| + # config.credentials = credentials + # end + # + # @note Warning: If you accept a credential configuration (JSON file or Hash) from an + # external source for authentication to Google Cloud, you must validate it before + # providing it to a Google API client library. Providing an unvalidated credential + # configuration to Google APIs can compromise the security of your systems and data. + # For more information, refer to [Validate credential configurations from external + # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials). + # @return [::Object] + # @!attribute [rw] scope + # The OAuth scopes + # @return [::Array<::String>] + # @!attribute [rw] lib_name + # The library name as recorded in instrumentation and logging + # @return [::String] + # @!attribute [rw] lib_version + # The library version as recorded in instrumentation and logging + # @return [::String] + # @!attribute [rw] channel_args + # Extra parameters passed to the gRPC channel. Note: this is ignored if a + # `GRPC::Core::Channel` object is provided as the credential. + # @return [::Hash] + # @!attribute [rw] interceptors + # An array of interceptors that are run before calls are executed. + # @return [::Array<::GRPC::ClientInterceptor>] + # @!attribute [rw] timeout + # The call timeout in seconds. + # @return [::Numeric] + # @!attribute [rw] metadata + # Additional gRPC headers to be sent with the call. + # @return [::Hash{::Symbol=>::String}] + # @!attribute [rw] retry_policy + # The retry policy. The value is a hash with the following keys: + # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. + # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. + # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. + # * `:retry_codes` (*type:* `Array`) - The error codes that should + # trigger a retry. + # @return [::Hash] + # @!attribute [rw] quota_project + # A separate project against which to charge quota. + # @return [::String] + # @!attribute [rw] universe_domain + # The universe domain within which to make requests. This determines the + # default endpoint URL. The default value of nil uses the environment + # universe (usually the default "googleapis.com" universe). + # @return [::String,nil] + # @!attribute [rw] logger + # A custom logger to use for request/response debug logging, or the value + # `:default` (the default) to construct a default logger, or `nil` to + # explicitly disable logging. + # @return [::Logger,:default,nil] + # + class Configuration + extend ::Gapic::Config + + # @private + # The endpoint specific to the default "googleapis.com" universe. Deprecated. + DEFAULT_ENDPOINT = nil + + config_attr :endpoint, nil, ::String, nil + config_attr :credentials, nil do |value| + allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil] + allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel + allowed.any? { |klass| klass === value } + end + config_attr :scope, nil, ::String, ::Array, nil + config_attr :lib_name, nil, ::String, nil + config_attr :lib_version, nil, ::String, nil + config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil) + config_attr :interceptors, nil, ::Array, nil + config_attr :timeout, nil, ::Numeric, nil + config_attr :metadata, nil, ::Hash, nil + config_attr :retry_policy, nil, ::Hash, ::Proc, nil + config_attr :quota_project, nil, ::String, nil + config_attr :universe_domain, nil, ::String, nil + config_attr :logger, :default, ::Logger, nil, :default + + # @private + def initialize parent_config = nil + @parent_config = parent_config unless parent_config.nil? + + yield self if block_given? + end + + ## + # Configurations for individual RPCs + # @return [Rpcs] + # + def rpcs + @rpcs ||= begin + parent_rpcs = nil + parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs) + Rpcs.new parent_rpcs + end + end + + ## + # Configuration for the channel pool + # @return [::Gapic::ServiceStub::ChannelPool::Configuration] + # + def channel_pool + @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new + end + + ## + # Configuration RPC class for the Grafeas API. + # + # Includes fields providing the configuration for each RPC in this service. + # Each configuration object is of type `Gapic::Config::Method` and includes + # the following configuration fields: + # + # * `timeout` (*type:* `Numeric`) - The call timeout in seconds + # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers + # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields + # include the following keys: + # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. + # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. + # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. + # * `:retry_codes` (*type:* `Array`) - The error codes that should + # trigger a retry. + # + class Rpcs + ## + # RPC-specific configuration for `get_occurrence` + # @return [::Gapic::Config::Method] + # + attr_reader :get_occurrence + ## + # RPC-specific configuration for `list_occurrences` + # @return [::Gapic::Config::Method] + # + attr_reader :list_occurrences + ## + # RPC-specific configuration for `delete_occurrence` + # @return [::Gapic::Config::Method] + # + attr_reader :delete_occurrence + ## + # RPC-specific configuration for `create_occurrence` + # @return [::Gapic::Config::Method] + # + attr_reader :create_occurrence + ## + # RPC-specific configuration for `batch_create_occurrences` + # @return [::Gapic::Config::Method] + # + attr_reader :batch_create_occurrences + ## + # RPC-specific configuration for `update_occurrence` + # @return [::Gapic::Config::Method] + # + attr_reader :update_occurrence + ## + # RPC-specific configuration for `get_occurrence_note` + # @return [::Gapic::Config::Method] + # + attr_reader :get_occurrence_note + ## + # RPC-specific configuration for `get_note` + # @return [::Gapic::Config::Method] + # + attr_reader :get_note + ## + # RPC-specific configuration for `list_notes` + # @return [::Gapic::Config::Method] + # + attr_reader :list_notes + ## + # RPC-specific configuration for `delete_note` + # @return [::Gapic::Config::Method] + # + attr_reader :delete_note + ## + # RPC-specific configuration for `create_note` + # @return [::Gapic::Config::Method] + # + attr_reader :create_note + ## + # RPC-specific configuration for `batch_create_notes` + # @return [::Gapic::Config::Method] + # + attr_reader :batch_create_notes + ## + # RPC-specific configuration for `update_note` + # @return [::Gapic::Config::Method] + # + attr_reader :update_note + ## + # RPC-specific configuration for `list_note_occurrences` + # @return [::Gapic::Config::Method] + # + attr_reader :list_note_occurrences + + # @private + def initialize parent_rpcs = nil + get_occurrence_config = parent_rpcs.get_occurrence if parent_rpcs.respond_to? :get_occurrence + @get_occurrence = ::Gapic::Config::Method.new get_occurrence_config + list_occurrences_config = parent_rpcs.list_occurrences if parent_rpcs.respond_to? :list_occurrences + @list_occurrences = ::Gapic::Config::Method.new list_occurrences_config + delete_occurrence_config = parent_rpcs.delete_occurrence if parent_rpcs.respond_to? :delete_occurrence + @delete_occurrence = ::Gapic::Config::Method.new delete_occurrence_config + create_occurrence_config = parent_rpcs.create_occurrence if parent_rpcs.respond_to? :create_occurrence + @create_occurrence = ::Gapic::Config::Method.new create_occurrence_config + batch_create_occurrences_config = parent_rpcs.batch_create_occurrences if parent_rpcs.respond_to? :batch_create_occurrences + @batch_create_occurrences = ::Gapic::Config::Method.new batch_create_occurrences_config + update_occurrence_config = parent_rpcs.update_occurrence if parent_rpcs.respond_to? :update_occurrence + @update_occurrence = ::Gapic::Config::Method.new update_occurrence_config + get_occurrence_note_config = parent_rpcs.get_occurrence_note if parent_rpcs.respond_to? :get_occurrence_note + @get_occurrence_note = ::Gapic::Config::Method.new get_occurrence_note_config + get_note_config = parent_rpcs.get_note if parent_rpcs.respond_to? :get_note + @get_note = ::Gapic::Config::Method.new get_note_config + list_notes_config = parent_rpcs.list_notes if parent_rpcs.respond_to? :list_notes + @list_notes = ::Gapic::Config::Method.new list_notes_config + delete_note_config = parent_rpcs.delete_note if parent_rpcs.respond_to? :delete_note + @delete_note = ::Gapic::Config::Method.new delete_note_config + create_note_config = parent_rpcs.create_note if parent_rpcs.respond_to? :create_note + @create_note = ::Gapic::Config::Method.new create_note_config + batch_create_notes_config = parent_rpcs.batch_create_notes if parent_rpcs.respond_to? :batch_create_notes + @batch_create_notes = ::Gapic::Config::Method.new batch_create_notes_config + update_note_config = parent_rpcs.update_note if parent_rpcs.respond_to? :update_note + @update_note = ::Gapic::Config::Method.new update_note_config + list_note_occurrences_config = parent_rpcs.list_note_occurrences if parent_rpcs.respond_to? :list_note_occurrences + @list_note_occurrences = ::Gapic::Config::Method.new list_note_occurrences_config + + yield self if block_given? + end + end + end + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb new file mode 100644 index 000000000000..60475490d391 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + module Grafeas + # Path helper methods for the Grafeas API. + module Paths + ## + # Create a fully-qualified Note resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/notes/{note}` + # + # @param project [String] + # @param note [String] + # + # @return [::String] + def note_path project:, note: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + + "projects/#{project}/notes/#{note}" + end + + ## + # Create a fully-qualified Occurrence resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/occurrences/{occurrence}` + # + # @param project [String] + # @param occurrence [String] + # + # @return [::String] + def occurrence_path project:, occurrence: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + + "projects/#{project}/occurrences/#{occurrence}" + end + + ## + # Create a fully-qualified Project resource string. + # + # The resource will be in the following format: + # + # `projects/{project}` + # + # @param project [String] + # + # @return [::String] + def project_path project: + "projects/#{project}" + end + + extend self + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb new file mode 100644 index 000000000000..44bb67e4f5c4 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb @@ -0,0 +1,96 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/grafeas.proto + +require 'google/protobuf' + +require 'google/api/annotations_pb' +require 'google/api/client_pb' +require 'google/api/field_behavior_pb' +require 'google/api/resource_pb' +require 'google/protobuf/empty_pb' +require 'google/protobuf/field_mask_pb' +require 'google/protobuf/timestamp_pb' +require 'grafeas/v1/attestation_pb' +require 'grafeas/v1/build_pb' +require 'grafeas/v1/common_pb' +require 'grafeas/v1/compliance_pb' +require 'grafeas/v1/deployment_pb' +require 'grafeas/v1/discovery_pb' +require 'grafeas/v1/dsse_attestation_pb' +require 'grafeas/v1/image_pb' +require 'grafeas/v1/package_pb' +require 'grafeas/v1/sbom_pb' +require 'grafeas/v1/secret_pb' +require 'grafeas/v1/upgrade_pb' +require 'grafeas/v1/vex_pb' +require 'grafeas/v1/vulnerability_pb' + + +descriptor_data = "\n\x18grafeas/v1/grafeas.proto\x12\ngrafeas.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgrafeas/v1/attestation.proto\x1a\x16grafeas/v1/build.proto\x1a\x17grafeas/v1/common.proto\x1a\x1bgrafeas/v1/compliance.proto\x1a\x1bgrafeas/v1/deployment.proto\x1a\x1agrafeas/v1/discovery.proto\x1a!grafeas/v1/dsse_attestation.proto\x1a\x16grafeas/v1/image.proto\x1a\x18grafeas/v1/package.proto\x1a\x15grafeas/v1/sbom.proto\x1a\x17grafeas/v1/secret.proto\x1a\x18grafeas/v1/upgrade.proto\x1a\x14grafeas/v1/vex.proto\x1a\x1egrafeas/v1/vulnerability.proto\"\xea\x07\n\nOccurrence\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x11\n\tnote_name\x18\x03 \x01(\t\x12\"\n\x04kind\x18\x04 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\x12\x13\n\x0bremediation\x18\x05 \x01(\t\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\rvulnerability\x18\x08 \x01(\x0b\x32#.grafeas.v1.VulnerabilityOccurrenceH\x00\x12,\n\x05\x62uild\x18\t \x01(\x0b\x32\x1b.grafeas.v1.BuildOccurrenceH\x00\x12,\n\x05image\x18\n \x01(\x0b\x32\x1b.grafeas.v1.ImageOccurrenceH\x00\x12\x30\n\x07package\x18\x0b \x01(\x0b\x32\x1d.grafeas.v1.PackageOccurrenceH\x00\x12\x36\n\ndeployment\x18\x0c \x01(\x0b\x32 .grafeas.v1.DeploymentOccurrenceH\x00\x12\x34\n\tdiscovery\x18\r \x01(\x0b\x32\x1f.grafeas.v1.DiscoveryOccurrenceH\x00\x12\x38\n\x0b\x61ttestation\x18\x0e \x01(\x0b\x32!.grafeas.v1.AttestationOccurrenceH\x00\x12\x30\n\x07upgrade\x18\x0f \x01(\x0b\x32\x1d.grafeas.v1.UpgradeOccurrenceH\x00\x12\x36\n\ncompliance\x18\x10 \x01(\x0b\x32 .grafeas.v1.ComplianceOccurrenceH\x00\x12\x41\n\x10\x64sse_attestation\x18\x11 \x01(\x0b\x32%.grafeas.v1.DSSEAttestationOccurrenceH\x00\x12=\n\x0esbom_reference\x18\x13 \x01(\x0b\x32#.grafeas.v1.SBOMReferenceOccurrenceH\x00\x12.\n\x06secret\x18\x14 \x01(\x0b\x32\x1c.grafeas.v1.SecretOccurrenceH\x00\x12&\n\x08\x65nvelope\x18\x12 \x01(\x0b\x32\x14.grafeas.v1.Envelope:G\xea\x41\x44\n\x15grafeas.io/Occurrence\x12+projects/{project}/occurrences/{occurrence}B\t\n\x07\x64\x65tails\"\xa1\x08\n\x04Note\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x12\"\n\x04kind\x18\x04 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\x12+\n\x0brelated_url\x18\x05 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12\x33\n\x0f\x65xpiration_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12related_note_names\x18\t \x03(\t\x12\x36\n\rvulnerability\x18\n \x01(\x0b\x32\x1d.grafeas.v1.VulnerabilityNoteH\x00\x12&\n\x05\x62uild\x18\x0b \x01(\x0b\x32\x15.grafeas.v1.BuildNoteH\x00\x12&\n\x05image\x18\x0c \x01(\x0b\x32\x15.grafeas.v1.ImageNoteH\x00\x12*\n\x07package\x18\r \x01(\x0b\x32\x17.grafeas.v1.PackageNoteH\x00\x12\x30\n\ndeployment\x18\x0e \x01(\x0b\x32\x1a.grafeas.v1.DeploymentNoteH\x00\x12.\n\tdiscovery\x18\x0f \x01(\x0b\x32\x19.grafeas.v1.DiscoveryNoteH\x00\x12\x32\n\x0b\x61ttestation\x18\x10 \x01(\x0b\x32\x1b.grafeas.v1.AttestationNoteH\x00\x12*\n\x07upgrade\x18\x11 \x01(\x0b\x32\x17.grafeas.v1.UpgradeNoteH\x00\x12\x30\n\ncompliance\x18\x12 \x01(\x0b\x32\x1a.grafeas.v1.ComplianceNoteH\x00\x12;\n\x10\x64sse_attestation\x18\x13 \x01(\x0b\x32\x1f.grafeas.v1.DSSEAttestationNoteH\x00\x12K\n\x18vulnerability_assessment\x18\x14 \x01(\x0b\x32\'.grafeas.v1.VulnerabilityAssessmentNoteH\x00\x12\x37\n\x0esbom_reference\x18\x15 \x01(\x0b\x32\x1d.grafeas.v1.SBOMReferenceNoteH\x00\x12(\n\x06secret\x18\x16 \x01(\x0b\x32\x16.grafeas.v1.SecretNoteH\x00:5\xea\x41\x32\n\x0fgrafeas.io/Note\x12\x1fprojects/{project}/notes/{note}B\x06\n\x04type\"C\n\x14GetOccurrenceRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\"\x9b\x01\n\x16ListOccurrencesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x1e\n\x16return_partial_success\x18\x05 \x01(\x08\"y\n\x17ListOccurrencesResponse\x12+\n\x0boccurrences\x18\x01 \x03(\x0b\x32\x16.grafeas.v1.Occurrence\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x18\n\x0bunreachable\x18\x03 \x03(\tB\x03\xe0\x41\x06\"F\n\x17\x44\x65leteOccurrenceRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\"v\n\x17\x43reateOccurrenceRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12/\n\noccurrence\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.OccurrenceB\x03\xe0\x41\x02\"\xa8\x01\n\x17UpdateOccurrenceRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\x12/\n\noccurrence\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.OccurrenceB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"7\n\x0eGetNoteRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\"G\n\x18GetOccurrenceNoteRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\"\x95\x01\n\x10ListNotesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x1e\n\x16return_partial_success\x18\x05 \x01(\x08\"g\n\x11ListNotesResponse\x12\x1f\n\x05notes\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Note\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x18\n\x0bunreachable\x18\x03 \x03(\tB\x03\xe0\x41\x06\":\n\x11\x44\x65leteNoteRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\"z\n\x11\x43reateNoteRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x14\n\x07note_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12#\n\x04note\x18\x03 \x01(\x0b\x32\x10.grafeas.v1.NoteB\x03\xe0\x41\x02\"\x90\x01\n\x11UpdateNoteRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\x12#\n\x04note\x18\x02 \x01(\x0b\x32\x10.grafeas.v1.NoteB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"z\n\x1aListNoteOccurrencesRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"c\n\x1bListNoteOccurrencesResponse\x12+\n\x0boccurrences\x18\x01 \x03(\x0b\x32\x16.grafeas.v1.Occurrence\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc9\x01\n\x17\x42\x61tchCreateNotesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x42\n\x05notes\x18\x02 \x03(\x0b\x32..grafeas.v1.BatchCreateNotesRequest.NotesEntryB\x03\xe0\x41\x02\x1a>\n\nNotesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.grafeas.v1.Note:\x02\x38\x01\";\n\x18\x42\x61tchCreateNotesResponse\x12\x1f\n\x05notes\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Note\"}\n\x1d\x42\x61tchCreateOccurrencesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x30\n\x0boccurrences\x18\x02 \x03(\x0b\x32\x16.grafeas.v1.OccurrenceB\x03\xe0\x41\x02\"M\n\x1e\x42\x61tchCreateOccurrencesResponse\x12+\n\x0boccurrences\x18\x01 \x03(\x0b\x32\x16.grafeas.v1.Occurrence2\x8d\x16\n\x07Grafeas\x12\xb0\x01\n\rGetOccurrence\x12 .grafeas.v1.GetOccurrenceRequest\x1a\x16.grafeas.v1.Occurrence\"e\xda\x41\x04name\x82\xd3\xe4\x93\x02X\x12#/v1/{name=projects/*/occurrences/*}Z1\x12//v1/{name=projects/*/locations/*/occurrences/*}\x12\xca\x01\n\x0fListOccurrences\x12\".grafeas.v1.ListOccurrencesRequest\x1a#.grafeas.v1.ListOccurrencesResponse\"n\xda\x41\rparent,filter\x82\xd3\xe4\x93\x02X\x12#/v1/{parent=projects/*}/occurrencesZ1\x12//v1/{parent=projects/*/locations/*}/occurrences\x12\xb6\x01\n\x10\x44\x65leteOccurrence\x12#.grafeas.v1.DeleteOccurrenceRequest\x1a\x16.google.protobuf.Empty\"e\xda\x41\x04name\x82\xd3\xe4\x93\x02X*#/v1/{name=projects/*/occurrences/*}Z1*//v1/{name=projects/*/locations/*/occurrences/*}\x12\xdc\x01\n\x10\x43reateOccurrence\x12#.grafeas.v1.CreateOccurrenceRequest\x1a\x16.grafeas.v1.Occurrence\"\x8a\x01\xda\x41\x11parent,occurrence\x82\xd3\xe4\x93\x02p\"#/v1/{parent=projects/*}/occurrences:\noccurrenceZ=\"//v1/{parent=projects/*/locations/*}/occurrences:\noccurrence\x12\x83\x02\n\x16\x42\x61tchCreateOccurrences\x12).grafeas.v1.BatchCreateOccurrencesRequest\x1a*.grafeas.v1.BatchCreateOccurrencesResponse\"\x91\x01\xda\x41\x12parent,occurrences\x82\xd3\xe4\x93\x02v\"//v1/{parent=projects/*}/occurrences:batchCreate:\x01*Z@\";/v1/{parent=projects/*/locations/*}/occurrences:batchCreate:\x01*\x12\xe6\x01\n\x10UpdateOccurrence\x12#.grafeas.v1.UpdateOccurrenceRequest\x1a\x16.grafeas.v1.Occurrence\"\x94\x01\xda\x41\x1bname,occurrence,update_mask\x82\xd3\xe4\x93\x02p2#/v1/{name=projects/*/occurrences/*}:\noccurrenceZ=2//v1/{name=projects/*/locations/*/occurrences/*}:\noccurrence\x12\xbe\x01\n\x11GetOccurrenceNote\x12$.grafeas.v1.GetOccurrenceNoteRequest\x1a\x10.grafeas.v1.Note\"q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x64\x12)/v1/{name=projects/*/occurrences/*}/notesZ7\x12\x35/v1/{name=projects/*/locations/*/occurrences/*}/notes\x12\x92\x01\n\x07GetNote\x12\x1a.grafeas.v1.GetNoteRequest\x1a\x10.grafeas.v1.Note\"Y\xda\x41\x04name\x82\xd3\xe4\x93\x02L\x12\x1d/v1/{name=projects/*/notes/*}Z+\x12)/v1/{name=projects/*/locations/*/notes/*}\x12\xac\x01\n\tListNotes\x12\x1c.grafeas.v1.ListNotesRequest\x1a\x1d.grafeas.v1.ListNotesResponse\"b\xda\x41\rparent,filter\x82\xd3\xe4\x93\x02L\x12\x1d/v1/{parent=projects/*}/notesZ+\x12)/v1/{parent=projects/*/locations/*}/notes\x12\x9e\x01\n\nDeleteNote\x12\x1d.grafeas.v1.DeleteNoteRequest\x1a\x16.google.protobuf.Empty\"Y\xda\x41\x04name\x82\xd3\xe4\x93\x02L*\x1d/v1/{name=projects/*/notes/*}Z+*)/v1/{name=projects/*/locations/*/notes/*}\x12\xb3\x01\n\nCreateNote\x12\x1d.grafeas.v1.CreateNoteRequest\x1a\x10.grafeas.v1.Note\"t\xda\x41\x13parent,note_id,note\x82\xd3\xe4\x93\x02X\"\x1d/v1/{parent=projects/*}/notes:\x04noteZ1\")/v1/{parent=projects/*/locations/*}/notes:\x04note\x12\xde\x01\n\x10\x42\x61tchCreateNotes\x12#.grafeas.v1.BatchCreateNotesRequest\x1a$.grafeas.v1.BatchCreateNotesResponse\"\x7f\xda\x41\x0cparent,notes\x82\xd3\xe4\x93\x02j\")/v1/{parent=projects/*}/notes:batchCreate:\x01*Z:\"5/v1/{parent=projects/*/locations/*}/notes:batchCreate:\x01*\x12\xb5\x01\n\nUpdateNote\x12\x1d.grafeas.v1.UpdateNoteRequest\x1a\x10.grafeas.v1.Note\"v\xda\x41\x15name,note,update_mask\x82\xd3\xe4\x93\x02X2\x1d/v1/{name=projects/*/notes/*}:\x04noteZ12)/v1/{name=projects/*/locations/*/notes/*}:\x04note\x12\xe0\x01\n\x13ListNoteOccurrences\x12&.grafeas.v1.ListNoteOccurrencesRequest\x1a\'.grafeas.v1.ListNoteOccurrencesResponse\"x\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x64\x12)/v1/{name=projects/*/notes/*}/occurrencesZ7\x12\x35/v1/{name=projects/*/locations/*/notes/*}/occurrences\x1a#\xca\x41 containeranalysis.googleapis.comB|\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRA\xea\x41(\n\x12grafeas.io/Project\x12\x12projects/{project}b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ["grafeas.v1.VulnerabilityOccurrence", "grafeas/v1/vulnerability.proto"], + ["grafeas.v1.BuildOccurrence", "grafeas/v1/build.proto"], + ["grafeas.v1.ImageOccurrence", "grafeas/v1/image.proto"], + ["grafeas.v1.PackageOccurrence", "grafeas/v1/package.proto"], + ["grafeas.v1.DeploymentOccurrence", "grafeas/v1/deployment.proto"], + ["grafeas.v1.DiscoveryOccurrence", "grafeas/v1/discovery.proto"], + ["grafeas.v1.AttestationOccurrence", "grafeas/v1/attestation.proto"], + ["grafeas.v1.UpgradeOccurrence", "grafeas/v1/upgrade.proto"], + ["grafeas.v1.ComplianceOccurrence", "grafeas/v1/compliance.proto"], + ["grafeas.v1.DSSEAttestationOccurrence", "grafeas/v1/dsse_attestation.proto"], + ["grafeas.v1.SBOMReferenceOccurrence", "grafeas/v1/sbom.proto"], + ["grafeas.v1.SecretOccurrence", "grafeas/v1/secret.proto"], + ["grafeas.v1.Envelope", "grafeas/v1/common.proto"], + ["grafeas.v1.VulnerabilityAssessmentNote", "grafeas/v1/vex.proto"], + ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + Occurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Occurrence").msgclass + Note = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Note").msgclass + GetOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GetOccurrenceRequest").msgclass + ListOccurrencesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListOccurrencesRequest").msgclass + ListOccurrencesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListOccurrencesResponse").msgclass + DeleteOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeleteOccurrenceRequest").msgclass + CreateOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CreateOccurrenceRequest").msgclass + UpdateOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpdateOccurrenceRequest").msgclass + GetNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GetNoteRequest").msgclass + GetOccurrenceNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GetOccurrenceNoteRequest").msgclass + ListNotesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNotesRequest").msgclass + ListNotesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNotesResponse").msgclass + DeleteNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeleteNoteRequest").msgclass + CreateNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CreateNoteRequest").msgclass + UpdateNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpdateNoteRequest").msgclass + ListNoteOccurrencesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNoteOccurrencesRequest").msgclass + ListNoteOccurrencesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNoteOccurrencesResponse").msgclass + BatchCreateNotesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateNotesRequest").msgclass + BatchCreateNotesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateNotesResponse").msgclass + BatchCreateOccurrencesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateOccurrencesRequest").msgclass + BatchCreateOccurrencesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateOccurrencesResponse").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb new file mode 100644 index 000000000000..aeed0fe3020b --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb @@ -0,0 +1,85 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# Source: grafeas/v1/grafeas.proto for package 'grafeas.v1' +# Original file comments: +# 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. +# + +require 'grpc' +require 'grafeas/v1/grafeas_pb' + +module Grafeas + module V1 + module Grafeas + # [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. + class Service + + include ::GRPC::GenericService + + self.marshal_class_method = :encode + self.unmarshal_class_method = :decode + self.service_name = 'grafeas.v1.Grafeas' + + # Gets the specified occurrence. + rpc :GetOccurrence, ::Grafeas::V1::GetOccurrenceRequest, ::Grafeas::V1::Occurrence + # Lists occurrences for the specified project. + rpc :ListOccurrences, ::Grafeas::V1::ListOccurrencesRequest, ::Grafeas::V1::ListOccurrencesResponse + # 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, ::Grafeas::V1::DeleteOccurrenceRequest, ::Google::Protobuf::Empty + # Creates a new occurrence. + rpc :CreateOccurrence, ::Grafeas::V1::CreateOccurrenceRequest, ::Grafeas::V1::Occurrence + # Creates new occurrences in batch. + rpc :BatchCreateOccurrences, ::Grafeas::V1::BatchCreateOccurrencesRequest, ::Grafeas::V1::BatchCreateOccurrencesResponse + # Updates the specified occurrence. + rpc :UpdateOccurrence, ::Grafeas::V1::UpdateOccurrenceRequest, ::Grafeas::V1::Occurrence + # 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, ::Grafeas::V1::GetOccurrenceNoteRequest, ::Grafeas::V1::Note + # Gets the specified note. + rpc :GetNote, ::Grafeas::V1::GetNoteRequest, ::Grafeas::V1::Note + # Lists notes for the specified project. + rpc :ListNotes, ::Grafeas::V1::ListNotesRequest, ::Grafeas::V1::ListNotesResponse + # Deletes the specified note. + rpc :DeleteNote, ::Grafeas::V1::DeleteNoteRequest, ::Google::Protobuf::Empty + # Creates a new note. + rpc :CreateNote, ::Grafeas::V1::CreateNoteRequest, ::Grafeas::V1::Note + # Creates new notes in batch. + rpc :BatchCreateNotes, ::Grafeas::V1::BatchCreateNotesRequest, ::Grafeas::V1::BatchCreateNotesResponse + # Updates the specified note. + rpc :UpdateNote, ::Grafeas::V1::UpdateNoteRequest, ::Grafeas::V1::Note + # 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, ::Grafeas::V1::ListNoteOccurrencesRequest, ::Grafeas::V1::ListNoteOccurrencesResponse + end + + Stub = Service.rpc_stub_class + end + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb new file mode 100644 index 000000000000..49edfc6fef3b --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/image.proto + +require 'google/protobuf' + + +descriptor_data = "\n\x16grafeas/v1/image.proto\x12\ngrafeas.v1\"-\n\x05Layer\x12\x11\n\tdirective\x18\x01 \x01(\t\x12\x11\n\targuments\x18\x02 \x01(\t\"@\n\x0b\x46ingerprint\x12\x0f\n\x07v1_name\x18\x01 \x01(\t\x12\x0f\n\x07v2_blob\x18\x02 \x03(\t\x12\x0f\n\x07v2_name\x18\x03 \x01(\t\"O\n\tImageNote\x12\x14\n\x0cresource_url\x18\x01 \x01(\t\x12,\n\x0b\x66ingerprint\x18\x02 \x01(\x0b\x32\x17.grafeas.v1.Fingerprint\"\x93\x01\n\x0fImageOccurrence\x12,\n\x0b\x66ingerprint\x18\x01 \x01(\x0b\x32\x17.grafeas.v1.Fingerprint\x12\x10\n\x08\x64istance\x18\x02 \x01(\x05\x12%\n\nlayer_info\x18\x03 \x03(\x0b\x32\x11.grafeas.v1.Layer\x12\x19\n\x11\x62\x61se_resource_url\x18\x04 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + Layer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Layer").msgclass + Fingerprint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Fingerprint").msgclass + ImageNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ImageNote").msgclass + ImageOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ImageOccurrence").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb new file mode 100644 index 000000000000..bf130f668919 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/intoto_provenance.proto + +require 'google/protobuf' + +require 'google/protobuf/any_pb' +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n\"grafeas/v1/intoto_provenance.proto\x12\ngrafeas.v1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9c\x01\n\x06Recipe\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65\x66ined_in_material\x18\x02 \x01(\x03\x12\x13\n\x0b\x65ntry_point\x18\x03 \x01(\t\x12\'\n\targuments\x18\x04 \x03(\x0b\x32\x14.google.protobuf.Any\x12)\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\"I\n\x0c\x43ompleteness\x12\x11\n\targuments\x18\x01 \x01(\x08\x12\x13\n\x0b\x65nvironment\x18\x02 \x01(\x08\x12\x11\n\tmaterials\x18\x03 \x01(\x08\"\xda\x01\n\x08Metadata\x12\x1b\n\x13\x62uild_invocation_id\x18\x01 \x01(\t\x12\x34\n\x10\x62uild_started_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11\x62uild_finished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x0c\x63ompleteness\x18\x04 \x01(\x0b\x32\x18.grafeas.v1.Completeness\x12\x14\n\x0creproducible\x18\x05 \x01(\x08\"\x1b\n\rBuilderConfig\x12\n\n\x02id\x18\x01 \x01(\t\"\xa4\x01\n\x10InTotoProvenance\x12\x31\n\x0e\x62uilder_config\x18\x01 \x01(\x0b\x32\x19.grafeas.v1.BuilderConfig\x12\"\n\x06recipe\x18\x02 \x01(\x0b\x32\x12.grafeas.v1.Recipe\x12&\n\x08metadata\x18\x03 \x01(\x0b\x32\x14.grafeas.v1.Metadata\x12\x11\n\tmaterials\x18\x04 \x03(\tBh\n\rio.grafeas.v1B\x15InTotoProvenanceProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Any", "google/protobuf/any.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + Recipe = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Recipe").msgclass + Completeness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Completeness").msgclass + Metadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Metadata").msgclass + BuilderConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuilderConfig").msgclass + InTotoProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoProvenance").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb new file mode 100644 index 000000000000..f61f3f98adfd --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/intoto_statement.proto + +require 'google/protobuf' + +require 'google/protobuf/struct_pb' +require 'google/protobuf/timestamp_pb' +require 'grafeas/v1/intoto_provenance_pb' +require 'grafeas/v1/slsa_provenance_pb' +require 'grafeas/v1/slsa_provenance_zero_two_pb' + + +descriptor_data = "\n!grafeas/v1/intoto_statement.proto\x12\ngrafeas.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"grafeas/v1/intoto_provenance.proto\x1a grafeas/v1/slsa_provenance.proto\x1a)grafeas/v1/slsa_provenance_zero_two.proto\"\xa3\x02\n\x0fInTotoStatement\x12\x13\n\x04type\x18\x01 \x01(\tR\x05_type\x12$\n\x07subject\x18\x02 \x03(\x0b\x32\x13.grafeas.v1.Subject\x12\x16\n\x0epredicate_type\x18\x03 \x01(\t\x12\x32\n\nprovenance\x18\x04 \x01(\x0b\x32\x1c.grafeas.v1.InTotoProvenanceH\x00\x12\x35\n\x0fslsa_provenance\x18\x05 \x01(\x0b\x32\x1a.grafeas.v1.SlsaProvenanceH\x00\x12\x45\n\x18slsa_provenance_zero_two\x18\x06 \x01(\x0b\x32!.grafeas.v1.SlsaProvenanceZeroTwoH\x00\x42\x0b\n\tpredicate\"w\n\x07Subject\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x06\x64igest\x18\x02 \x03(\x0b\x32\x1f.grafeas.v1.Subject.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcb\x0c\n\x16InTotoSlsaProvenanceV1\x12\x13\n\x04type\x18\x01 \x01(\tR\x05_type\x12$\n\x07subject\x18\x02 \x03(\x0b\x32\x13.grafeas.v1.Subject\x12\x16\n\x0epredicate_type\x18\x03 \x01(\t\x12\x46\n\tpredicate\x18\x04 \x01(\x0b\x32\x33.grafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1\x1a\xa4\x01\n\x10SlsaProvenanceV1\x12L\n\x10\x62uild_definition\x18\x01 \x01(\x0b\x32\x32.grafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition\x12\x42\n\x0brun_details\x18\x02 \x01(\x0b\x32-.grafeas.v1.InTotoSlsaProvenanceV1.RunDetails\x1a\xe7\x01\n\x0f\x42uildDefinition\x12\x12\n\nbuild_type\x18\x01 \x01(\t\x12\x34\n\x13\x65xternal_parameters\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\x13internal_parameters\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12T\n\x15resolved_dependencies\x18\x04 \x03(\x0b\x32\x35.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor\x1a\x9a\x03\n\x12ResourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12Q\n\x06\x64igest\x18\x03 \x03(\x0b\x32\x41.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.DigestEntry\x12\x0f\n\x07\x63ontent\x18\x04 \x01(\x0c\x12\x19\n\x11\x64ownload_location\x18\x05 \x01(\t\x12\x12\n\nmedia_type\x18\x06 \x01(\t\x12[\n\x0b\x61nnotations\x18\x07 \x03(\x0b\x32\x46.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.AnnotationsEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aJ\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\xe2\x01\n\nRunDetails\x12\x45\n\x07\x62uilder\x18\x01 \x01(\x0b\x32\x34.grafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder\x12\x42\n\x08metadata\x18\x02 \x01(\x0b\x32\x30.grafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata\x12I\n\nbyproducts\x18\x03 \x03(\x0b\x32\x35.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor\x1a\xf8\x01\n\x11ProvenanceBuilder\x12\n\n\x02id\x18\x01 \x01(\t\x12R\n\x07version\x18\x02 \x03(\x0b\x32\x41.grafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder.VersionEntry\x12S\n\x14\x62uilder_dependencies\x18\x03 \x03(\x0b\x32\x35.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor\x1a.\n\x0cVersionEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x87\x01\n\rBuildMetadata\x12\x15\n\rinvocation_id\x18\x01 \x01(\t\x12.\n\nstarted_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x66inished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBg\n\rio.grafeas.v1B\x14InTotoStatementProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.InTotoProvenance", "grafeas/v1/intoto_provenance.proto"], + ["grafeas.v1.SlsaProvenance", "grafeas/v1/slsa_provenance.proto"], + ["grafeas.v1.SlsaProvenanceZeroTwo", "grafeas/v1/slsa_provenance_zero_two.proto"], + ["google.protobuf.Struct", "google/protobuf/struct.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + InTotoStatement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoStatement").msgclass + Subject = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Subject").msgclass + InTotoSlsaProvenanceV1 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1").msgclass + InTotoSlsaProvenanceV1::SlsaProvenanceV1 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1").msgclass + InTotoSlsaProvenanceV1::BuildDefinition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition").msgclass + InTotoSlsaProvenanceV1::ResourceDescriptor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor").msgclass + InTotoSlsaProvenanceV1::RunDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.RunDetails").msgclass + InTotoSlsaProvenanceV1::ProvenanceBuilder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder").msgclass + InTotoSlsaProvenanceV1::BuildMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb new file mode 100644 index 000000000000..f0e24998adbe --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/package.proto + +require 'google/protobuf' + +require 'google/api/field_behavior_pb' +require 'grafeas/v1/common_pb' + + +descriptor_data = "\n\x18grafeas/v1/package.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17grafeas/v1/common.proto\"\xb7\x01\n\x0c\x44istribution\x12\x14\n\x07\x63pe_uri\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12.\n\x0c\x61rchitecture\x18\x02 \x01(\x0e\x32\x18.grafeas.v1.Architecture\x12+\n\x0elatest_version\x18\x03 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x12\n\nmaintainer\x18\x04 \x01(\t\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\"O\n\x08Location\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12$\n\x07version\x18\x02 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x0c\n\x04path\x18\x03 \x01(\t\"\xd0\x02\n\x0bPackageNote\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12.\n\x0c\x64istribution\x18\n \x03(\x0b\x32\x18.grafeas.v1.Distribution\x12\x14\n\x0cpackage_type\x18\x0b \x01(\t\x12\x0f\n\x07\x63pe_uri\x18\x0c \x01(\t\x12.\n\x0c\x61rchitecture\x18\r \x01(\x0e\x32\x18.grafeas.v1.Architecture\x12$\n\x07version\x18\x0e \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x12\n\nmaintainer\x18\x0f \x01(\t\x12\x0b\n\x03url\x18\x10 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x11 \x01(\t\x12$\n\x07license\x18\x12 \x01(\x0b\x32\x13.grafeas.v1.License\x12\"\n\x06\x64igest\x18\x13 \x03(\x0b\x32\x12.grafeas.v1.Digest\"\x88\x02\n\x11PackageOccurrence\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x03\x12&\n\x08location\x18\x02 \x03(\x0b\x32\x14.grafeas.v1.Location\x12\x19\n\x0cpackage_type\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x07\x63pe_uri\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x33\n\x0c\x61rchitecture\x18\x05 \x01(\x0e\x32\x18.grafeas.v1.ArchitectureB\x03\xe0\x41\x03\x12$\n\x07license\x18\x06 \x01(\x0b\x32\x13.grafeas.v1.License\x12)\n\x07version\x18\x07 \x01(\x0b\x32\x13.grafeas.v1.VersionB\x03\xe0\x41\x03\"\xe0\x01\n\x07Version\x12\r\n\x05\x65poch\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08revision\x18\x03 \x01(\t\x12\x11\n\tinclusive\x18\x06 \x01(\x08\x12-\n\x04kind\x18\x04 \x01(\x0e\x32\x1f.grafeas.v1.Version.VersionKind\x12\x11\n\tfull_name\x18\x05 \x01(\t\"Q\n\x0bVersionKind\x12\x1c\n\x18VERSION_KIND_UNSPECIFIED\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x0b\n\x07MINIMUM\x10\x02\x12\x0b\n\x07MAXIMUM\x10\x03*>\n\x0c\x41rchitecture\x12\x1c\n\x18\x41RCHITECTURE_UNSPECIFIED\x10\x00\x12\x07\n\x03X86\x10\x01\x12\x07\n\x03X64\x10\x02\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.License", "grafeas/v1/common.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + Distribution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Distribution").msgclass + Location = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Location").msgclass + PackageNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.PackageNote").msgclass + PackageOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.PackageOccurrence").msgclass + Version = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Version").msgclass + Version::VersionKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Version.VersionKind").enummodule + Architecture = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Architecture").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb new file mode 100644 index 000000000000..a54799829606 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/provenance.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n\x1bgrafeas/v1/provenance.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x90\x04\n\x0f\x42uildProvenance\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12%\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x13.grafeas.v1.Command\x12-\n\x0f\x62uilt_artifacts\x18\x04 \x03(\x0b\x32\x14.grafeas.v1.Artifact\x12/\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x63reator\x18\x08 \x01(\t\x12\x10\n\x08logs_uri\x18\t \x01(\t\x12-\n\x11source_provenance\x18\n \x01(\x0b\x32\x12.grafeas.v1.Source\x12\x12\n\ntrigger_id\x18\x0b \x01(\t\x12\x44\n\rbuild_options\x18\x0c \x03(\x0b\x32-.grafeas.v1.BuildProvenance.BuildOptionsEntry\x12\x17\n\x0f\x62uilder_version\x18\r \x01(\t\x1a\x33\n\x11\x42uildOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x95\x02\n\x06Source\x12#\n\x1b\x61rtifact_storage_source_uri\x18\x01 \x01(\t\x12\x37\n\x0b\x66ile_hashes\x18\x02 \x03(\x0b\x32\".grafeas.v1.Source.FileHashesEntry\x12*\n\x07\x63ontext\x18\x03 \x01(\x0b\x32\x19.grafeas.v1.SourceContext\x12\x36\n\x13\x61\x64\x64itional_contexts\x18\x04 \x03(\x0b\x32\x19.grafeas.v1.SourceContext\x1aI\n\x0f\x46ileHashesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.FileHashes:\x02\x38\x01\"1\n\nFileHashes\x12#\n\tfile_hash\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Hash\"#\n\x04Hash\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"]\n\x07\x43ommand\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x65nv\x18\x02 \x03(\t\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\t\x12\x0b\n\x03\x64ir\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t\x12\x10\n\x08wait_for\x18\x06 \x03(\t\"7\n\x08\x41rtifact\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\r\n\x05names\x18\x03 \x03(\t\"\x9a\x02\n\rSourceContext\x12\x38\n\ncloud_repo\x18\x01 \x01(\x0b\x32\".grafeas.v1.CloudRepoSourceContextH\x00\x12\x31\n\x06gerrit\x18\x02 \x01(\x0b\x32\x1f.grafeas.v1.GerritSourceContextH\x00\x12+\n\x03git\x18\x03 \x01(\x0b\x32\x1c.grafeas.v1.GitSourceContextH\x00\x12\x35\n\x06labels\x18\x04 \x03(\x0b\x32%.grafeas.v1.SourceContext.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07\x63ontext\"\x8a\x01\n\x0c\x41liasContext\x12+\n\x04kind\x18\x01 \x01(\x0e\x32\x1d.grafeas.v1.AliasContext.Kind\x12\x0c\n\x04name\x18\x02 \x01(\t\"?\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\t\n\x05\x46IXED\x10\x01\x12\x0b\n\x07MOVABLE\x10\x02\x12\t\n\x05OTHER\x10\x04\"\x93\x01\n\x16\x43loudRepoSourceContext\x12#\n\x07repo_id\x18\x01 \x01(\x0b\x32\x12.grafeas.v1.RepoId\x12\x15\n\x0brevision_id\x18\x02 \x01(\tH\x00\x12\x31\n\ralias_context\x18\x03 \x01(\x0b\x32\x18.grafeas.v1.AliasContextH\x00\x42\n\n\x08revision\"\x95\x01\n\x13GerritSourceContext\x12\x10\n\x08host_uri\x18\x01 \x01(\t\x12\x16\n\x0egerrit_project\x18\x02 \x01(\t\x12\x15\n\x0brevision_id\x18\x03 \x01(\tH\x00\x12\x31\n\ralias_context\x18\x04 \x01(\x0b\x32\x18.grafeas.v1.AliasContextH\x00\x42\n\n\x08revision\"4\n\x10GitSourceContext\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0brevision_id\x18\x02 \x01(\t\"S\n\x06RepoId\x12\x34\n\x0fproject_repo_id\x18\x01 \x01(\x0b\x32\x19.grafeas.v1.ProjectRepoIdH\x00\x12\r\n\x03uid\x18\x02 \x01(\tH\x00\x42\x04\n\x02id\"6\n\rProjectRepoId\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x11\n\trepo_name\x18\x02 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + BuildProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuildProvenance").msgclass + Source = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Source").msgclass + FileHashes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.FileHashes").msgclass + Hash = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Hash").msgclass + Command = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Command").msgclass + Artifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Artifact").msgclass + SourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SourceContext").msgclass + AliasContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AliasContext").msgclass + AliasContext::Kind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AliasContext.Kind").enummodule + CloudRepoSourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CloudRepoSourceContext").msgclass + GerritSourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GerritSourceContext").msgclass + GitSourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GitSourceContext").msgclass + RepoId = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.RepoId").msgclass + ProjectRepoId = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ProjectRepoId").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb new file mode 100644 index 000000000000..560d515ce84c --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/risk.proto + +require 'google/protobuf' + + +descriptor_data = "\n\x15grafeas/v1/risk.proto\x12\ngrafeas.v1\"\x81\x01\n\x04Risk\x12?\n\x08\x63isa_kev\x18\x01 \x01(\x0b\x32-.grafeas.v1.CISAKnownExploitedVulnerabilities\x12\x38\n\x04\x65pss\x18\x02 \x01(\x0b\x32*.grafeas.v1.ExploitPredictionScoringSystem\"J\n!CISAKnownExploitedVulnerabilities\x12%\n\x1dknown_ransomware_campaign_use\x18\x01 \x01(\t\"C\n\x1e\x45xploitPredictionScoringSystem\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\r\n\x05score\x18\x02 \x01(\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + Risk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Risk").msgclass + CISAKnownExploitedVulnerabilities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CISAKnownExploitedVulnerabilities").msgclass + ExploitPredictionScoringSystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ExploitPredictionScoringSystem").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb new file mode 100644 index 000000000000..a835e2939dd1 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/sbom.proto + +require 'google/protobuf' + +require 'grafeas/v1/common_pb' +require 'grafeas/v1/intoto_statement_pb' + + +descriptor_data = "\n\x15grafeas/v1/sbom.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\x1a!grafeas/v1/intoto_statement.proto\"4\n\x11SBOMReferenceNote\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\x9b\x01\n\x17SBOMReferenceOccurrence\x12\x37\n\x07payload\x18\x01 \x01(\x0b\x32&.grafeas.v1.SbomReferenceIntotoPayload\x12\x14\n\x0cpayload_type\x18\x02 \x01(\t\x12\x31\n\nsignatures\x18\x03 \x03(\x0b\x32\x1d.grafeas.v1.EnvelopeSignature\"\xac\x01\n\x1aSbomReferenceIntotoPayload\x12\x13\n\x04type\x18\x01 \x01(\tR\x05_type\x12\x16\n\x0epredicate_type\x18\x02 \x01(\t\x12$\n\x07subject\x18\x03 \x03(\x0b\x32\x13.grafeas.v1.Subject\x12;\n\tpredicate\x18\x04 \x01(\x0b\x32(.grafeas.v1.SbomReferenceIntotoPredicate\"\xcd\x01\n\x1cSbomReferenceIntotoPredicate\x12\x13\n\x0breferrer_id\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x11\n\tmime_type\x18\x03 \x01(\t\x12\x44\n\x06\x64igest\x18\x04 \x03(\x0b\x32\x34.grafeas.v1.SbomReferenceIntotoPredicate.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.EnvelopeSignature", "grafeas/v1/common.proto"], + ["grafeas.v1.Subject", "grafeas/v1/intoto_statement.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + SBOMReferenceNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SBOMReferenceNote").msgclass + SBOMReferenceOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SBOMReferenceOccurrence").msgclass + SbomReferenceIntotoPayload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SbomReferenceIntotoPayload").msgclass + SbomReferenceIntotoPredicate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SbomReferenceIntotoPredicate").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb new file mode 100644 index 000000000000..2ef1686a5c58 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/secret.proto + +require 'google/protobuf' + +require 'google/api/field_behavior_pb' +require 'google/protobuf/any_pb' +require 'google/protobuf/timestamp_pb' +require 'grafeas/v1/common_pb' + + +descriptor_data = "\n\x17grafeas/v1/secret.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17grafeas/v1/common.proto\"\x0c\n\nSecretNote\"\xea\x01\n\x10SecretOccurrence\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x16.grafeas.v1.SecretKindB\x03\xe0\x41\x02\x12\x32\n\tlocations\x18\x02 \x03(\x0b\x32\x1a.grafeas.v1.SecretLocationB\x03\xe0\x41\x01\x12/\n\x08statuses\x18\x03 \x03(\x0b\x32\x18.grafeas.v1.SecretStatusB\x03\xe0\x41\x01\x12\"\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x14.google.protobuf.Any\x12\"\n\x06\x64igest\x18\x05 \x01(\x0b\x32\x12.grafeas.v1.Digest\"O\n\x0eSecretLocation\x12\x31\n\rfile_location\x18\x01 \x01(\x0b\x32\x18.grafeas.v1.FileLocationH\x00\x42\n\n\x08location\"\xd7\x01\n\x0cSecretStatus\x12\x34\n\x06status\x18\x01 \x01(\x0e\x32\x1f.grafeas.v1.SecretStatus.StatusB\x03\xe0\x41\x01\x12\x34\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x14\n\x07message\x18\x03 \x01(\tB\x03\xe0\x41\x01\"E\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\t\n\x05VALID\x10\x02\x12\x0b\n\x07INVALID\x10\x03*\xa5\x07\n\nSecretKind\x12\x1b\n\x17SECRET_KIND_UNSPECIFIED\x10\x00\x12\x17\n\x13SECRET_KIND_UNKNOWN\x10\x01\x12\'\n#SECRET_KIND_GCP_SERVICE_ACCOUNT_KEY\x10\x02\x12\x1b\n\x17SECRET_KIND_GCP_API_KEY\x10\x03\x12-\n)SECRET_KIND_GCP_OAUTH2_CLIENT_CREDENTIALS\x10\x04\x12\'\n#SECRET_KIND_GCP_OAUTH2_ACCESS_TOKEN\x10\x05\x12\'\n#SECRET_KIND_ANTHROPIC_ADMIN_API_KEY\x10\x06\x12!\n\x1dSECRET_KIND_ANTHROPIC_API_KEY\x10\x07\x12\"\n\x1eSECRET_KIND_AZURE_ACCESS_TOKEN\x10\x08\x12$\n SECRET_KIND_AZURE_IDENTITY_TOKEN\x10\t\x12\x30\n,SECRET_KIND_DOCKER_HUB_PERSONAL_ACCESS_TOKEN\x10\n\x12(\n$SECRET_KIND_GITHUB_APP_REFRESH_TOKEN\x10\x0b\x12\x31\n-SECRET_KIND_GITHUB_APP_SERVER_TO_SERVER_TOKEN\x10\x0c\x12/\n+SECRET_KIND_GITHUB_APP_USER_TO_SERVER_TOKEN\x10\r\x12\x34\n0SECRET_KIND_GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN\x10\x0e\x12\x39\n5SECRET_KIND_GITHUB_FINE_GRAINED_PERSONAL_ACCESS_TOKEN\x10\x0f\x12\"\n\x1eSECRET_KIND_GITHUB_OAUTH_TOKEN\x10\x10\x12#\n\x1fSECRET_KIND_HUGGINGFACE_API_KEY\x10\x11\x12\x1e\n\x1aSECRET_KIND_OPENAI_API_KEY\x10\x12\x12\"\n\x1eSECRET_KIND_PERPLEXITY_API_KEY\x10\x13\x12!\n\x1dSECRET_KIND_STRIPE_SECRET_KEY\x10\x14\x12%\n!SECRET_KIND_STRIPE_RESTRICTED_KEY\x10\x15\x12%\n!SECRET_KIND_STRIPE_WEBHOOK_SECRET\x10\x16\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Any", "google/protobuf/any.proto"], + ["grafeas.v1.Digest", "grafeas/v1/common.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + SecretNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretNote").msgclass + SecretOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretOccurrence").msgclass + SecretLocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretLocation").msgclass + SecretStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretStatus").msgclass + SecretStatus::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretStatus.Status").enummodule + SecretKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretKind").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb new file mode 100644 index 000000000000..581624828dfc --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/severity.proto + +require 'google/protobuf' + + +descriptor_data = "\n\x19grafeas/v1/severity.proto\x12\ngrafeas.v1*^\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0b\n\x07MINIMAL\x10\x01\x12\x07\n\x03LOW\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x08\n\x04HIGH\x10\x04\x12\x0c\n\x08\x43RITICAL\x10\x05\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Severity").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb new file mode 100644 index 000000000000..9f6a8544caed --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/slsa_provenance.proto + +require 'google/protobuf' + +require 'google/protobuf/any_pb' +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n grafeas/v1/slsa_provenance.proto\x12\ngrafeas.v1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xfe\x06\n\x0eSlsaProvenance\x12\x37\n\x07\x62uilder\x18\x01 \x01(\x0b\x32&.grafeas.v1.SlsaProvenance.SlsaBuilder\x12\x35\n\x06recipe\x18\x02 \x01(\x0b\x32%.grafeas.v1.SlsaProvenance.SlsaRecipe\x12\x39\n\x08metadata\x18\x03 \x01(\x0b\x32\'.grafeas.v1.SlsaProvenance.SlsaMetadata\x12\x36\n\tmaterials\x18\x04 \x03(\x0b\x32#.grafeas.v1.SlsaProvenance.Material\x1a\xa0\x01\n\nSlsaRecipe\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65\x66ined_in_material\x18\x02 \x01(\x03\x12\x13\n\x0b\x65ntry_point\x18\x03 \x01(\t\x12\'\n\targuments\x18\x04 \x01(\x0b\x32\x14.google.protobuf.Any\x12)\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32\x14.google.protobuf.Any\x1aM\n\x10SlsaCompleteness\x12\x11\n\targuments\x18\x01 \x01(\x08\x12\x13\n\x0b\x65nvironment\x18\x02 \x01(\x08\x12\x11\n\tmaterials\x18\x03 \x01(\x08\x1a\xf1\x01\n\x0cSlsaMetadata\x12\x1b\n\x13\x62uild_invocation_id\x18\x01 \x01(\t\x12\x34\n\x10\x62uild_started_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11\x62uild_finished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x0c\x63ompleteness\x18\x04 \x01(\x0b\x32+.grafeas.v1.SlsaProvenance.SlsaCompleteness\x12\x14\n\x0creproducible\x18\x05 \x01(\x08\x1a\x19\n\x0bSlsaBuilder\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x87\x01\n\x08Material\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12?\n\x06\x64igest\x18\x02 \x03(\x0b\x32/.grafeas.v1.SlsaProvenance.Material.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x66\n\rio.grafeas.v1B\x13SlsaProvenanceProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Any", "google/protobuf/any.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + SlsaProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance").msgclass + SlsaProvenance::SlsaRecipe = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaRecipe").msgclass + SlsaProvenance::SlsaCompleteness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaCompleteness").msgclass + SlsaProvenance::SlsaMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaMetadata").msgclass + SlsaProvenance::SlsaBuilder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaBuilder").msgclass + SlsaProvenance::Material = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.Material").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb new file mode 100644 index 000000000000..68be63b6d3e5 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/slsa_provenance_zero_two.proto + +require 'google/protobuf' + +require 'google/protobuf/struct_pb' +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n)grafeas/v1/slsa_provenance_zero_two.proto\x12\ngrafeas.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd3\t\n\x15SlsaProvenanceZeroTwo\x12>\n\x07\x62uilder\x18\x01 \x01(\x0b\x32-.grafeas.v1.SlsaProvenanceZeroTwo.SlsaBuilder\x12\x12\n\nbuild_type\x18\x02 \x01(\t\x12\x44\n\ninvocation\x18\x03 \x01(\x0b\x32\x30.grafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation\x12-\n\x0c\x62uild_config\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12@\n\x08metadata\x18\x05 \x01(\x0b\x32..grafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata\x12\x41\n\tmaterials\x18\x06 \x03(\x0b\x32..grafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial\x1a\x19\n\x0bSlsaBuilder\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x96\x01\n\x0cSlsaMaterial\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12J\n\x06\x64igest\x18\x02 \x03(\x0b\x32:.grafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xb6\x01\n\x0eSlsaInvocation\x12I\n\rconfig_source\x18\x01 \x01(\x0b\x32\x32.grafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource\x12+\n\nparameters\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0b\x65nvironment\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a\xb3\x01\n\x10SlsaConfigSource\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12N\n\x06\x64igest\x18\x02 \x03(\x0b\x32>.grafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource.DigestEntry\x12\x13\n\x0b\x65ntry_point\x18\x03 \x01(\t\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xf8\x01\n\x0cSlsaMetadata\x12\x1b\n\x13\x62uild_invocation_id\x18\x01 \x01(\t\x12\x34\n\x10\x62uild_started_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11\x62uild_finished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\x0c\x63ompleteness\x18\x04 \x01(\x0b\x32\x32.grafeas.v1.SlsaProvenanceZeroTwo.SlsaCompleteness\x12\x14\n\x0creproducible\x18\x05 \x01(\x08\x1aN\n\x10SlsaCompleteness\x12\x12\n\nparameters\x18\x01 \x01(\x08\x12\x13\n\x0b\x65nvironment\x18\x02 \x01(\x08\x12\x11\n\tmaterials\x18\x03 \x01(\x08\x42m\n\rio.grafeas.v1B\x1aSlsaProvenanceZeroTwoProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Struct", "google/protobuf/struct.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + SlsaProvenanceZeroTwo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo").msgclass + SlsaProvenanceZeroTwo::SlsaBuilder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaBuilder").msgclass + SlsaProvenanceZeroTwo::SlsaMaterial = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial").msgclass + SlsaProvenanceZeroTwo::SlsaInvocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation").msgclass + SlsaProvenanceZeroTwo::SlsaConfigSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource").msgclass + SlsaProvenanceZeroTwo::SlsaMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata").msgclass + SlsaProvenanceZeroTwo::SlsaCompleteness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaCompleteness").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb new file mode 100644 index 000000000000..181c4e4a9976 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/upgrade.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' +require 'grafeas/v1/package_pb' + + +descriptor_data = "\n\x18grafeas/v1/upgrade.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18grafeas/v1/package.proto\"\xaf\x01\n\x0bUpgradeNote\x12\x0f\n\x07package\x18\x01 \x01(\t\x12$\n\x07version\x18\x02 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x36\n\rdistributions\x18\x03 \x03(\x0b\x32\x1f.grafeas.v1.UpgradeDistribution\x12\x31\n\x0ewindows_update\x18\x04 \x01(\x0b\x32\x19.grafeas.v1.WindowsUpdate\"]\n\x13UpgradeDistribution\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12\x16\n\x0e\x63lassification\x18\x02 \x01(\t\x12\x10\n\x08severity\x18\x03 \x01(\t\x12\x0b\n\x03\x63ve\x18\x04 \x03(\t\"\xec\x02\n\rWindowsUpdate\x12\x34\n\x08identity\x18\x01 \x01(\x0b\x32\".grafeas.v1.WindowsUpdate.Identity\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x36\n\ncategories\x18\x04 \x03(\x0b\x32\".grafeas.v1.WindowsUpdate.Category\x12\x16\n\x0ekb_article_ids\x18\x05 \x03(\t\x12\x13\n\x0bsupport_url\x18\x06 \x01(\t\x12<\n\x18last_published_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a/\n\x08Identity\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\x05\x1a-\n\x08\x43\x61tegory\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xbb\x01\n\x11UpgradeOccurrence\x12\x0f\n\x07package\x18\x01 \x01(\t\x12+\n\x0eparsed_version\x18\x03 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x35\n\x0c\x64istribution\x18\x04 \x01(\x0b\x32\x1f.grafeas.v1.UpgradeDistribution\x12\x31\n\x0ewindows_update\x18\x05 \x01(\x0b\x32\x19.grafeas.v1.WindowsUpdateBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.Version", "grafeas/v1/package.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + UpgradeNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpgradeNote").msgclass + UpgradeDistribution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpgradeDistribution").msgclass + WindowsUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.WindowsUpdate").msgclass + WindowsUpdate::Identity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.WindowsUpdate.Identity").msgclass + WindowsUpdate::Category = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.WindowsUpdate.Category").msgclass + UpgradeOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpgradeOccurrence").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb new file mode 100644 index 000000000000..fa8f104cf044 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + VERSION = "0.0.1" + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb new file mode 100644 index 000000000000..8ab200a0cd95 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/vex.proto + +require 'google/protobuf' + +require 'grafeas/v1/common_pb' + + +descriptor_data = "\n\x14grafeas/v1/vex.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\"\xc8\r\n\x1bVulnerabilityAssessmentNote\x12\r\n\x05title\x18\x01 \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x12\x15\n\rlanguage_code\x18\x04 \x01(\t\x12\x44\n\tpublisher\x18\x05 \x01(\x0b\x32\x31.grafeas.v1.VulnerabilityAssessmentNote.Publisher\x12@\n\x07product\x18\x06 \x01(\x0b\x32/.grafeas.v1.VulnerabilityAssessmentNote.Product\x12\x46\n\nassessment\x18\x07 \x01(\x0b\x32\x32.grafeas.v1.VulnerabilityAssessmentNote.Assessment\x1aQ\n\tPublisher\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x11issuing_authority\x18\x02 \x01(\t\x12\x1b\n\x13publisher_namespace\x18\x03 \x01(\t\x1aH\n\x07Product\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\x15\n\x0bgeneric_uri\x18\x03 \x01(\tH\x00\x42\x0c\n\nidentifier\x1a\xe0\t\n\nAssessment\x12\x0f\n\x03\x63ve\x18\x01 \x01(\tB\x02\x18\x01\x12\x18\n\x10vulnerability_id\x18\t \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x12,\n\x0crelated_uris\x18\x04 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12G\n\x05state\x18\x05 \x01(\x0e\x32\x38.grafeas.v1.VulnerabilityAssessmentNote.Assessment.State\x12\x0f\n\x07impacts\x18\x06 \x03(\t\x12W\n\rjustification\x18\x07 \x01(\x0b\x32@.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification\x12T\n\x0cremediations\x18\x08 \x03(\x0b\x32>.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation\x1a\x8c\x03\n\rJustification\x12n\n\x12justification_type\x18\x01 \x01(\x0e\x32R.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.JustificationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xf9\x01\n\x11JustificationType\x12\"\n\x1eJUSTIFICATION_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43OMPONENT_NOT_PRESENT\x10\x01\x12\x1f\n\x1bVULNERABLE_CODE_NOT_PRESENT\x10\x02\x12\'\n#VULNERABLE_CODE_NOT_IN_EXECUTE_PATH\x10\x03\x12\x35\n1VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY\x10\x04\x12$\n INLINE_MITIGATIONS_ALREADY_EXIST\x10\x05\x1a\xc7\x02\n\x0bRemediation\x12h\n\x10remediation_type\x18\x01 \x01(\x0e\x32N.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12/\n\x0fremediation_uri\x18\x03 \x01(\x0b\x32\x16.grafeas.v1.RelatedUrl\"\x8b\x01\n\x0fRemediationType\x12 \n\x1cREMEDIATION_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nMITIGATION\x10\x01\x12\x12\n\x0eNO_FIX_PLANNED\x10\x02\x12\x12\n\x0eNONE_AVAILABLE\x10\x03\x12\x0e\n\nVENDOR_FIX\x10\x04\x12\x0e\n\nWORKAROUND\x10\x05\"b\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x41\x46\x46\x45\x43TED\x10\x01\x12\x10\n\x0cNOT_AFFECTED\x10\x02\x12\t\n\x05\x46IXED\x10\x03\x12\x17\n\x13UNDER_INVESTIGATION\x10\x04\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.RelatedUrl", "grafeas/v1/common.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + VulnerabilityAssessmentNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote").msgclass + VulnerabilityAssessmentNote::Publisher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Publisher").msgclass + VulnerabilityAssessmentNote::Product = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Product").msgclass + VulnerabilityAssessmentNote::Assessment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment").msgclass + VulnerabilityAssessmentNote::Assessment::Justification = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification").msgclass + VulnerabilityAssessmentNote::Assessment::Justification::JustificationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.JustificationType").enummodule + VulnerabilityAssessmentNote::Assessment::Remediation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation").msgclass + VulnerabilityAssessmentNote::Assessment::Remediation::RemediationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType").enummodule + VulnerabilityAssessmentNote::Assessment::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.State").enummodule + end +end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb new file mode 100644 index 000000000000..b5ddffdd2082 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: grafeas/v1/vulnerability.proto + +require 'google/protobuf' + +require 'google/api/field_behavior_pb' +require 'google/protobuf/timestamp_pb' +require 'grafeas/v1/common_pb' +require 'grafeas/v1/cvss_pb' +require 'grafeas/v1/package_pb' +require 'grafeas/v1/risk_pb' +require 'grafeas/v1/severity_pb' +require 'grafeas/v1/vex_pb' + + +descriptor_data = "\n\x1egrafeas/v1/vulnerability.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17grafeas/v1/common.proto\x1a\x15grafeas/v1/cvss.proto\x1a\x18grafeas/v1/package.proto\x1a\x15grafeas/v1/risk.proto\x1a\x19grafeas/v1/severity.proto\x1a\x14grafeas/v1/vex.proto\"\xec\x07\n\x11VulnerabilityNote\x12\x12\n\ncvss_score\x18\x01 \x01(\x02\x12&\n\x08severity\x18\x02 \x01(\x0e\x32\x14.grafeas.v1.Severity\x12\x35\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32$.grafeas.v1.VulnerabilityNote.Detail\x12#\n\x07\x63vss_v3\x18\x04 \x01(\x0b\x32\x12.grafeas.v1.CVSSv3\x12\x44\n\x0fwindows_details\x18\x05 \x03(\x0b\x32+.grafeas.v1.VulnerabilityNote.WindowsDetail\x12\x36\n\x12source_update_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x0c\x63vss_version\x18\x07 \x01(\x0e\x32\x17.grafeas.v1.CVSSVersion\x12!\n\x07\x63vss_v2\x18\x08 \x01(\x0b\x32\x10.grafeas.v1.CVSS\x1a\xad\x03\n\x06\x44\x65tail\x12\x15\n\rseverity_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpackage_type\x18\x03 \x01(\t\x12\x18\n\x10\x61\x66\x66\x65\x63ted_cpe_uri\x18\x04 \x01(\t\x12\x18\n\x10\x61\x66\x66\x65\x63ted_package\x18\x05 \x01(\t\x12\x33\n\x16\x61\x66\x66\x65\x63ted_version_start\x18\x06 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x31\n\x14\x61\x66\x66\x65\x63ted_version_end\x18\x07 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x15\n\rfixed_cpe_uri\x18\x08 \x01(\t\x12\x15\n\rfixed_package\x18\t \x01(\t\x12*\n\rfixed_version\x18\n \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x13\n\x0bis_obsolete\x18\x0b \x01(\x08\x12\x36\n\x12source_update_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06source\x18\r \x01(\t\x12\x0e\n\x06vendor\x18\x0e \x01(\t\x1a\xbe\x01\n\rWindowsDetail\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12M\n\nfixing_kbs\x18\x04 \x03(\x0b\x32\x39.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase\x1a*\n\rKnowledgeBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"\xb8\n\n\x17VulnerabilityOccurrence\x12\x0c\n\x04type\x18\x01 \x01(\t\x12&\n\x08severity\x18\x02 \x01(\x0e\x32\x14.grafeas.v1.Severity\x12\x12\n\ncvss_score\x18\x03 \x01(\x02\x12 \n\x06\x63vssv3\x18\n \x01(\x0b\x32\x10.grafeas.v1.CVSS\x12G\n\rpackage_issue\x18\x04 \x03(\x0b\x32\x30.grafeas.v1.VulnerabilityOccurrence.PackageIssue\x12\x19\n\x11short_description\x18\x05 \x01(\t\x12\x18\n\x10long_description\x18\x06 \x01(\t\x12,\n\x0crelated_urls\x18\x07 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12\x30\n\x12\x65\x66\x66\x65\x63tive_severity\x18\x08 \x01(\x0e\x32\x14.grafeas.v1.Severity\x12\x15\n\rfix_available\x18\t \x01(\x08\x12-\n\x0c\x63vss_version\x18\x0b \x01(\x0e\x32\x17.grafeas.v1.CVSSVersion\x12!\n\x07\x63vss_v2\x18\x0c \x01(\x0b\x32\x10.grafeas.v1.CVSS\x12I\n\x0evex_assessment\x18\r \x01(\x0b\x32\x31.grafeas.v1.VulnerabilityOccurrence.VexAssessment\x12\x15\n\rextra_details\x18\x0e \x01(\t\x12\x1e\n\x04risk\x18\x0f \x01(\x0b\x32\x10.grafeas.v1.Risk\x1a\xe0\x02\n\x0cPackageIssue\x12\x18\n\x10\x61\x66\x66\x65\x63ted_cpe_uri\x18\x01 \x01(\t\x12\x18\n\x10\x61\x66\x66\x65\x63ted_package\x18\x02 \x01(\t\x12-\n\x10\x61\x66\x66\x65\x63ted_version\x18\x03 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x15\n\rfixed_cpe_uri\x18\x04 \x01(\t\x12\x15\n\rfixed_package\x18\x05 \x01(\t\x12*\n\rfixed_version\x18\x06 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x15\n\rfix_available\x18\x07 \x01(\x08\x12\x14\n\x0cpackage_type\x18\x08 \x01(\t\x12\x35\n\x12\x65\x66\x66\x65\x63tive_severity\x18\t \x01(\x0e\x32\x14.grafeas.v1.SeverityB\x03\xe0\x41\x03\x12/\n\rfile_location\x18\n \x03(\x0b\x32\x18.grafeas.v1.FileLocation\x1a\x84\x03\n\rVexAssessment\x12\x0f\n\x03\x63ve\x18\x01 \x01(\tB\x02\x18\x01\x12\x18\n\x10vulnerability_id\x18\x08 \x01(\t\x12,\n\x0crelated_uris\x18\x02 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12\x11\n\tnote_name\x18\x03 \x01(\t\x12G\n\x05state\x18\x04 \x01(\x0e\x32\x38.grafeas.v1.VulnerabilityAssessmentNote.Assessment.State\x12\x0f\n\x07impacts\x18\x05 \x03(\t\x12T\n\x0cremediations\x18\x06 \x03(\x0b\x32>.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation\x12W\n\rjustification\x18\x07 \x01(\x0b\x32@.grafeas.v1.VulnerabilityAssessmentNote.Assessment.JustificationBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["grafeas.v1.CVSSv3", "grafeas/v1/cvss.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ["grafeas.v1.Version", "grafeas/v1/package.proto"], + ["grafeas.v1.RelatedUrl", "grafeas/v1/common.proto"], + ["grafeas.v1.Risk", "grafeas/v1/risk.proto"], + ["grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation", "grafeas/v1/vex.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Grafeas + module V1 + VulnerabilityNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote").msgclass + VulnerabilityNote::Detail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote.Detail").msgclass + VulnerabilityNote::WindowsDetail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote.WindowsDetail").msgclass + VulnerabilityNote::WindowsDetail::KnowledgeBase = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase").msgclass + VulnerabilityOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityOccurrence").msgclass + VulnerabilityOccurrence::PackageIssue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityOccurrence.PackageIssue").msgclass + VulnerabilityOccurrence::VexAssessment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityOccurrence.VexAssessment").msgclass + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/README.md b/owl-bot-staging/grafeas-v1/proto_docs/README.md new file mode 100644 index 000000000000..1117465c0da0 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/README.md @@ -0,0 +1,4 @@ +# Grafeas V1 Protocol Buffer Documentation + +These files are for the YARD documentation of the generated protobuf files. +They are not intended to be required or loaded at runtime. diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb new file mode 100644 index 000000000000..d59ba51a5612 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb @@ -0,0 +1,473 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Api + # Required information for every language. + # @!attribute [rw] reference_docs_uri + # @deprecated This field is deprecated and may be removed in the next major version update. + # @return [::String] + # Link to automatically generated reference documentation. Example: + # https://cloud.google.com/nodejs/docs/reference/asset/latest + # @!attribute [rw] destinations + # @return [::Array<::Google::Api::ClientLibraryDestination>] + # The destination where API teams want this client library to be published. + # @!attribute [rw] selective_gapic_generation + # @return [::Google::Api::SelectiveGapicGeneration] + # Configuration for which RPCs should be generated in the GAPIC client. + class CommonLanguageSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Details about how and where to publish client libraries. + # @!attribute [rw] version + # @return [::String] + # Version of the API to apply these settings to. This is the full protobuf + # package for the API, ending in the version element. + # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1". + # @!attribute [rw] launch_stage + # @return [::Google::Api::LaunchStage] + # Launch stage of this version of the API. + # @!attribute [rw] rest_numeric_enums + # @return [::Boolean] + # When using transport=rest, the client request will encode enums as + # numbers rather than strings. + # @!attribute [rw] java_settings + # @return [::Google::Api::JavaSettings] + # Settings for legacy Java features, supported in the Service YAML. + # @!attribute [rw] cpp_settings + # @return [::Google::Api::CppSettings] + # Settings for C++ client libraries. + # @!attribute [rw] php_settings + # @return [::Google::Api::PhpSettings] + # Settings for PHP client libraries. + # @!attribute [rw] python_settings + # @return [::Google::Api::PythonSettings] + # Settings for Python client libraries. + # @!attribute [rw] node_settings + # @return [::Google::Api::NodeSettings] + # Settings for Node client libraries. + # @!attribute [rw] dotnet_settings + # @return [::Google::Api::DotnetSettings] + # Settings for .NET client libraries. + # @!attribute [rw] ruby_settings + # @return [::Google::Api::RubySettings] + # Settings for Ruby client libraries. + # @!attribute [rw] go_settings + # @return [::Google::Api::GoSettings] + # Settings for Go client libraries. + class ClientLibrarySettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # This message configures the settings for publishing [Google Cloud Client + # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) + # generated from the service config. + # @!attribute [rw] method_settings + # @return [::Array<::Google::Api::MethodSettings>] + # A list of API method settings, e.g. the behavior for methods that use the + # long-running operation pattern. + # @!attribute [rw] new_issue_uri + # @return [::String] + # Link to a *public* URI where users can report issues. Example: + # https://issuetracker.google.com/issues/new?component=190865&template=1161103 + # @!attribute [rw] documentation_uri + # @return [::String] + # Link to product home page. Example: + # https://cloud.google.com/asset-inventory/docs/overview + # @!attribute [rw] api_short_name + # @return [::String] + # Used as a tracking tag when collecting data about the APIs developer + # relations artifacts like docs, packages delivered to package managers, + # etc. Example: "speech". + # @!attribute [rw] github_label + # @return [::String] + # GitHub label to apply to issues and pull requests opened for this API. + # @!attribute [rw] codeowner_github_teams + # @return [::Array<::String>] + # GitHub teams to be added to CODEOWNERS in the directory in GitHub + # containing source code for the client libraries for this API. + # @!attribute [rw] doc_tag_prefix + # @return [::String] + # A prefix used in sample code when demarking regions to be included in + # documentation. + # @!attribute [rw] organization + # @return [::Google::Api::ClientLibraryOrganization] + # For whom the client library is being published. + # @!attribute [rw] library_settings + # @return [::Array<::Google::Api::ClientLibrarySettings>] + # Client library settings. If the same version string appears multiple + # times in this list, then the last one wins. Settings from earlier + # settings with the same version string are discarded. + # @!attribute [rw] proto_reference_documentation_uri + # @return [::String] + # Optional link to proto reference documentation. Example: + # https://cloud.google.com/pubsub/lite/docs/reference/rpc + # @!attribute [rw] rest_reference_documentation_uri + # @return [::String] + # Optional link to REST reference documentation. Example: + # https://cloud.google.com/pubsub/lite/docs/reference/rest + class Publishing + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Settings for Java client libraries. + # @!attribute [rw] library_package + # @return [::String] + # The package name to use in Java. Clobbers the java_package option + # set in the protobuf. This should be used **only** by APIs + # who have already set the language_settings.java.package_name" field + # in gapic.yaml. API teams should use the protobuf java_package option + # where possible. + # + # Example of a YAML configuration:: + # + # publishing: + # java_settings: + # library_package: com.google.cloud.pubsub.v1 + # @!attribute [rw] service_class_names + # @return [::Google::Protobuf::Map{::String => ::String}] + # Configure the Java class name to use instead of the service's for its + # corresponding generated GAPIC client. Keys are fully-qualified + # service names as they appear in the protobuf (including the full + # the language_settings.java.interface_names" field in gapic.yaml. API + # teams should otherwise use the service name as it appears in the + # protobuf. + # + # Example of a YAML configuration:: + # + # publishing: + # java_settings: + # service_class_names: + # - google.pubsub.v1.Publisher: TopicAdmin + # - google.pubsub.v1.Subscriber: SubscriptionAdmin + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + class JavaSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class ServiceClassNamesEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Settings for C++ client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + class CppSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Settings for Php client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + class PhpSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Settings for Python client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + # @!attribute [rw] experimental_features + # @return [::Google::Api::PythonSettings::ExperimentalFeatures] + # Experimental features to be included during client library generation. + class PythonSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Experimental features to be included during client library generation. + # These fields will be deprecated once the feature graduates and is enabled + # by default. + # @!attribute [rw] rest_async_io_enabled + # @return [::Boolean] + # Enables generation of asynchronous REST clients if `rest` transport is + # enabled. By default, asynchronous REST clients will not be generated. + # This feature will be enabled by default 1 month after launching the + # feature in preview packages. + # @!attribute [rw] protobuf_pythonic_types_enabled + # @return [::Boolean] + # Enables generation of protobuf code using new types that are more + # Pythonic which are included in `protobuf>=5.29.x`. This feature will be + # enabled by default 1 month after launching the feature in preview + # packages. + # @!attribute [rw] unversioned_package_disabled + # @return [::Boolean] + # Disables generation of an unversioned Python package for this client + # library. This means that the module names will need to be versioned in + # import statements. For example `import google.cloud.library_v2` instead + # of `import google.cloud.library`. + class ExperimentalFeatures + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Settings for Node client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + class NodeSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Settings for Dotnet client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + # @!attribute [rw] renamed_services + # @return [::Google::Protobuf::Map{::String => ::String}] + # Map from original service names to renamed versions. + # This is used when the default generated types + # would cause a naming conflict. (Neither name is + # fully-qualified.) + # Example: Subscriber to SubscriberServiceApi. + # @!attribute [rw] renamed_resources + # @return [::Google::Protobuf::Map{::String => ::String}] + # Map from full resource types to the effective short name + # for the resource. This is used when otherwise resource + # named from different services would cause naming collisions. + # Example entry: + # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" + # @!attribute [rw] ignored_resources + # @return [::Array<::String>] + # List of full resource types to ignore during generation. + # This is typically used for API-specific Location resources, + # which should be handled by the generator as if they were actually + # the common Location resources. + # Example entry: "documentai.googleapis.com/Location" + # @!attribute [rw] forced_namespace_aliases + # @return [::Array<::String>] + # Namespaces which must be aliased in snippets due to + # a known (but non-generator-predictable) naming collision + # @!attribute [rw] handwritten_signatures + # @return [::Array<::String>] + # Method signatures (in the form "service.method(signature)") + # which are provided separately, so shouldn't be generated. + # Snippets *calling* these methods are still generated, however. + class DotnetSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class RenamedServicesEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class RenamedResourcesEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Settings for Ruby client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + class RubySettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Settings for Go client libraries. + # @!attribute [rw] common + # @return [::Google::Api::CommonLanguageSettings] + # Some settings. + # @!attribute [rw] renamed_services + # @return [::Google::Protobuf::Map{::String => ::String}] + # Map of service names to renamed services. Keys are the package relative + # service names and values are the name to be used for the service client + # and call options. + # + # publishing: + # go_settings: + # renamed_services: + # Publisher: TopicAdmin + class GoSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class RenamedServicesEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Describes the generator configuration for a method. + # @!attribute [rw] selector + # @return [::String] + # The fully qualified name of the method, for which the options below apply. + # This is used to find the method to apply the options. + # + # Example: + # + # publishing: + # method_settings: + # - selector: google.storage.control.v2.StorageControl.CreateFolder + # # method settings for CreateFolder... + # @!attribute [rw] long_running + # @return [::Google::Api::MethodSettings::LongRunning] + # Describes settings to use for long-running operations when generating + # API methods for RPCs. Complements RPCs that use the annotations in + # google/longrunning/operations.proto. + # + # Example of a YAML configuration:: + # + # publishing: + # method_settings: + # - selector: google.cloud.speech.v2.Speech.BatchRecognize + # long_running: + # initial_poll_delay: 60s # 1 minute + # poll_delay_multiplier: 1.5 + # max_poll_delay: 360s # 6 minutes + # total_poll_timeout: 54000s # 90 minutes + # @!attribute [rw] auto_populated_fields + # @return [::Array<::String>] + # List of top-level fields of the request message, that should be + # automatically populated by the client libraries based on their + # (google.api.field_info).format. Currently supported format: UUID4. + # + # Example of a YAML configuration: + # + # publishing: + # method_settings: + # - selector: google.example.v1.ExampleService.CreateExample + # auto_populated_fields: + # - request_id + class MethodSettings + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Describes settings to use when generating API methods that use the + # long-running operation pattern. + # All default values below are from those used in the client library + # generators (e.g. + # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). + # @!attribute [rw] initial_poll_delay + # @return [::Google::Protobuf::Duration] + # Initial delay after which the first poll request will be made. + # Default value: 5 seconds. + # @!attribute [rw] poll_delay_multiplier + # @return [::Float] + # Multiplier to gradually increase delay between subsequent polls until it + # reaches max_poll_delay. + # Default value: 1.5. + # @!attribute [rw] max_poll_delay + # @return [::Google::Protobuf::Duration] + # Maximum time between two subsequent poll requests. + # Default value: 45 seconds. + # @!attribute [rw] total_poll_timeout + # @return [::Google::Protobuf::Duration] + # Total polling timeout. + # Default value: 5 minutes. + class LongRunning + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # This message is used to configure the generation of a subset of the RPCs in + # a service for client libraries. + # @!attribute [rw] methods + # @return [::Array<::String>] + # An allowlist of the fully qualified names of RPCs that should be included + # on public client surfaces. + # @!attribute [rw] generate_omitted_as_internal + # @return [::Boolean] + # Setting this to true indicates to the client generators that methods + # that would be excluded from the generation should instead be generated + # in a way that indicates these methods should not be consumed by + # end users. How this is expressed is up to individual language + # implementations to decide. Some examples may be: added annotations, + # obfuscated identifiers, or other language idiomatic patterns. + class SelectiveGapicGeneration + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The organization for which the client libraries are being published. + # Affects the url where generated docs are published, etc. + module ClientLibraryOrganization + # Not useful. + CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0 + + # Google Cloud Platform Org. + CLOUD = 1 + + # Ads (Advertising) Org. + ADS = 2 + + # Photos Org. + PHOTOS = 3 + + # Street View Org. + STREET_VIEW = 4 + + # Shopping Org. + SHOPPING = 5 + + # Geo Org. + GEO = 6 + + # Generative AI - https://developers.generativeai.google + GENERATIVE_AI = 7 + end + + # To where should client libraries be published? + module ClientLibraryDestination + # Client libraries will neither be generated nor published to package + # managers. + CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0 + + # Generate the client library in a repo under github.com/googleapis, + # but don't publish it to package managers. + GITHUB = 10 + + # Publish the library to package managers like nuget.org and npmjs.com. + PACKAGE_MANAGER = 20 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb new file mode 100644 index 000000000000..582be187d115 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Api + # An indicator of the behavior of a given field (for example, that a field + # is required in requests, or given as output but ignored as input). + # This **does not** change the behavior in protocol buffers itself; it only + # denotes the behavior and may affect how API tooling handles the field. + # + # Note: This enum **may** receive new values in the future. + module FieldBehavior + # Conventional default for enums. Do not use this. + FIELD_BEHAVIOR_UNSPECIFIED = 0 + + # Specifically denotes a field as optional. + # While all fields in protocol buffers are optional, this may be specified + # for emphasis if appropriate. + OPTIONAL = 1 + + # Denotes a field as required. + # This indicates that the field **must** be provided as part of the request, + # and failure to do so will cause an error (usually `INVALID_ARGUMENT`). + REQUIRED = 2 + + # Denotes a field as output only. + # This indicates that the field is provided in responses, but including the + # field in a request does nothing (the server *must* ignore it and + # *must not* throw an error as a result of the field's presence). + OUTPUT_ONLY = 3 + + # Denotes a field as input only. + # This indicates that the field is provided in requests, and the + # corresponding field is not included in output. + INPUT_ONLY = 4 + + # Denotes a field as immutable. + # This indicates that the field may be set once in a request to create a + # resource, but may not be changed thereafter. + IMMUTABLE = 5 + + # Denotes that a (repeated) field is an unordered list. + # This indicates that the service may provide the elements of the list + # in any arbitrary order, rather than the order the user originally + # provided. Additionally, the list's order may or may not be stable. + UNORDERED_LIST = 6 + + # Denotes that this field returns a non-empty default value if not set. + # This indicates that if the user provides the empty value in a request, + # a non-empty value will be returned. The user will not be aware of what + # non-empty value to expect. + NON_EMPTY_DEFAULT = 7 + + # Denotes that the field in a resource (a message annotated with + # google.api.resource) is used in the resource name to uniquely identify the + # resource. For AIP-compliant APIs, this should only be applied to the + # `name` field on the resource. + # + # This behavior should not be applied to references to other resources within + # the message. + # + # The identifier field of resources often have different field behavior + # depending on the request it is embedded in (e.g. for Create methods name + # is optional and unused, while for Update methods it is required). Instead + # of method-specific annotations, only `IDENTIFIER` is required. + IDENTIFIER = 8 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb new file mode 100644 index 000000000000..9392a413fb1b --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Api + # The launch stage as defined by [Google Cloud Platform + # Launch Stages](https://cloud.google.com/terms/launch-stages). + module LaunchStage + # Do not use this default value. + LAUNCH_STAGE_UNSPECIFIED = 0 + + # The feature is not yet implemented. Users can not use it. + UNIMPLEMENTED = 6 + + # Prelaunch features are hidden from users and are only visible internally. + PRELAUNCH = 7 + + # Early Access features are limited to a closed group of testers. To use + # these features, you must sign up in advance and sign a Trusted Tester + # agreement (which includes confidentiality provisions). These features may + # be unstable, changed in backward-incompatible ways, and are not + # guaranteed to be released. + EARLY_ACCESS = 1 + + # Alpha is a limited availability test for releases before they are cleared + # for widespread use. By Alpha, all significant design issues are resolved + # and we are in the process of verifying functionality. Alpha customers + # need to apply for access, agree to applicable terms, and have their + # projects allowlisted. Alpha releases don't have to be feature complete, + # no SLAs are provided, and there are no technical support obligations, but + # they will be far enough along that customers can actually use them in + # test environments or for limited-use tests -- just like they would in + # normal production cases. + ALPHA = 2 + + # Beta is the point at which we are ready to open a release for any + # customer to use. There are no SLA or technical support obligations in a + # Beta release. Products will be complete from a feature perspective, but + # may have some open outstanding issues. Beta releases are suitable for + # limited production use cases. + BETA = 3 + + # GA features are open to all developers and are considered stable and + # fully qualified for production use. + GA = 4 + + # Deprecated features are scheduled to be shut down and removed. For more + # information, see the "Deprecation Policy" section of our [Terms of + # Service](https://cloud.google.com/terms/) + # and the [Google Cloud Platform Subject to the Deprecation + # Policy](https://cloud.google.com/terms/deprecation) documentation. + DEPRECATED = 5 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb new file mode 100644 index 000000000000..25dec4847ac1 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb @@ -0,0 +1,227 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Api + # A simple descriptor of a resource type. + # + # ResourceDescriptor annotates a resource message (either by means of a + # protobuf annotation or use in the service config), and associates the + # resource's schema, the resource type, and the pattern of the resource name. + # + # Example: + # + # message Topic { + # // Indicates this message defines a resource schema. + # // Declares the resource type in the format of {service}/{kind}. + # // For Kubernetes resources, the format is {api group}/{kind}. + # option (google.api.resource) = { + # type: "pubsub.googleapis.com/Topic" + # pattern: "projects/{project}/topics/{topic}" + # }; + # } + # + # The ResourceDescriptor Yaml config will look like: + # + # resources: + # - type: "pubsub.googleapis.com/Topic" + # pattern: "projects/{project}/topics/{topic}" + # + # Sometimes, resources have multiple patterns, typically because they can + # live under multiple parents. + # + # Example: + # + # message LogEntry { + # option (google.api.resource) = { + # type: "logging.googleapis.com/LogEntry" + # pattern: "projects/{project}/logs/{log}" + # pattern: "folders/{folder}/logs/{log}" + # pattern: "organizations/{organization}/logs/{log}" + # pattern: "billingAccounts/{billing_account}/logs/{log}" + # }; + # } + # + # The ResourceDescriptor Yaml config will look like: + # + # resources: + # - type: 'logging.googleapis.com/LogEntry' + # pattern: "projects/{project}/logs/{log}" + # pattern: "folders/{folder}/logs/{log}" + # pattern: "organizations/{organization}/logs/{log}" + # pattern: "billingAccounts/{billing_account}/logs/{log}" + # @!attribute [rw] type + # @return [::String] + # The resource type. It must be in the format of + # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be + # singular and must not include version numbers. + # + # Example: `storage.googleapis.com/Bucket` + # + # The value of the resource_type_kind must follow the regular expression + # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and + # should use PascalCase (UpperCamelCase). The maximum number of + # characters allowed for the `resource_type_kind` is 100. + # @!attribute [rw] pattern + # @return [::Array<::String>] + # Optional. The relative resource name pattern associated with this resource + # type. The DNS prefix of the full resource name shouldn't be specified here. + # + # The path pattern must follow the syntax, which aligns with HTTP binding + # syntax: + # + # Template = Segment { "/" Segment } ; + # Segment = LITERAL | Variable ; + # Variable = "{" LITERAL "}" ; + # + # Examples: + # + # - "projects/\\{project}/topics/\\{topic}" + # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}" + # + # The components in braces correspond to the IDs for each resource in the + # hierarchy. It is expected that, if multiple patterns are provided, + # the same component name (e.g. "project") refers to IDs of the same + # type of resource. + # @!attribute [rw] name_field + # @return [::String] + # Optional. The field on the resource that designates the resource name + # field. If omitted, this is assumed to be "name". + # @!attribute [rw] history + # @return [::Google::Api::ResourceDescriptor::History] + # Optional. The historical or future-looking state of the resource pattern. + # + # Example: + # + # // The InspectTemplate message originally only supported resource + # // names with organization, and project was added later. + # message InspectTemplate { + # option (google.api.resource) = { + # type: "dlp.googleapis.com/InspectTemplate" + # pattern: + # "organizations/{organization}/inspectTemplates/{inspect_template}" + # pattern: "projects/{project}/inspectTemplates/{inspect_template}" + # history: ORIGINALLY_SINGLE_PATTERN + # }; + # } + # @!attribute [rw] plural + # @return [::String] + # The plural name used in the resource name and permission names, such as + # 'projects' for the resource name of 'projects/\\{project}' and the permission + # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception + # to this is for Nested Collections that have stuttering names, as defined + # in [AIP-122](https://google.aip.dev/122#nested-collections), where the + # collection ID in the resource name pattern does not necessarily directly + # match the `plural` value. + # + # It is the same concept of the `plural` field in k8s CRD spec + # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ + # + # Note: The plural form is required even for singleton resources. See + # https://aip.dev/156 + # @!attribute [rw] singular + # @return [::String] + # The same concept of the `singular` field in k8s CRD spec + # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ + # Such as "project" for the `resourcemanager.googleapis.com/Project` type. + # @!attribute [rw] style + # @return [::Array<::Google::Api::ResourceDescriptor::Style>] + # Style flag(s) for this resource. + # These indicate that a resource is expected to conform to a given + # style. See the specific style flags for additional information. + class ResourceDescriptor + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # A description of the historical or future-looking state of the + # resource pattern. + module History + # The "unset" value. + HISTORY_UNSPECIFIED = 0 + + # The resource originally had one pattern and launched as such, and + # additional patterns were added later. + ORIGINALLY_SINGLE_PATTERN = 1 + + # The resource has one pattern, but the API owner expects to add more + # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents + # that from being necessary once there are multiple patterns.) + FUTURE_MULTI_PATTERN = 2 + end + + # A flag representing a specific style that a resource claims to conform to. + module Style + # The unspecified value. Do not use. + STYLE_UNSPECIFIED = 0 + + # This resource is intended to be "declarative-friendly". + # + # Declarative-friendly resources must be more strictly consistent, and + # setting this to true communicates to tools that this resource should + # adhere to declarative-friendly expectations. + # + # Note: This is used by the API linter (linter.aip.dev) to enable + # additional checks. + DECLARATIVE_FRIENDLY = 1 + end + end + + # Defines a proto annotation that describes a string field that refers to + # an API resource. + # @!attribute [rw] type + # @return [::String] + # The resource type that the annotated field references. + # + # Example: + # + # message Subscription { + # string topic = 2 [(google.api.resource_reference) = { + # type: "pubsub.googleapis.com/Topic" + # }]; + # } + # + # Occasionally, a field may reference an arbitrary resource. In this case, + # APIs use the special value * in their resource reference. + # + # Example: + # + # message GetIamPolicyRequest { + # string resource = 2 [(google.api.resource_reference) = { + # type: "*" + # }]; + # } + # @!attribute [rw] child_type + # @return [::String] + # The resource type of a child collection that the annotated field + # references. This is useful for annotating the `parent` field that + # doesn't have a fixed resource type. + # + # Example: + # + # message ListLogEntriesRequest { + # string parent = 1 [(google.api.resource_reference) = { + # child_type: "logging.googleapis.com/LogEntry" + # }; + # } + class ResourceReference + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb new file mode 100644 index 000000000000..58691995f02e --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb @@ -0,0 +1,145 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # `Any` contains an arbitrary serialized protocol buffer message along with a + # URL that describes the type of the serialized message. + # + # Protobuf library provides support to pack/unpack Any values in the form + # of utility functions or additional generated methods of the Any type. + # + # Example 1: Pack and unpack a message in C++. + # + # Foo foo = ...; + # Any any; + # any.PackFrom(foo); + # ... + # if (any.UnpackTo(&foo)) { + # ... + # } + # + # Example 2: Pack and unpack a message in Java. + # + # Foo foo = ...; + # Any any = Any.pack(foo); + # ... + # if (any.is(Foo.class)) { + # foo = any.unpack(Foo.class); + # } + # // or ... + # if (any.isSameTypeAs(Foo.getDefaultInstance())) { + # foo = any.unpack(Foo.getDefaultInstance()); + # } + # + # Example 3: Pack and unpack a message in Python. + # + # foo = Foo(...) + # any = Any() + # any.Pack(foo) + # ... + # if any.Is(Foo.DESCRIPTOR): + # any.Unpack(foo) + # ... + # + # Example 4: Pack and unpack a message in Go + # + # foo := &pb.Foo{...} + # any, err := anypb.New(foo) + # if err != nil { + # ... + # } + # ... + # foo := &pb.Foo{} + # if err := any.UnmarshalTo(foo); err != nil { + # ... + # } + # + # The pack methods provided by protobuf library will by default use + # 'type.googleapis.com/full.type.name' as the type URL and the unpack + # methods only use the fully qualified type name after the last '/' + # in the type URL, for example "foo.bar.com/x/y.z" will yield type + # name "y.z". + # + # JSON + # ==== + # The JSON representation of an `Any` value uses the regular + # representation of the deserialized, embedded message, with an + # additional field `@type` which contains the type URL. Example: + # + # package google.profile; + # message Person { + # string first_name = 1; + # string last_name = 2; + # } + # + # { + # "@type": "type.googleapis.com/google.profile.Person", + # "firstName": , + # "lastName": + # } + # + # If the embedded message type is well-known and has a custom JSON + # representation, that representation will be embedded adding a field + # `value` which holds the custom JSON in addition to the `@type` + # field. Example (for message [google.protobuf.Duration][]): + # + # { + # "@type": "type.googleapis.com/google.protobuf.Duration", + # "value": "1.212s" + # } + # @!attribute [rw] type_url + # @return [::String] + # A URL/resource name that uniquely identifies the type of the serialized + # protocol buffer message. This string must contain at least + # one "/" character. The last segment of the URL's path must represent + # the fully qualified name of the type (as in + # `path/google.protobuf.Duration`). The name should be in a canonical form + # (e.g., leading "." is not accepted). + # + # In practice, teams usually precompile into the binary all types that they + # expect it to use in the context of Any. However, for URLs which use the + # scheme `http`, `https`, or no scheme, one can optionally set up a type + # server that maps type URLs to message definitions as follows: + # + # * If no scheme is provided, `https` is assumed. + # * An HTTP GET on the URL must yield a [google.protobuf.Type][] + # value in binary format, or produce an error. + # * Applications are allowed to cache lookup results based on the + # URL, or have them precompiled into a binary to avoid any + # lookup. Therefore, binary compatibility needs to be preserved + # on changes to types. (Use versioned type names to manage + # breaking changes.) + # + # Note: this functionality is not currently available in the official + # protobuf release, and it is not used for type URLs beginning with + # type.googleapis.com. As of May 2023, there are no widely used type server + # implementations and no plans to implement one. + # + # Schemes other than `http`, `https` (or the empty scheme) might be + # used with implementation specific semantics. + # @!attribute [rw] value + # @return [::String] + # Must be a valid serialized protocol buffer of the above specified type. + class Any + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb new file mode 100644 index 000000000000..ea59f1f91daf --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # A Duration represents a signed, fixed-length span of time represented + # as a count of seconds and fractions of seconds at nanosecond + # resolution. It is independent of any calendar and concepts like "day" + # or "month". It is related to Timestamp in that the difference between + # two Timestamp values is a Duration and it can be added or subtracted + # from a Timestamp. Range is approximately +-10,000 years. + # + # # Examples + # + # Example 1: Compute Duration from two Timestamps in pseudo code. + # + # Timestamp start = ...; + # Timestamp end = ...; + # Duration duration = ...; + # + # duration.seconds = end.seconds - start.seconds; + # duration.nanos = end.nanos - start.nanos; + # + # if (duration.seconds < 0 && duration.nanos > 0) { + # duration.seconds += 1; + # duration.nanos -= 1000000000; + # } else if (duration.seconds > 0 && duration.nanos < 0) { + # duration.seconds -= 1; + # duration.nanos += 1000000000; + # } + # + # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + # + # Timestamp start = ...; + # Duration duration = ...; + # Timestamp end = ...; + # + # end.seconds = start.seconds + duration.seconds; + # end.nanos = start.nanos + duration.nanos; + # + # if (end.nanos < 0) { + # end.seconds -= 1; + # end.nanos += 1000000000; + # } else if (end.nanos >= 1000000000) { + # end.seconds += 1; + # end.nanos -= 1000000000; + # } + # + # Example 3: Compute Duration from datetime.timedelta in Python. + # + # td = datetime.timedelta(days=3, minutes=10) + # duration = Duration() + # duration.FromTimedelta(td) + # + # # JSON Mapping + # + # In JSON format, the Duration type is encoded as a string rather than an + # object, where the string ends in the suffix "s" (indicating seconds) and + # is preceded by the number of seconds, with nanoseconds expressed as + # fractional seconds. For example, 3 seconds with 0 nanoseconds should be + # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + # be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + # microsecond should be expressed in JSON format as "3.000001s". + # @!attribute [rw] seconds + # @return [::Integer] + # Signed seconds of the span of time. Must be from -315,576,000,000 + # to +315,576,000,000 inclusive. Note: these bounds are computed from: + # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + # @!attribute [rw] nanos + # @return [::Integer] + # Signed fractions of a second at nanosecond resolution of the span + # of time. Durations less than one second are represented with a 0 + # `seconds` field and a positive or negative `nanos` field. For durations + # of one second or more, a non-zero value for the `nanos` field must be + # of the same sign as the `seconds` field. Must be from -999,999,999 + # to +999,999,999 inclusive. + class Duration + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb new file mode 100644 index 000000000000..83e4481834a6 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # A generic empty message that you can re-use to avoid defining duplicated + # empty messages in your APIs. A typical example is to use it as the request + # or the response type of an API method. For instance: + # + # service Foo { + # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + # } + class Empty + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb new file mode 100644 index 000000000000..7f3ffc78601a --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb @@ -0,0 +1,229 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # `FieldMask` represents a set of symbolic field paths, for example: + # + # paths: "f.a" + # paths: "f.b.d" + # + # Here `f` represents a field in some root message, `a` and `b` + # fields in the message found in `f`, and `d` a field found in the + # message in `f.b`. + # + # Field masks are used to specify a subset of fields that should be + # returned by a get operation or modified by an update operation. + # Field masks also have a custom JSON encoding (see below). + # + # # Field Masks in Projections + # + # When used in the context of a projection, a response message or + # sub-message is filtered by the API to only contain those fields as + # specified in the mask. For example, if the mask in the previous + # example is applied to a response message as follows: + # + # f { + # a : 22 + # b { + # d : 1 + # x : 2 + # } + # y : 13 + # } + # z: 8 + # + # The result will not contain specific values for fields x,y and z + # (their value will be set to the default, and omitted in proto text + # output): + # + # + # f { + # a : 22 + # b { + # d : 1 + # } + # } + # + # A repeated field is not allowed except at the last position of a + # paths string. + # + # If a FieldMask object is not present in a get operation, the + # operation applies to all fields (as if a FieldMask of all fields + # had been specified). + # + # Note that a field mask does not necessarily apply to the + # top-level response message. In case of a REST get operation, the + # field mask applies directly to the response, but in case of a REST + # list operation, the mask instead applies to each individual message + # in the returned resource list. In case of a REST custom method, + # other definitions may be used. Where the mask applies will be + # clearly documented together with its declaration in the API. In + # any case, the effect on the returned resource/resources is required + # behavior for APIs. + # + # # Field Masks in Update Operations + # + # A field mask in update operations specifies which fields of the + # targeted resource are going to be updated. The API is required + # to only change the values of the fields as specified in the mask + # and leave the others untouched. If a resource is passed in to + # describe the updated values, the API ignores the values of all + # fields not covered by the mask. + # + # If a repeated field is specified for an update operation, new values will + # be appended to the existing repeated field in the target resource. Note that + # a repeated field is only allowed in the last position of a `paths` string. + # + # If a sub-message is specified in the last position of the field mask for an + # update operation, then new value will be merged into the existing sub-message + # in the target resource. + # + # For example, given the target message: + # + # f { + # b { + # d: 1 + # x: 2 + # } + # c: [1] + # } + # + # And an update message: + # + # f { + # b { + # d: 10 + # } + # c: [2] + # } + # + # then if the field mask is: + # + # paths: ["f.b", "f.c"] + # + # then the result will be: + # + # f { + # b { + # d: 10 + # x: 2 + # } + # c: [1, 2] + # } + # + # An implementation may provide options to override this default behavior for + # repeated and message fields. + # + # In order to reset a field's value to the default, the field must + # be in the mask and set to the default value in the provided resource. + # Hence, in order to reset all fields of a resource, provide a default + # instance of the resource and set all fields in the mask, or do + # not provide a mask as described below. + # + # If a field mask is not present on update, the operation applies to + # all fields (as if a field mask of all fields has been specified). + # Note that in the presence of schema evolution, this may mean that + # fields the client does not know and has therefore not filled into + # the request will be reset to their default. If this is unwanted + # behavior, a specific service may require a client to always specify + # a field mask, producing an error if not. + # + # As with get operations, the location of the resource which + # describes the updated values in the request message depends on the + # operation kind. In any case, the effect of the field mask is + # required to be honored by the API. + # + # ## Considerations for HTTP REST + # + # The HTTP kind of an update operation which uses a field mask must + # be set to PATCH instead of PUT in order to satisfy HTTP semantics + # (PUT must only be used for full updates). + # + # # JSON Encoding of Field Masks + # + # In JSON, a field mask is encoded as a single string where paths are + # separated by a comma. Fields name in each path are converted + # to/from lower-camel naming conventions. + # + # As an example, consider the following message declarations: + # + # message Profile { + # User user = 1; + # Photo photo = 2; + # } + # message User { + # string display_name = 1; + # string address = 2; + # } + # + # In proto a field mask for `Profile` may look as such: + # + # mask { + # paths: "user.display_name" + # paths: "photo" + # } + # + # In JSON, the same mask is represented as below: + # + # { + # mask: "user.displayName,photo" + # } + # + # # Field Masks and Oneof Fields + # + # Field masks treat fields in oneofs just as regular fields. Consider the + # following message: + # + # message SampleMessage { + # oneof test_oneof { + # string name = 4; + # SubMessage sub_message = 9; + # } + # } + # + # The field mask can be: + # + # mask { + # paths: "name" + # } + # + # Or: + # + # mask { + # paths: "sub_message" + # } + # + # Note that oneof type names ("test_oneof" in this case) cannot be used in + # paths. + # + # ## Field Mask Verification + # + # The implementation of any API method which has a FieldMask type field in the + # request should verify the included field paths, and return an + # `INVALID_ARGUMENT` error if any path is unmappable. + # @!attribute [rw] paths + # @return [::Array<::String>] + # The set of field mask paths. + class FieldMask + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb new file mode 100644 index 000000000000..39e1aca868d2 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb @@ -0,0 +1,108 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # `Struct` represents a structured data value, consisting of fields + # which map to dynamically typed values. In some languages, `Struct` + # might be supported by a native representation. For example, in + # scripting languages like JS a struct is represented as an + # object. The details of that representation are described together + # with the proto support for the language. + # + # The JSON representation for `Struct` is JSON object. + # @!attribute [rw] fields + # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}] + # Unordered map of dynamically typed values. + class Struct + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::Google::Protobuf::Value] + class FieldsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # `Value` represents a dynamically typed value which can be either + # null, a number, a string, a boolean, a recursive struct value, or a + # list of values. A producer of value is expected to set one of these + # variants. Absence of any variant indicates an error. + # + # The JSON representation for `Value` is JSON value. + # @!attribute [rw] null_value + # @return [::Google::Protobuf::NullValue] + # Represents a null value. + # + # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] number_value + # @return [::Float] + # Represents a double value. + # + # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] string_value + # @return [::String] + # Represents a string value. + # + # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] bool_value + # @return [::Boolean] + # Represents a boolean value. + # + # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] struct_value + # @return [::Google::Protobuf::Struct] + # Represents a structured value. + # + # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] list_value + # @return [::Google::Protobuf::ListValue] + # Represents a repeated `Value`. + # + # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class Value + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # `ListValue` is a wrapper around a repeated field of values. + # + # The JSON representation for `ListValue` is JSON array. + # @!attribute [rw] values + # @return [::Array<::Google::Protobuf::Value>] + # Repeated field of dynamically typed values. + class ListValue + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # `NullValue` is a singleton enumeration to represent the null value for the + # `Value` type union. + # + # The JSON representation for `NullValue` is JSON `null`. + module NullValue + # Null value. + NULL_VALUE = 0 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb new file mode 100644 index 000000000000..74352be9c58c --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb @@ -0,0 +1,127 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Protobuf + # A Timestamp represents a point in time independent of any time zone or local + # calendar, encoded as a count of seconds and fractions of seconds at + # nanosecond resolution. The count is relative to an epoch at UTC midnight on + # January 1, 1970, in the proleptic Gregorian calendar which extends the + # Gregorian calendar backwards to year one. + # + # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + # second table is needed for interpretation, using a [24-hour linear + # smear](https://developers.google.com/time/smear). + # + # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + # restricting to that range, we ensure that we can convert to and from [RFC + # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + # + # # Examples + # + # Example 1: Compute Timestamp from POSIX `time()`. + # + # Timestamp timestamp; + # timestamp.set_seconds(time(NULL)); + # timestamp.set_nanos(0); + # + # Example 2: Compute Timestamp from POSIX `gettimeofday()`. + # + # struct timeval tv; + # gettimeofday(&tv, NULL); + # + # Timestamp timestamp; + # timestamp.set_seconds(tv.tv_sec); + # timestamp.set_nanos(tv.tv_usec * 1000); + # + # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + # + # FILETIME ft; + # GetSystemTimeAsFileTime(&ft); + # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + # + # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + # Timestamp timestamp; + # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + # + # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + # + # long millis = System.currentTimeMillis(); + # + # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + # .setNanos((int) ((millis % 1000) * 1000000)).build(); + # + # Example 5: Compute Timestamp from Java `Instant.now()`. + # + # Instant now = Instant.now(); + # + # Timestamp timestamp = + # Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + # .setNanos(now.getNano()).build(); + # + # Example 6: Compute Timestamp from current time in Python. + # + # timestamp = Timestamp() + # timestamp.GetCurrentTime() + # + # # JSON Mapping + # + # In JSON format, the Timestamp type is encoded as a string in the + # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z" + # where \\{year} is always expressed using four digits while \\{month}, \\{day}, + # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional + # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + # is required. A proto3 JSON serializer should always use UTC (as indicated by + # "Z") when printing the Timestamp type and a proto3 JSON parser should be + # able to accept both UTC and other timezones (as indicated by an offset). + # + # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + # 01:30 UTC on January 15, 2017. + # + # In JavaScript, one can convert a Date object to this format using the + # standard + # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + # method. In Python, a standard `datetime.datetime` object can be converted + # to this format using + # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + # the Joda Time's [`ISODateTimeFormat.dateTime()`]( + # http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + # ) to obtain a formatter capable of generating timestamps in this format. + # @!attribute [rw] seconds + # @return [::Integer] + # Represents seconds of UTC time since Unix epoch + # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + # 9999-12-31T23:59:59Z inclusive. + # @!attribute [rw] nanos + # @return [::Integer] + # Non-negative fractions of a second at nanosecond resolution. Negative + # second values with fractions must still have non-negative nanos values + # that count forward in time. Must be from 0 to 999,999,999 + # inclusive. + class Timestamp + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb new file mode 100644 index 000000000000..c1a1c07eb2db --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Rpc + # The `Status` type defines a logical error model that is suitable for + # different programming environments, including REST APIs and RPC APIs. It is + # used by [gRPC](https://github.com/grpc). Each `Status` message contains + # three pieces of data: error code, error message, and error details. + # + # You can find out more about this error model and how to work with it in the + # [API Design Guide](https://cloud.google.com/apis/design/errors). + # @!attribute [rw] code + # @return [::Integer] + # The status code, which should be an enum value of + # [google.rpc.Code][google.rpc.Code]. + # @!attribute [rw] message + # @return [::String] + # A developer-facing error message, which should be in English. Any + # user-facing error message should be localized and sent in the + # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized + # by the client. + # @!attribute [rw] details + # @return [::Array<::Google::Protobuf::Any>] + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + class Status + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb new file mode 100644 index 000000000000..23895f01f033 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Note kind that represents a logical attestation "role" or "authority". For + # example, an organization might have one `Authority` for "QA" and one for + # "build". This note is intended to act strictly as a grouping mechanism for + # the attached occurrences (Attestations). This grouping mechanism also + # provides a security boundary, since IAM ACLs gate the ability for a principle + # to attach an occurrence to a given note. It also provides a single point of + # lookup to find all attached attestation occurrences, even if they don't all + # live in the same project. + # @!attribute [rw] hint + # @return [::Grafeas::V1::AttestationNote::Hint] + # Hint hints at the purpose of the attestation authority. + class AttestationNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # This submessage provides human-readable hints about the purpose of the + # authority. Because the name of a note acts as its resource reference, it is + # important to disambiguate the canonical name of the Note (which might be a + # UUID for security purposes) from "readable" names more suitable for debug + # output. Note that these hints should not be used to look up authorities in + # security sensitive contexts, such as when looking up attestations to + # verify. + # @!attribute [rw] human_readable_name + # @return [::String] + # Required. The human readable name of this attestation authority, for + # example "qa". + class Hint + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # @!attribute [rw] compact_jwt + # @return [::String] + # The compact encoding of a JWS, which is always three base64 encoded strings + # joined by periods. For details, see: + # https://tools.ietf.org/html/rfc7515.html#section-3.1 + class Jwt + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Occurrence that represents a single "attestation". The authenticity of an + # attestation can be verified using the attached signature. If the verifier + # trusts the public key of the signer, then verifying the signature is + # sufficient to establish trust. In this circumstance, the authority to which + # this attestation is attached is primarily useful for lookup (how to find + # this attestation if you already know the authority and artifact to be + # verified) and intent (for which authority this attestation was intended to + # sign. + # @!attribute [rw] serialized_payload + # @return [::String] + # Required. The serialized payload that is verified by one or more + # `signatures`. + # @!attribute [rw] signatures + # @return [::Array<::Grafeas::V1::Signature>] + # One or more signatures over `serialized_payload`. Verifier implementations + # should consider this attestation message verified if at least one + # `signature` verifies `serialized_payload`. See `Signature` in common.proto + # for more details on signature structure and verification. + # @!attribute [rw] jwts + # @return [::Array<::Grafeas::V1::Jwt>] + # One or more JWTs encoding a self-contained attestation. + # Each JWT encodes the payload that it verifies within the JWT itself. + # Verifier implementation SHOULD ignore the `serialized_payload` field + # when verifying these JWTs. + # If only JWTs are present on this AttestationOccurrence, then the + # `serialized_payload` SHOULD be left empty. + # Each JWT SHOULD encode a claim specific to the `resource_uri` of this + # Occurrence, but this is not validated by Grafeas metadata API + # implementations. The JWT itself is opaque to Grafeas. + class AttestationOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb new file mode 100644 index 000000000000..e82c88d57153 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Note holding the version of the provider's builder and the signature of the + # provenance message in the build details occurrence. + # @!attribute [rw] builder_version + # @return [::String] + # Required. Immutable. Version of the builder which produced this build. + class BuildNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Details of a build occurrence. + # @!attribute [rw] provenance + # @return [::Grafeas::V1::BuildProvenance] + # The actual provenance for the build. + # @!attribute [rw] provenance_bytes + # @return [::String] + # Serialized JSON representation of the provenance, used in generating the + # build signature in the corresponding build note. After verifying the + # signature, `provenance_bytes` can be unmarshalled and compared to the + # provenance to confirm that it is unchanged. A base64-encoded string + # representation of the provenance bytes is used for the signature in order + # to interoperate with openssl which expects this format for signature + # verification. + # + # The serialized form is captured both to avoid ambiguity in how the + # provenance is marshalled to json as well to prevent incompatibilities with + # future changes. + # @!attribute [rw] intoto_provenance + # @return [::Grafeas::V1::InTotoProvenance] + # Deprecated. See InTotoStatement for the replacement. + # In-toto Provenance representation as defined in spec. + # @!attribute [rw] intoto_statement + # @return [::Grafeas::V1::InTotoStatement] + # In-toto Statement representation as defined in spec. + # The intoto_statement can contain any type of provenance. The serialized + # payload of the statement can be stored and signed in the Occurrence's + # envelope. + # @!attribute [rw] in_toto_slsa_provenance_v1 + # @return [::Grafeas::V1::InTotoSlsaProvenanceV1] + # In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa + # spec, wrapped in an in-toto statement. This allows for direct + # jsonification of a to-spec in-toto slsa statement with a to-spec + # slsa provenance. + class BuildOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb new file mode 100644 index 000000000000..948090fe2088 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb @@ -0,0 +1,236 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Metadata for any related URL information. + # @!attribute [rw] url + # @return [::String] + # Specific URL associated with the resource. + # @!attribute [rw] label + # @return [::String] + # Label to describe usage of the URL. + class RelatedUrl + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Verifiers (e.g. Kritis implementations) MUST verify signatures + # with respect to the trust anchors defined in policy (e.g. a Kritis policy). + # Typically this means that the verifier has been configured with a map from + # `public_key_id` to public key material (and any required parameters, e.g. + # signing algorithm). + # + # In particular, verification implementations MUST NOT treat the signature + # `public_key_id` as anything more than a key lookup hint. The `public_key_id` + # DOES NOT validate or authenticate a public key; it only provides a mechanism + # for quickly selecting a public key ALREADY CONFIGURED on the verifier through + # a trusted channel. Verification implementations MUST reject signatures in any + # of the following circumstances: + # * The `public_key_id` is not recognized by the verifier. + # * The public key that `public_key_id` refers to does not verify the + # signature with respect to the payload. + # + # The `signature` contents SHOULD NOT be "attached" (where the payload is + # included with the serialized `signature` bytes). Verifiers MUST ignore any + # "attached" payload and only verify signatures with respect to explicitly + # provided payload (e.g. a `payload` field on the proto message that holds + # this Signature, or the canonical serialization of the proto message that + # holds this signature). + # @!attribute [rw] signature + # @return [::String] + # The content of the signature, an opaque bytestring. + # The payload that this signature verifies MUST be unambiguously provided + # with the Signature during verification. A wrapper message might provide + # the payload explicitly. Alternatively, a message might have a canonical + # serialization that can always be unambiguously computed to derive the + # payload. + # @!attribute [rw] public_key_id + # @return [::String] + # The identifier for the public key that verifies this signature. + # * The `public_key_id` is required. + # * The `public_key_id` SHOULD be an RFC3986 conformant URI. + # * When possible, the `public_key_id` SHOULD be an immutable reference, + # such as a cryptographic digest. + # + # Examples of valid `public_key_id`s: + # + # OpenPGP V4 public key fingerprint: + # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" + # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more + # details on this scheme. + # + # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER + # serialization): + # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" + # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5" + class Signature + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # MUST match + # https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An + # authenticated message of arbitrary type. + # @!attribute [rw] payload + # @return [::String] + # @!attribute [rw] payload_type + # @return [::String] + # @!attribute [rw] signatures + # @return [::Array<::Grafeas::V1::EnvelopeSignature>] + class Envelope + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] sig + # @return [::String] + # @!attribute [rw] keyid + # @return [::String] + class EnvelopeSignature + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Indicates the location at which a package was found. + # @!attribute [rw] file_path + # @return [::String] + # For jars that are contained inside .war files, this filepath + # can indicate the path to war file combined with the path to jar file. + # @!attribute [rw] layer_details + # @return [::Grafeas::V1::LayerDetails] + # Each package found in a file should have its own layer metadata (that is, + # information from the origin layer of the package). + class FileLocation + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # BaseImage describes a base image of a container image. + # @!attribute [rw] name + # @return [::String] + # The name of the base image. + # @!attribute [rw] repository + # @return [::String] + # The repository name in which the base image is from. + # @!attribute [rw] layer_count + # @return [::Integer] + # The number of layers that the base image is composed of. + class BaseImage + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Details about the layer a package was found in. + # @!attribute [rw] index + # @return [::Integer] + # The index of the layer in the container image. + # @!attribute [rw] diff_id + # @return [::String] + # The diff ID (typically a sha256 hash) of the layer in the container image. + # @!attribute [rw] chain_id + # @return [::String] + # The layer chain ID (sha256 hash) of the layer in the container image. + # https://github.com/opencontainers/image-spec/blob/main/config.md#layer-chainid + # @!attribute [rw] command + # @return [::String] + # The layer build command that was used to build the layer. This may not be + # found in all layers depending on how the container image is built. + # @!attribute [rw] base_images + # @return [::Array<::Grafeas::V1::BaseImage>] + # The base images the layer is found within. + class LayerDetails + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # License information. + # @!attribute [rw] expression + # @return [::String] + # Often a single license can be used to represent the licensing terms. + # Sometimes it is necessary to include a choice of one or more licenses + # or some combination of license identifiers. + # Examples: "LGPL-2.1-only OR MIT", "LGPL-2.1-only AND MIT", + # "GPL-2.0-or-later WITH Bison-exception-2.2". + # @!attribute [rw] comments + # @return [::String] + # Comments + class License + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Digest information. + # @!attribute [rw] algo + # @return [::String] + # `SHA1`, `SHA512` etc. + # @!attribute [rw] digest_bytes + # @return [::String] + # Value of the digest. + class Digest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Kind represents the kinds of notes supported. + module NoteKind + # Default value. This value is unused. + NOTE_KIND_UNSPECIFIED = 0 + + # The note and occurrence represent a package vulnerability. + VULNERABILITY = 1 + + # The note and occurrence assert build provenance. + BUILD = 2 + + # This represents an image basis relationship. + IMAGE = 3 + + # This represents a package installed via a package manager. + PACKAGE = 4 + + # The note and occurrence track deployment events. + DEPLOYMENT = 5 + + # The note and occurrence track the initial discovery status of a resource. + DISCOVERY = 6 + + # This represents a logical "role" that can attest to artifacts. + ATTESTATION = 7 + + # This represents an available package upgrade. + UPGRADE = 8 + + # This represents a Compliance Note + COMPLIANCE = 9 + + # This represents a DSSE attestation Note + DSSE_ATTESTATION = 10 + + # This represents a Vulnerability Assessment. + VULNERABILITY_ASSESSMENT = 11 + + # This represents an SBOM Reference. + SBOM_REFERENCE = 12 + + # This represents a secret. + SECRET = 13 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb new file mode 100644 index 000000000000..9c5f6037ecd1 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # @!attribute [rw] title + # @return [::String] + # The title that identifies this compliance check. + # @!attribute [rw] description + # @return [::String] + # A description about this compliance check. + # @!attribute [rw] version + # @return [::Array<::Grafeas::V1::ComplianceVersion>] + # The OS and config versions the benchmark applies to. + # @!attribute [rw] rationale + # @return [::String] + # A rationale for the existence of this compliance check. + # @!attribute [rw] remediation + # @return [::String] + # A description of remediation steps if the compliance check fails. + # @!attribute [rw] cis_benchmark + # @return [::Grafeas::V1::ComplianceNote::CisBenchmark] + # @!attribute [rw] scan_instructions + # @return [::String] + # Serialized scan instructions with a predefined format. + # @!attribute [rw] impact + # @return [::String] + class ComplianceNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # A compliance check that is a CIS benchmark. + # @!attribute [rw] profile_level + # @return [::Integer] + # @!attribute [rw] severity + # @return [::Grafeas::V1::Severity] + class CisBenchmark + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Describes the CIS benchmark version that is applicable to a given OS and + # os version. + # @!attribute [rw] cpe_uri + # @return [::String] + # The CPE URI (https://cpe.mitre.org/specification/) this benchmark is + # applicable to. + # @!attribute [rw] benchmark_document + # @return [::String] + # The name of the document that defines this benchmark, e.g. "CIS + # Container-Optimized OS". + # @!attribute [rw] version + # @return [::String] + # The version of the benchmark. This is set to the version of the OS-specific + # CIS document the benchmark is defined in. + class ComplianceVersion + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # An indication that the compliance checks in the associated ComplianceNote + # were not satisfied for particular resources or a specified reason. + # @!attribute [rw] non_compliant_files + # @return [::Array<::Grafeas::V1::NonCompliantFile>] + # @!attribute [rw] non_compliance_reason + # @return [::String] + # @!attribute [rw] version + # @return [::Grafeas::V1::ComplianceVersion] + # The OS and config version the benchmark was run on. + class ComplianceOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Details about files that caused a compliance check to fail. + # @!attribute [rw] path + # @return [::String] + # Empty if `display_command` is set. + # @!attribute [rw] display_command + # @return [::String] + # Command to display the non-compliant files. + # @!attribute [rw] reason + # @return [::String] + # Explains why a file is non compliant for a CIS check. + class NonCompliantFile + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb new file mode 100644 index 000000000000..4f3b944949f3 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb @@ -0,0 +1,229 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Common Vulnerability Scoring System version 3. + # For details, see https://www.first.org/cvss/specification-document + # @!attribute [rw] base_score + # @return [::Float] + # The base score is a function of the base metric scores. + # @!attribute [rw] exploitability_score + # @return [::Float] + # @!attribute [rw] impact_score + # @return [::Float] + # @!attribute [rw] attack_vector + # @return [::Grafeas::V1::CVSSv3::AttackVector] + # Base Metrics + # Represents the intrinsic characteristics of a vulnerability that are + # constant over time and across user environments. + # @!attribute [rw] attack_complexity + # @return [::Grafeas::V1::CVSSv3::AttackComplexity] + # @!attribute [rw] privileges_required + # @return [::Grafeas::V1::CVSSv3::PrivilegesRequired] + # @!attribute [rw] user_interaction + # @return [::Grafeas::V1::CVSSv3::UserInteraction] + # @!attribute [rw] scope + # @return [::Grafeas::V1::CVSSv3::Scope] + # @!attribute [rw] confidentiality_impact + # @return [::Grafeas::V1::CVSSv3::Impact] + # @!attribute [rw] integrity_impact + # @return [::Grafeas::V1::CVSSv3::Impact] + # @!attribute [rw] availability_impact + # @return [::Grafeas::V1::CVSSv3::Impact] + class CVSSv3 + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + module AttackVector + ATTACK_VECTOR_UNSPECIFIED = 0 + + ATTACK_VECTOR_NETWORK = 1 + + ATTACK_VECTOR_ADJACENT = 2 + + ATTACK_VECTOR_LOCAL = 3 + + ATTACK_VECTOR_PHYSICAL = 4 + end + + module AttackComplexity + ATTACK_COMPLEXITY_UNSPECIFIED = 0 + + ATTACK_COMPLEXITY_LOW = 1 + + ATTACK_COMPLEXITY_HIGH = 2 + end + + module PrivilegesRequired + PRIVILEGES_REQUIRED_UNSPECIFIED = 0 + + PRIVILEGES_REQUIRED_NONE = 1 + + PRIVILEGES_REQUIRED_LOW = 2 + + PRIVILEGES_REQUIRED_HIGH = 3 + end + + module UserInteraction + USER_INTERACTION_UNSPECIFIED = 0 + + USER_INTERACTION_NONE = 1 + + USER_INTERACTION_REQUIRED = 2 + end + + module Scope + SCOPE_UNSPECIFIED = 0 + + SCOPE_UNCHANGED = 1 + + SCOPE_CHANGED = 2 + end + + module Impact + IMPACT_UNSPECIFIED = 0 + + IMPACT_HIGH = 1 + + IMPACT_LOW = 2 + + IMPACT_NONE = 3 + end + end + + # Common Vulnerability Scoring System. + # For details, see https://www.first.org/cvss/specification-document + # This is a message we will try to use for storing various versions of CVSS + # rather than making a separate proto for storing a specific version. + # @!attribute [rw] base_score + # @return [::Float] + # The base score is a function of the base metric scores. + # @!attribute [rw] exploitability_score + # @return [::Float] + # @!attribute [rw] impact_score + # @return [::Float] + # @!attribute [rw] attack_vector + # @return [::Grafeas::V1::CVSS::AttackVector] + # Base Metrics + # Represents the intrinsic characteristics of a vulnerability that are + # constant over time and across user environments. + # @!attribute [rw] attack_complexity + # @return [::Grafeas::V1::CVSS::AttackComplexity] + # @!attribute [rw] authentication + # @return [::Grafeas::V1::CVSS::Authentication] + # @!attribute [rw] privileges_required + # @return [::Grafeas::V1::CVSS::PrivilegesRequired] + # @!attribute [rw] user_interaction + # @return [::Grafeas::V1::CVSS::UserInteraction] + # @!attribute [rw] scope + # @return [::Grafeas::V1::CVSS::Scope] + # @!attribute [rw] confidentiality_impact + # @return [::Grafeas::V1::CVSS::Impact] + # @!attribute [rw] integrity_impact + # @return [::Grafeas::V1::CVSS::Impact] + # @!attribute [rw] availability_impact + # @return [::Grafeas::V1::CVSS::Impact] + class CVSS + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + module AttackVector + ATTACK_VECTOR_UNSPECIFIED = 0 + + ATTACK_VECTOR_NETWORK = 1 + + ATTACK_VECTOR_ADJACENT = 2 + + ATTACK_VECTOR_LOCAL = 3 + + ATTACK_VECTOR_PHYSICAL = 4 + end + + module AttackComplexity + ATTACK_COMPLEXITY_UNSPECIFIED = 0 + + ATTACK_COMPLEXITY_LOW = 1 + + ATTACK_COMPLEXITY_HIGH = 2 + + ATTACK_COMPLEXITY_MEDIUM = 3 + end + + module Authentication + AUTHENTICATION_UNSPECIFIED = 0 + + AUTHENTICATION_MULTIPLE = 1 + + AUTHENTICATION_SINGLE = 2 + + AUTHENTICATION_NONE = 3 + end + + module PrivilegesRequired + PRIVILEGES_REQUIRED_UNSPECIFIED = 0 + + PRIVILEGES_REQUIRED_NONE = 1 + + PRIVILEGES_REQUIRED_LOW = 2 + + PRIVILEGES_REQUIRED_HIGH = 3 + end + + module UserInteraction + USER_INTERACTION_UNSPECIFIED = 0 + + USER_INTERACTION_NONE = 1 + + USER_INTERACTION_REQUIRED = 2 + end + + module Scope + SCOPE_UNSPECIFIED = 0 + + SCOPE_UNCHANGED = 1 + + SCOPE_CHANGED = 2 + end + + module Impact + IMPACT_UNSPECIFIED = 0 + + IMPACT_HIGH = 1 + + IMPACT_LOW = 2 + + IMPACT_NONE = 3 + + IMPACT_PARTIAL = 4 + + IMPACT_COMPLETE = 5 + end + end + + # CVSS Version. + module CVSSVersion + CVSS_VERSION_UNSPECIFIED = 0 + + CVSS_VERSION_2 = 1 + + CVSS_VERSION_3 = 2 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb new file mode 100644 index 000000000000..0ac1498fd779 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # An artifact that can be deployed in some runtime. + # @!attribute [rw] resource_uri + # @return [::Array<::String>] + # Required. Resource URI for the artifact being deployed. + class DeploymentNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The period during which some deployable was active in a runtime. + # @!attribute [rw] user_email + # @return [::String] + # Identity of the user that triggered this deployment. + # @!attribute [rw] deploy_time + # @return [::Google::Protobuf::Timestamp] + # Required. Beginning of the lifetime of this deployment. + # @!attribute [rw] undeploy_time + # @return [::Google::Protobuf::Timestamp] + # End of the lifetime of this deployment. + # @!attribute [rw] config + # @return [::String] + # Configuration used to create this deployment. + # @!attribute [rw] address + # @return [::String] + # Address of the runtime element hosting this deployment. + # @!attribute [rw] resource_uri + # @return [::Array<::String>] + # Output only. Resource URI for the artifact being deployed taken from + # the deployable field with the same name. + # @!attribute [rw] platform + # @return [::Grafeas::V1::DeploymentOccurrence::Platform] + # Platform hosting this deployment. + class DeploymentOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Types of platforms. + module Platform + # Unknown. + PLATFORM_UNSPECIFIED = 0 + + # Google Container Engine. + GKE = 1 + + # Google App Engine: Flexible Environment. + FLEX = 2 + + # Custom user-defined platform. + CUSTOM = 3 + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb new file mode 100644 index 000000000000..afc178d1339c --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb @@ -0,0 +1,195 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # A note that indicates a type of analysis a provider would perform. This note + # exists in a provider's project. A `Discovery` occurrence is created in a + # consumer's project at the start of analysis. + # @!attribute [rw] analysis_kind + # @return [::Grafeas::V1::NoteKind] + # Required. Immutable. The kind of analysis that is handled by this + # discovery. + class DiscoveryNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Provides information about the analysis status of a discovered resource. + # @!attribute [rw] continuous_analysis + # @return [::Grafeas::V1::DiscoveryOccurrence::ContinuousAnalysis] + # Whether the resource is continuously analyzed. + # @!attribute [rw] analysis_status + # @return [::Grafeas::V1::DiscoveryOccurrence::AnalysisStatus] + # The status of discovery for the resource. + # @!attribute [rw] analysis_completed + # @return [::Grafeas::V1::DiscoveryOccurrence::AnalysisCompleted] + # @!attribute [rw] analysis_error + # @return [::Array<::Google::Rpc::Status>] + # Indicates any errors encountered during analysis of a resource. There + # could be 0 or more of these errors. + # @!attribute [rw] analysis_status_error + # @return [::Google::Rpc::Status] + # When an error is encountered this will contain a LocalizedMessage under + # details to show to the user. The LocalizedMessage is output only and + # populated by the API. + # @!attribute [rw] cpe + # @return [::String] + # The CPE of the resource being scanned. + # @!attribute [rw] last_scan_time + # @return [::Google::Protobuf::Timestamp] + # The last time this resource was scanned. + # @!attribute [r] archive_time + # @return [::Google::Protobuf::Timestamp] + # The time occurrences related to this discovery occurrence were archived. + # @!attribute [rw] sbom_status + # @return [::Grafeas::V1::DiscoveryOccurrence::SBOMStatus] + # The status of an SBOM generation. + # @!attribute [rw] vulnerability_attestation + # @return [::Grafeas::V1::DiscoveryOccurrence::VulnerabilityAttestation] + # The status of an vulnerability attestation generation. + # @!attribute [rw] files + # @return [::Array<::Grafeas::V1::DiscoveryOccurrence::File>] + # Files that make up the resource described by the occurrence. + # @!attribute [rw] last_vulnerability_update_time + # @return [::Google::Protobuf::Timestamp] + # The last time vulnerability scan results changed. + class DiscoveryOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Indicates which analysis completed successfully. Multiple types of + # analysis can be performed on a single resource. + # @!attribute [rw] analysis_type + # @return [::Array<::String>] + class AnalysisCompleted + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The status of an SBOM generation. + # @!attribute [rw] sbom_state + # @return [::Grafeas::V1::DiscoveryOccurrence::SBOMStatus::SBOMState] + # The progress of the SBOM generation. + # @!attribute [rw] error + # @return [::String] + # If there was an error generating an SBOM, this will indicate what that + # error was. + class SBOMStatus + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # An enum indicating the progress of the SBOM generation. + module SBOMState + # Default unknown state. + SBOM_STATE_UNSPECIFIED = 0 + + # SBOM scanning is pending. + PENDING = 1 + + # SBOM scanning has completed. + COMPLETE = 2 + end + end + + # The status of an vulnerability attestation generation. + # @!attribute [rw] last_attempt_time + # @return [::Google::Protobuf::Timestamp] + # The last time we attempted to generate an attestation. + # @!attribute [rw] state + # @return [::Grafeas::V1::DiscoveryOccurrence::VulnerabilityAttestation::VulnerabilityAttestationState] + # The success/failure state of the latest attestation attempt. + # @!attribute [rw] error + # @return [::String] + # If failure, the error reason for why the attestation generation failed. + class VulnerabilityAttestation + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # An enum indicating the state of the attestation generation. + module VulnerabilityAttestationState + # Default unknown state. + VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED = 0 + + # Attestation was successfully generated and stored. + SUCCESS = 1 + + # Attestation was unsuccessfully generated and stored. + FAILURE = 2 + end + end + + # @!attribute [rw] name + # @return [::String] + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + class File + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Whether the resource is continuously analyzed. + module ContinuousAnalysis + # Unknown. + CONTINUOUS_ANALYSIS_UNSPECIFIED = 0 + + # The resource is continuously analyzed. + ACTIVE = 1 + + # The resource is ignored for continuous analysis. + INACTIVE = 2 + end + + # Analysis status for a resource. Currently for initial analysis only (not + # updated in continuous analysis). + module AnalysisStatus + # Unknown. + ANALYSIS_STATUS_UNSPECIFIED = 0 + + # Resource is known but no action has been taken yet. + PENDING = 1 + + # Resource is being analyzed. + SCANNING = 2 + + # Analysis has finished successfully. + FINISHED_SUCCESS = 3 + + # Analysis has completed. + COMPLETE = 3 + + # Analysis has finished unsuccessfully, the analysis itself is in a bad + # state. + FINISHED_FAILED = 4 + + # The resource is known not to be supported. + FINISHED_UNSUPPORTED = 5 + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb new file mode 100644 index 000000000000..322be7281007 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # @!attribute [rw] hint + # @return [::Grafeas::V1::DSSEAttestationNote::DSSEHint] + # DSSEHint hints at the purpose of the attestation authority. + class DSSEAttestationNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # This submessage provides human-readable hints about the purpose of the + # authority. Because the name of a note acts as its resource reference, it is + # important to disambiguate the canonical name of the Note (which might be a + # UUID for security purposes) from "readable" names more suitable for debug + # output. Note that these hints should not be used to look up authorities in + # security sensitive contexts, such as when looking up attestations to + # verify. + # @!attribute [rw] human_readable_name + # @return [::String] + # Required. The human readable name of this attestation authority, for + # example "cloudbuild-prod". + class DSSEHint + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Deprecated. Prefer to use a regular Occurrence, and populate the + # Envelope at the top level of the Occurrence. + # @!attribute [rw] envelope + # @return [::Grafeas::V1::Envelope] + # If doing something security critical, make sure to verify the signatures in + # this metadata. + # @!attribute [rw] statement + # @return [::Grafeas::V1::InTotoStatement] + class DSSEAttestationOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb new file mode 100644 index 000000000000..e9e28629e628 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb @@ -0,0 +1,510 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # An instance of an analysis type that has been found on a resource. + # @!attribute [rw] name + # @return [::String] + # Output only. The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + # @!attribute [rw] resource_uri + # @return [::String] + # 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. + # @!attribute [rw] note_name + # @return [::String] + # 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. + # @!attribute [rw] kind + # @return [::Grafeas::V1::NoteKind] + # Output only. This explicitly denotes which of the occurrence details are + # specified. This field can be used as a filter in list requests. + # @!attribute [rw] remediation + # @return [::String] + # A description of actions that can be taken to remedy the note. + # @!attribute [rw] create_time + # @return [::Google::Protobuf::Timestamp] + # Output only. The time this occurrence was created. + # @!attribute [rw] update_time + # @return [::Google::Protobuf::Timestamp] + # Output only. The time this occurrence was last updated. + # @!attribute [rw] vulnerability + # @return [::Grafeas::V1::VulnerabilityOccurrence] + # Describes a security vulnerability. + # + # Note: The following fields are mutually exclusive: `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] build + # @return [::Grafeas::V1::BuildOccurrence] + # Describes a verifiable build. + # + # Note: The following fields are mutually exclusive: `build`, `vulnerability`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] image + # @return [::Grafeas::V1::ImageOccurrence] + # Describes how this resource derives from the basis in the associated + # note. + # + # Note: The following fields are mutually exclusive: `image`, `vulnerability`, `build`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] package + # @return [::Grafeas::V1::PackageOccurrence] + # Describes the installation of a package on the linked resource. + # + # Note: The following fields are mutually exclusive: `package`, `vulnerability`, `build`, `image`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] deployment + # @return [::Grafeas::V1::DeploymentOccurrence] + # Describes the deployment of an artifact on a runtime. + # + # Note: The following fields are mutually exclusive: `deployment`, `vulnerability`, `build`, `image`, `package`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] discovery + # @return [::Grafeas::V1::DiscoveryOccurrence] + # Describes when a resource was discovered. + # + # Note: The following fields are mutually exclusive: `discovery`, `vulnerability`, `build`, `image`, `package`, `deployment`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] attestation + # @return [::Grafeas::V1::AttestationOccurrence] + # Describes an attestation of an artifact. + # + # Note: The following fields are mutually exclusive: `attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] upgrade + # @return [::Grafeas::V1::UpgradeOccurrence] + # Describes an available package upgrade on the linked resource. + # + # Note: The following fields are mutually exclusive: `upgrade`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] compliance + # @return [::Grafeas::V1::ComplianceOccurrence] + # Describes a compliance violation on a linked resource. + # + # Note: The following fields are mutually exclusive: `compliance`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] dsse_attestation + # @return [::Grafeas::V1::DSSEAttestationOccurrence] + # Describes an attestation of an artifact using dsse. + # + # Note: The following fields are mutually exclusive: `dsse_attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] sbom_reference + # @return [::Grafeas::V1::SBOMReferenceOccurrence] + # Describes a specific SBOM reference occurrences. + # + # Note: The following fields are mutually exclusive: `sbom_reference`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] secret + # @return [::Grafeas::V1::SecretOccurrence] + # Describes a secret. + # + # Note: The following fields are mutually exclusive: `secret`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] envelope + # @return [::Grafeas::V1::Envelope] + # https://github.com/secure-systems-lab/dsse + class Occurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A type of analysis that can be done for a resource. + # @!attribute [rw] name + # @return [::String] + # Output only. The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # @!attribute [rw] short_description + # @return [::String] + # A one sentence description of this note. + # @!attribute [rw] long_description + # @return [::String] + # A detailed description of this note. + # @!attribute [rw] kind + # @return [::Grafeas::V1::NoteKind] + # Output only. The type of analysis. This field can be used as a filter in + # list requests. + # @!attribute [rw] related_url + # @return [::Array<::Grafeas::V1::RelatedUrl>] + # URLs associated with this note. + # @!attribute [rw] expiration_time + # @return [::Google::Protobuf::Timestamp] + # Time of expiration for this note. Empty if note does not expire. + # @!attribute [rw] create_time + # @return [::Google::Protobuf::Timestamp] + # Output only. The time this note was created. This field can be used as a + # filter in list requests. + # @!attribute [rw] update_time + # @return [::Google::Protobuf::Timestamp] + # Output only. The time this note was last updated. This field can be used as + # a filter in list requests. + # @!attribute [rw] related_note_names + # @return [::Array<::String>] + # Other notes related to this note. + # @!attribute [rw] vulnerability + # @return [::Grafeas::V1::VulnerabilityNote] + # A note describing a package vulnerability. + # + # Note: The following fields are mutually exclusive: `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] build + # @return [::Grafeas::V1::BuildNote] + # A note describing build provenance for a verifiable build. + # + # Note: The following fields are mutually exclusive: `build`, `vulnerability`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] image + # @return [::Grafeas::V1::ImageNote] + # A note describing a base image. + # + # Note: The following fields are mutually exclusive: `image`, `vulnerability`, `build`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] package + # @return [::Grafeas::V1::PackageNote] + # A note describing a package hosted by various package managers. + # + # Note: The following fields are mutually exclusive: `package`, `vulnerability`, `build`, `image`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] deployment + # @return [::Grafeas::V1::DeploymentNote] + # A note describing something that can be deployed. + # + # Note: The following fields are mutually exclusive: `deployment`, `vulnerability`, `build`, `image`, `package`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] discovery + # @return [::Grafeas::V1::DiscoveryNote] + # A note describing the initial analysis of a resource. + # + # Note: The following fields are mutually exclusive: `discovery`, `vulnerability`, `build`, `image`, `package`, `deployment`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] attestation + # @return [::Grafeas::V1::AttestationNote] + # A note describing an attestation role. + # + # Note: The following fields are mutually exclusive: `attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] upgrade + # @return [::Grafeas::V1::UpgradeNote] + # A note describing available package upgrades. + # + # Note: The following fields are mutually exclusive: `upgrade`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] compliance + # @return [::Grafeas::V1::ComplianceNote] + # A note describing a compliance check. + # + # Note: The following fields are mutually exclusive: `compliance`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] dsse_attestation + # @return [::Grafeas::V1::DSSEAttestationNote] + # A note describing a dsse attestation note. + # + # Note: The following fields are mutually exclusive: `dsse_attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] vulnerability_assessment + # @return [::Grafeas::V1::VulnerabilityAssessmentNote] + # A note describing a vulnerability assessment. + # + # Note: The following fields are mutually exclusive: `vulnerability_assessment`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] sbom_reference + # @return [::Grafeas::V1::SBOMReferenceNote] + # A note describing an SBOM reference. + # + # Note: The following fields are mutually exclusive: `sbom_reference`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] secret + # @return [::Grafeas::V1::SecretNote] + # A note describing a secret. + # + # Note: The following fields are mutually exclusive: `secret`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class Note + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to get an occurrence. + # @!attribute [rw] name + # @return [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + class GetOccurrenceRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to list occurrences. + # @!attribute [rw] parent + # @return [::String] + # The name of the project to list occurrences for in the form of + # `projects/[PROJECT_ID]`. + # @!attribute [rw] filter + # @return [::String] + # The filter expression. + # @!attribute [rw] page_size + # @return [::Integer] + # 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. + # @!attribute [rw] page_token + # @return [::String] + # Token to provide to skip to a particular spot in the list. + # @!attribute [rw] return_partial_success + # @return [::Boolean] + # If set, the request will return all reachable Occurrences + # and report all unreachable regions in the `unreachable` field in + # the response. + # + # Only applicable for requests in the global region. + class ListOccurrencesRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Response for listing occurrences. + # @!attribute [rw] occurrences + # @return [::Array<::Grafeas::V1::Occurrence>] + # The occurrences requested. + # @!attribute [rw] next_page_token + # @return [::String] + # 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. + # @!attribute [rw] unreachable + # @return [::Array<::String>] + # Unreachable regions. Populated for requests from the global region + # when `return_partial_success` is set. + # + # Format: `projects/[PROJECT_ID]/locations/[LOCATION]` + class ListOccurrencesResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to delete an occurrence. + # @!attribute [rw] name + # @return [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + class DeleteOccurrenceRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to create a new occurrence. + # @!attribute [rw] parent + # @return [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the occurrence is to be created. + # @!attribute [rw] occurrence + # @return [::Grafeas::V1::Occurrence] + # The occurrence to create. + class CreateOccurrenceRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to update an occurrence. + # @!attribute [rw] name + # @return [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + # @!attribute [rw] occurrence + # @return [::Grafeas::V1::Occurrence] + # The updated occurrence. + # @!attribute [rw] update_mask + # @return [::Google::Protobuf::FieldMask] + # The fields to update. + class UpdateOccurrenceRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to get a note. + # @!attribute [rw] name + # @return [::String] + # The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + class GetNoteRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to get the note to which the specified occurrence is attached. + # @!attribute [rw] name + # @return [::String] + # The name of the occurrence in the form of + # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + class GetOccurrenceNoteRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to list notes. + # @!attribute [rw] parent + # @return [::String] + # The name of the project to list notes for in the form of + # `projects/[PROJECT_ID]`. + # @!attribute [rw] filter + # @return [::String] + # The filter expression. + # @!attribute [rw] page_size + # @return [::Integer] + # 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. + # @!attribute [rw] page_token + # @return [::String] + # Token to provide to skip to a particular spot in the list. + # @!attribute [rw] return_partial_success + # @return [::Boolean] + # If set, the request will return all reachable Notes + # and report all unreachable regions in the `unreachable` field in + # the response. + # + # Only applicable for requests in the global region. + class ListNotesRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Response for listing notes. + # @!attribute [rw] notes + # @return [::Array<::Grafeas::V1::Note>] + # The notes requested. + # @!attribute [rw] next_page_token + # @return [::String] + # 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. + # @!attribute [rw] unreachable + # @return [::Array<::String>] + # Unreachable regions. Populated for requests from the global region + # when `return_partial_success` is set. + # + # Format: `projects/[PROJECT_ID]/locations/[LOCATION]` + class ListNotesResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to delete a note. + # @!attribute [rw] name + # @return [::String] + # The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + class DeleteNoteRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to create a new note. + # @!attribute [rw] parent + # @return [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the note is to be created. + # @!attribute [rw] note_id + # @return [::String] + # The ID to use for this note. + # @!attribute [rw] note + # @return [::Grafeas::V1::Note] + # The note to create. + class CreateNoteRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to update a note. + # @!attribute [rw] name + # @return [::String] + # The name of the note in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # @!attribute [rw] note + # @return [::Grafeas::V1::Note] + # The updated note. + # @!attribute [rw] update_mask + # @return [::Google::Protobuf::FieldMask] + # The fields to update. + class UpdateNoteRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to list occurrences for a note. + # @!attribute [rw] name + # @return [::String] + # The name of the note to list occurrences for in the form of + # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + # @!attribute [rw] filter + # @return [::String] + # The filter expression. + # @!attribute [rw] page_size + # @return [::Integer] + # Number of occurrences to return in the list. + # @!attribute [rw] page_token + # @return [::String] + # Token to provide to skip to a particular spot in the list. + class ListNoteOccurrencesRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Response for listing occurrences for a note. + # @!attribute [rw] occurrences + # @return [::Array<::Grafeas::V1::Occurrence>] + # The occurrences attached to the specified note. + # @!attribute [rw] next_page_token + # @return [::String] + # Token to provide to skip to a particular spot in the list. + class ListNoteOccurrencesResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to create notes in batch. + # @!attribute [rw] parent + # @return [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the notes are to be created. + # @!attribute [rw] notes + # @return [::Google::Protobuf::Map{::String => ::Grafeas::V1::Note}] + # The notes to create. Max allowed length is 1000. + class BatchCreateNotesRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::Grafeas::V1::Note] + class NotesEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Response for creating notes in batch. + # @!attribute [rw] notes + # @return [::Array<::Grafeas::V1::Note>] + # The notes that were created. + class BatchCreateNotesResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Request to create occurrences in batch. + # @!attribute [rw] parent + # @return [::String] + # The name of the project in the form of `projects/[PROJECT_ID]`, under which + # the occurrences are to be created. + # @!attribute [rw] occurrences + # @return [::Array<::Grafeas::V1::Occurrence>] + # The occurrences to create. Max allowed length is 1000. + class BatchCreateOccurrencesRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Response for creating occurrences in batch. + # @!attribute [rw] occurrences + # @return [::Array<::Grafeas::V1::Occurrence>] + # The occurrences that were created. + class BatchCreateOccurrencesResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb new file mode 100644 index 000000000000..546d369f44fc --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb @@ -0,0 +1,95 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Layer holds metadata specific to a layer of a Docker image. + # @!attribute [rw] directive + # @return [::String] + # Required. The recovered Dockerfile directive used to construct this layer. + # See https://docs.docker.com/engine/reference/builder/ for more information. + # @!attribute [rw] arguments + # @return [::String] + # The recovered arguments to the Dockerfile directive. + class Layer + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A set of properties that uniquely identify a given Docker image. + # @!attribute [rw] v1_name + # @return [::String] + # Required. The layer ID of the final layer in the Docker image's v1 + # representation. + # @!attribute [rw] v2_blob + # @return [::Array<::String>] + # Required. The ordered list of v2 blobs that represent a given image. + # @!attribute [rw] v2_name + # @return [::String] + # Output only. The name of the image's v2 blobs computed via: + # [bottom] := v2_blob[bottom] + # [N] := sha256(v2_blob[N] + " " + v2_name[N+1]) + # Only the name of the final blob is kept. + class Fingerprint + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Basis describes the base image portion (Note) of the DockerImage + # relationship. Linked occurrences are derived from this or an equivalent image + # via: + # FROM + # Or an equivalent reference, e.g., a tag of the resource_url. + # @!attribute [rw] resource_url + # @return [::String] + # Required. Immutable. The resource_url for the resource representing the + # basis of associated occurrence images. + # @!attribute [rw] fingerprint + # @return [::Grafeas::V1::Fingerprint] + # Required. Immutable. The fingerprint of the base image. + class ImageNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Details of the derived image portion of the DockerImage relationship. This + # image would be produced from a Dockerfile with FROM . + # @!attribute [rw] fingerprint + # @return [::Grafeas::V1::Fingerprint] + # Required. The fingerprint of the derived image. + # @!attribute [rw] distance + # @return [::Integer] + # Output only. The number of layers by which this image differs from the + # associated image basis. + # @!attribute [rw] layer_info + # @return [::Array<::Grafeas::V1::Layer>] + # This contains layer-specific metadata, if populated it has length + # "distance" and is ordered with [distance] being the layer immediately + # following the base image and [1] being the final layer. + # @!attribute [rw] base_resource_url + # @return [::String] + # Output only. This contains the base image URL for the derived image + # occurrence. + class ImageOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb new file mode 100644 index 000000000000..c808aee223da --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb @@ -0,0 +1,134 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Steps taken to build the artifact. + # For a TaskRun, typically each container corresponds to one step in the + # recipe. + # @!attribute [rw] type + # @return [::String] + # URI indicating what type of recipe was performed. It determines the meaning + # of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. + # @!attribute [rw] defined_in_material + # @return [::Integer] + # Index in materials containing the recipe steps that are not implied by + # recipe.type. For example, if the recipe type were "make", then this would + # point to the source containing the Makefile, not the make program itself. + # Set to -1 if the recipe doesn't come from a material, as zero is default + # unset value for int64. + # @!attribute [rw] entry_point + # @return [::String] + # String identifying the entry point into the build. + # This is often a path to a configuration file and/or a target label within + # that file. The syntax and meaning are defined by recipe.type. For example, + # if the recipe type were "make", then this would reference the directory in + # which to run make as well as which target to use. + # @!attribute [rw] arguments + # @return [::Array<::Google::Protobuf::Any>] + # Collection of all external inputs that influenced the build on top of + # recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe + # type were "make", then this might be the flags passed to make aside from + # the target, which is captured in recipe.entryPoint. Since the arguments + # field can greatly vary in structure, depending on the builder and recipe + # type, this is of form "Any". + # @!attribute [rw] environment + # @return [::Array<::Google::Protobuf::Any>] + # Any other builder-controlled inputs necessary for correctly evaluating the + # recipe. Usually only needed for reproducing the build but not evaluated as + # part of policy. Since the environment field can greatly vary in structure, + # depending on the builder and recipe type, this is of form "Any". + class Recipe + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Indicates that the builder claims certain fields in this message to be + # complete. + # @!attribute [rw] arguments + # @return [::Boolean] + # If true, the builder claims that recipe.arguments is complete, meaning that + # all external inputs are properly captured in the recipe. + # @!attribute [rw] environment + # @return [::Boolean] + # If true, the builder claims that recipe.environment is claimed to be + # complete. + # @!attribute [rw] materials + # @return [::Boolean] + # If true, the builder claims that materials are complete, usually through + # some controls to prevent network access. Sometimes called "hermetic". + class Completeness + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Other properties of the build. + # @!attribute [rw] build_invocation_id + # @return [::String] + # Identifies the particular build invocation, which can be useful for finding + # associated logs or other ad-hoc analysis. The value SHOULD be globally + # unique, per in-toto Provenance spec. + # @!attribute [rw] build_started_on + # @return [::Google::Protobuf::Timestamp] + # The timestamp of when the build started. + # @!attribute [rw] build_finished_on + # @return [::Google::Protobuf::Timestamp] + # The timestamp of when the build completed. + # @!attribute [rw] completeness + # @return [::Grafeas::V1::Completeness] + # Indicates that the builder claims certain fields in this message to be + # complete. + # @!attribute [rw] reproducible + # @return [::Boolean] + # If true, the builder claims that running the recipe on materials will + # produce bit-for-bit identical output. + class Metadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] id + # @return [::String] + class BuilderConfig + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] builder_config + # @return [::Grafeas::V1::BuilderConfig] + # @!attribute [rw] recipe + # @return [::Grafeas::V1::Recipe] + # Identifies the configuration used for the build. + # When combined with materials, this SHOULD fully describe the build, + # such that re-running this recipe results in bit-for-bit identical output + # (if the build is reproducible). + # @!attribute [rw] metadata + # @return [::Grafeas::V1::Metadata] + # @!attribute [rw] materials + # @return [::Array<::String>] + # The collection of artifacts that influenced the build including sources, + # dependencies, build tools, base images, and so on. This is considered to be + # incomplete unless metadata.completeness.materials is true. Unset or null is + # equivalent to empty. + class InTotoProvenance + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb new file mode 100644 index 000000000000..290e99770158 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb @@ -0,0 +1,189 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Spec defined at + # https://github.com/in-toto/attestation/tree/main/spec#statement The + # serialized InTotoStatement will be stored as Envelope.payload. + # Envelope.payloadType is always "application/vnd.in-toto+json". + # @!attribute [rw] type + # @return [::String] + # Always `https://in-toto.io/Statement/v0.1`. + # @!attribute [rw] subject + # @return [::Array<::Grafeas::V1::Subject>] + # @!attribute [rw] predicate_type + # @return [::String] + # `https://slsa.dev/provenance/v0.1` for SlsaProvenance. + # @!attribute [rw] provenance + # @return [::Grafeas::V1::InTotoProvenance] + # Note: The following fields are mutually exclusive: `provenance`, `slsa_provenance`, `slsa_provenance_zero_two`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] slsa_provenance + # @return [::Grafeas::V1::SlsaProvenance] + # Note: The following fields are mutually exclusive: `slsa_provenance`, `provenance`, `slsa_provenance_zero_two`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] slsa_provenance_zero_two + # @return [::Grafeas::V1::SlsaProvenanceZeroTwo] + # Note: The following fields are mutually exclusive: `slsa_provenance_zero_two`, `provenance`, `slsa_provenance`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class InTotoStatement + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] name + # @return [::String] + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + # `"": ""` + # Algorithms can be e.g. sha256, sha512 + # See + # https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet + class Subject + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # @!attribute [rw] type + # @return [::String] + # InToto spec defined at + # https://github.com/in-toto/attestation/tree/main/spec#statement + # @!attribute [rw] subject + # @return [::Array<::Grafeas::V1::Subject>] + # @!attribute [rw] predicate_type + # @return [::String] + # @!attribute [rw] predicate + # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::SlsaProvenanceV1] + class InTotoSlsaProvenanceV1 + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Keep in sync with schema at + # https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto + # Builder renamed to ProvenanceBuilder because of Java conflicts. + # @!attribute [rw] build_definition + # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::BuildDefinition] + # @!attribute [rw] run_details + # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::RunDetails] + class SlsaProvenanceV1 + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] build_type + # @return [::String] + # @!attribute [rw] external_parameters + # @return [::Google::Protobuf::Struct] + # @!attribute [rw] internal_parameters + # @return [::Google::Protobuf::Struct] + # @!attribute [rw] resolved_dependencies + # @return [::Array<::Grafeas::V1::InTotoSlsaProvenanceV1::ResourceDescriptor>] + class BuildDefinition + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] name + # @return [::String] + # @!attribute [rw] uri + # @return [::String] + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + # @!attribute [rw] content + # @return [::String] + # @!attribute [rw] download_location + # @return [::String] + # @!attribute [rw] media_type + # @return [::String] + # @!attribute [rw] annotations + # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}] + class ResourceDescriptor + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::Google::Protobuf::Value] + class AnnotationsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # @!attribute [rw] builder + # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::ProvenanceBuilder] + # @!attribute [rw] metadata + # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::BuildMetadata] + # @!attribute [rw] byproducts + # @return [::Array<::Grafeas::V1::InTotoSlsaProvenanceV1::ResourceDescriptor>] + class RunDetails + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] id + # @return [::String] + # @!attribute [rw] version + # @return [::Google::Protobuf::Map{::String => ::String}] + # @!attribute [rw] builder_dependencies + # @return [::Array<::Grafeas::V1::InTotoSlsaProvenanceV1::ResourceDescriptor>] + class ProvenanceBuilder + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class VersionEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # @!attribute [rw] invocation_id + # @return [::String] + # @!attribute [rw] started_on + # @return [::Google::Protobuf::Timestamp] + # @!attribute [rw] finished_on + # @return [::Google::Protobuf::Timestamp] + class BuildMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb new file mode 100644 index 000000000000..1b795022499a --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb @@ -0,0 +1,203 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # This represents a particular channel of distribution for a given package. + # E.g., Debian's jessie-backports dpkg mirror. + # @!attribute [rw] cpe_uri + # @return [::String] + # The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + # denoting the package manager version distributing a package. + # @!attribute [rw] architecture + # @return [::Grafeas::V1::Architecture] + # The CPU architecture for which packages in this distribution channel were + # built. + # @!attribute [rw] latest_version + # @return [::Grafeas::V1::Version] + # The latest available version of this package in this distribution channel. + # @!attribute [rw] maintainer + # @return [::String] + # A freeform string denoting the maintainer of this package. + # @!attribute [rw] url + # @return [::String] + # The distribution channel-specific homepage for this package. + # @!attribute [rw] description + # @return [::String] + # The distribution channel-specific description of this package. + class Distribution + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # An occurrence of a particular package installation found within a system's + # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`. + # @!attribute [rw] cpe_uri + # @return [::String] + # Deprecated. + # The CPE URI in [CPE format](https://cpe.mitre.org/specification/) + # @!attribute [rw] version + # @return [::Grafeas::V1::Version] + # Deprecated. + # The version installed at this location. + # @!attribute [rw] path + # @return [::String] + # The path from which we gathered that this package/version is installed. + class Location + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # PackageNote represents a particular package version. + # @!attribute [rw] name + # @return [::String] + # The name of the package. + # @!attribute [rw] distribution + # @return [::Array<::Grafeas::V1::Distribution>] + # Deprecated. + # The various channels by which a package is distributed. + # @!attribute [rw] package_type + # @return [::String] + # The type of package; whether native or non native (e.g., ruby gems, + # node.js packages, etc.). + # @!attribute [rw] cpe_uri + # @return [::String] + # The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + # denoting the package manager version distributing a package. + # The cpe_uri will be blank for language packages. + # @!attribute [rw] architecture + # @return [::Grafeas::V1::Architecture] + # The CPU architecture for which packages in this distribution channel were + # built. Architecture will be blank for language packages. + # @!attribute [rw] version + # @return [::Grafeas::V1::Version] + # The version of the package. + # @!attribute [rw] maintainer + # @return [::String] + # A freeform text denoting the maintainer of this package. + # @!attribute [rw] url + # @return [::String] + # The homepage for this package. + # @!attribute [rw] description + # @return [::String] + # The description of this package. + # @!attribute [rw] license + # @return [::Grafeas::V1::License] + # Licenses that have been declared by the authors of the package. + # @!attribute [rw] digest + # @return [::Array<::Grafeas::V1::Digest>] + # Hash value, typically a file digest, that allows unique + # identification a specific package. + class PackageNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Details on how a particular software package was installed on a system. + # @!attribute [r] name + # @return [::String] + # The name of the installed package. + # @!attribute [rw] location + # @return [::Array<::Grafeas::V1::Location>] + # All of the places within the filesystem versions of this package + # have been found. + # @!attribute [r] package_type + # @return [::String] + # The type of package; whether native or non native (e.g., ruby gems, + # node.js packages, etc.). + # @!attribute [r] cpe_uri + # @return [::String] + # The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + # denoting the package manager version distributing a package. + # The cpe_uri will be blank for language packages. + # @!attribute [r] architecture + # @return [::Grafeas::V1::Architecture] + # The CPU architecture for which packages in this distribution channel were + # built. Architecture will be blank for language packages. + # @!attribute [rw] license + # @return [::Grafeas::V1::License] + # Licenses that have been declared by the authors of the package. + # @!attribute [r] version + # @return [::Grafeas::V1::Version] + # The version of the package. + class PackageOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Version contains structured information about the version of a package. + # @!attribute [rw] epoch + # @return [::Integer] + # Used to correct mistakes in the version numbering scheme. + # @!attribute [rw] name + # @return [::String] + # Required only when version kind is NORMAL. The main part of the version + # name. + # @!attribute [rw] revision + # @return [::String] + # The iteration of the package build from the above version. + # @!attribute [rw] inclusive + # @return [::Boolean] + # Whether this version is specifying part of an inclusive range. Grafeas + # does not have the capability to specify version ranges; instead we have + # fields that specify start version and end versions. At times this is + # insufficient - we also need to specify whether the version is included in + # the range or is excluded from the range. This boolean is expected to be set + # to true when the version is included in a range. + # @!attribute [rw] kind + # @return [::Grafeas::V1::Version::VersionKind] + # Required. Distinguishes between sentinel MIN/MAX versions and normal + # versions. + # @!attribute [rw] full_name + # @return [::String] + # Human readable version string. This string is of the form + # :- and is only set when kind is NORMAL. + class Version + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Whether this is an ordinary package version or a sentinel MIN/MAX version. + module VersionKind + # Unknown. + VERSION_KIND_UNSPECIFIED = 0 + + # A standard package version. + NORMAL = 1 + + # A special version representing negative infinity. + MINIMUM = 2 + + # A special version representing positive infinity. + MAXIMUM = 3 + end + end + + # Instruction set architectures supported by various package managers. + module Architecture + # Unknown architecture. + ARCHITECTURE_UNSPECIFIED = 0 + + # X86 architecture. + X86 = 1 + + # X64 architecture. + X64 = 2 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb new file mode 100644 index 000000000000..a7454aeaabbf --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb @@ -0,0 +1,336 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Provenance of a build. Contains all information needed to verify the full + # details about the build from source to completion. + # @!attribute [rw] id + # @return [::String] + # Required. Unique identifier of the build. + # @!attribute [rw] project_id + # @return [::String] + # ID of the project. + # @!attribute [rw] commands + # @return [::Array<::Grafeas::V1::Command>] + # Commands requested by the build. + # @!attribute [rw] built_artifacts + # @return [::Array<::Grafeas::V1::Artifact>] + # Output of the build. + # @!attribute [rw] create_time + # @return [::Google::Protobuf::Timestamp] + # Time at which the build was created. + # @!attribute [rw] start_time + # @return [::Google::Protobuf::Timestamp] + # Time at which execution of the build was started. + # @!attribute [rw] end_time + # @return [::Google::Protobuf::Timestamp] + # Time at which execution of the build was finished. + # @!attribute [rw] creator + # @return [::String] + # E-mail address of the user who initiated this build. Note that this was the + # user's e-mail address at the time the build was initiated; this address may + # not represent the same end-user for all time. + # @!attribute [rw] logs_uri + # @return [::String] + # URI where any logs for this provenance were written. + # @!attribute [rw] source_provenance + # @return [::Grafeas::V1::Source] + # Details of the Source input to the build. + # @!attribute [rw] trigger_id + # @return [::String] + # Trigger identifier if the build was triggered automatically; empty if not. + # @!attribute [rw] build_options + # @return [::Google::Protobuf::Map{::String => ::String}] + # Special options applied to this build. This is a catch-all field where + # build providers can enter any desired additional details. + # @!attribute [rw] builder_version + # @return [::String] + # Version string of the builder at the time this build was executed. + class BuildProvenance + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class BuildOptionsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Source describes the location of the source used for the build. + # @!attribute [rw] artifact_storage_source_uri + # @return [::String] + # If provided, the input binary artifacts for the build came from this + # location. + # @!attribute [rw] file_hashes + # @return [::Google::Protobuf::Map{::String => ::Grafeas::V1::FileHashes}] + # Hash(es) of the build source, which can be used to verify that the original + # source integrity was maintained in the build. + # + # The keys to this map are file paths used as build source and the values + # contain the hash values for those files. + # + # If the build source came in a single package such as a gzipped tarfile + # (.tar.gz), the FileHash will be for the single path to that file. + # @!attribute [rw] context + # @return [::Grafeas::V1::SourceContext] + # If provided, the source code used for the build came from this location. + # @!attribute [rw] additional_contexts + # @return [::Array<::Grafeas::V1::SourceContext>] + # If provided, some of the source code used for the build may be found in + # these locations, in the case where the source repository had multiple + # remotes or submodules. This list will not include the context specified in + # the context field. + class Source + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::Grafeas::V1::FileHashes] + class FileHashesEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Container message for hashes of byte content of files, used in source + # messages to verify integrity of source input to the build. + # @!attribute [rw] file_hash + # @return [::Array<::Grafeas::V1::Hash>] + # Required. Collection of file hashes. + class FileHashes + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Container message for hash values. + # @!attribute [rw] type + # @return [::String] + # Required. The type of hash that was performed, e.g. "SHA-256". + # @!attribute [rw] value + # @return [::String] + # Required. The hash value. + class Hash + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Command describes a step performed as part of the build pipeline. + # @!attribute [rw] name + # @return [::String] + # Required. Name of the command, as presented on the command line, or if the + # command is packaged as a Docker container, as presented to `docker pull`. + # @!attribute [rw] env + # @return [::Array<::String>] + # Environment variables set before running this command. + # @!attribute [rw] args + # @return [::Array<::String>] + # Command-line arguments used when executing this command. + # @!attribute [rw] dir + # @return [::String] + # Working directory (relative to project source root) used when running this + # command. + # @!attribute [rw] id + # @return [::String] + # Optional unique identifier for this command, used in wait_for to reference + # this command as a dependency. + # @!attribute [rw] wait_for + # @return [::Array<::String>] + # The ID(s) of the command(s) that this command depends on. + class Command + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Artifact describes a build product. + # @!attribute [rw] checksum + # @return [::String] + # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a + # container. + # @!attribute [rw] id + # @return [::String] + # Artifact ID, if any; for container images, this will be a URL by digest + # like `gcr.io/projectID/imagename@sha256:123456`. + # @!attribute [rw] names + # @return [::Array<::String>] + # Related artifact names. This may be the path to a binary or jar file, or in + # the case of a container build, the name used to push the container image to + # Google Container Registry, as presented to `docker push`. Note that a + # single Artifact ID can have multiple names, for example if two tags are + # applied to one image. + class Artifact + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A SourceContext is a reference to a tree of files. A SourceContext together + # with a path point to a unique revision of a single file or directory. + # @!attribute [rw] cloud_repo + # @return [::Grafeas::V1::CloudRepoSourceContext] + # A SourceContext referring to a revision in a Google Cloud Source Repo. + # + # Note: The following fields are mutually exclusive: `cloud_repo`, `gerrit`, `git`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] gerrit + # @return [::Grafeas::V1::GerritSourceContext] + # A SourceContext referring to a Gerrit project. + # + # Note: The following fields are mutually exclusive: `gerrit`, `cloud_repo`, `git`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] git + # @return [::Grafeas::V1::GitSourceContext] + # A SourceContext referring to any third party Git repo (e.g., GitHub). + # + # Note: The following fields are mutually exclusive: `git`, `cloud_repo`, `gerrit`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] labels + # @return [::Google::Protobuf::Map{::String => ::String}] + # Labels with user defined metadata. + class SourceContext + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class LabelsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # An alias to a repo revision. + # @!attribute [rw] kind + # @return [::Grafeas::V1::AliasContext::Kind] + # The alias kind. + # @!attribute [rw] name + # @return [::String] + # The alias name. + class AliasContext + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The type of an alias. + module Kind + # Unknown. + KIND_UNSPECIFIED = 0 + + # Git tag. + FIXED = 1 + + # Git branch. + MOVABLE = 2 + + # Used to specify non-standard aliases. For example, if a Git repo has a + # ref named "refs/foo/bar". + OTHER = 4 + end + end + + # A CloudRepoSourceContext denotes a particular revision in a Google Cloud + # Source Repo. + # @!attribute [rw] repo_id + # @return [::Grafeas::V1::RepoId] + # The ID of the repo. + # @!attribute [rw] revision_id + # @return [::String] + # A revision ID. + # + # Note: The following fields are mutually exclusive: `revision_id`, `alias_context`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] alias_context + # @return [::Grafeas::V1::AliasContext] + # An alias, which may be a branch or tag. + # + # Note: The following fields are mutually exclusive: `alias_context`, `revision_id`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class CloudRepoSourceContext + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A SourceContext referring to a Gerrit project. + # @!attribute [rw] host_uri + # @return [::String] + # The URI of a running Gerrit instance. + # @!attribute [rw] gerrit_project + # @return [::String] + # The full project name within the host. Projects may be nested, so + # "project/subproject" is a valid project name. The "repo name" is the + # hostURI/project. + # @!attribute [rw] revision_id + # @return [::String] + # A revision (commit) ID. + # + # Note: The following fields are mutually exclusive: `revision_id`, `alias_context`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] alias_context + # @return [::Grafeas::V1::AliasContext] + # An alias, which may be a branch or tag. + # + # Note: The following fields are mutually exclusive: `alias_context`, `revision_id`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class GerritSourceContext + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A GitSourceContext denotes a particular revision in a third party Git + # repository (e.g., GitHub). + # @!attribute [rw] url + # @return [::String] + # Git repository URL. + # @!attribute [rw] revision_id + # @return [::String] + # Git commit hash. + class GitSourceContext + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A unique identifier for a Cloud Repo. + # @!attribute [rw] project_repo_id + # @return [::Grafeas::V1::ProjectRepoId] + # A combination of a project ID and a repo name. + # + # Note: The following fields are mutually exclusive: `project_repo_id`, `uid`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] uid + # @return [::String] + # A server-assigned, globally unique identifier. + # + # Note: The following fields are mutually exclusive: `uid`, `project_repo_id`. If a field in that set is populated, all other fields in the set will automatically be cleared. + class RepoId + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Selects a repo using a Google Cloud Platform project ID (e.g., + # winged-cargo-31) and a repo name within that project. + # @!attribute [rw] project_id + # @return [::String] + # The ID of the project. + # @!attribute [rw] repo_name + # @return [::String] + # The name of the repo. Leave empty for the default repo. + class ProjectRepoId + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb new file mode 100644 index 000000000000..368497cf719b --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # @!attribute [rw] cisa_kev + # @return [::Grafeas::V1::CISAKnownExploitedVulnerabilities] + # CISA maintains the authoritative source of vulnerabilities that have been + # exploited in the wild. + # @!attribute [rw] epss + # @return [::Grafeas::V1::ExploitPredictionScoringSystem] + # The Exploit Prediction Scoring System (EPSS) estimates the likelihood + # (probability) that a software vulnerability will be exploited in the wild. + class Risk + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] known_ransomware_campaign_use + # @return [::String] + # Whether the vulnerability is known to have been leveraged as part of a + # ransomware campaign. + class CISAKnownExploitedVulnerabilities + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] percentile + # @return [::Float] + # The percentile of the current score, the proportion of all scored + # vulnerabilities with the same or a lower EPSS score + # @!attribute [rw] score + # @return [::Float] + # The EPSS score representing the probability [0-1] of exploitation in the + # wild in the next 30 days + class ExploitPredictionScoringSystem + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb new file mode 100644 index 000000000000..c058bcfa65f6 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb @@ -0,0 +1,105 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # The note representing an SBOM reference. + # @!attribute [rw] format + # @return [::String] + # The format that SBOM takes. E.g. may be spdx, cyclonedx, etc... + # @!attribute [rw] version + # @return [::String] + # The version of the format that the SBOM takes. E.g. if the format + # is spdx, the version may be 2.3. + class SBOMReferenceNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The occurrence representing an SBOM reference as applied to a specific + # resource. The occurrence follows the DSSE specification. See + # https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more + # details. + # @!attribute [rw] payload + # @return [::Grafeas::V1::SbomReferenceIntotoPayload] + # The actual payload that contains the SBOM reference data. + # @!attribute [rw] payload_type + # @return [::String] + # The kind of payload that SbomReferenceIntotoPayload takes. Since it's in + # the intoto format, this value is expected to be + # 'application/vnd.in-toto+json'. + # @!attribute [rw] signatures + # @return [::Array<::Grafeas::V1::EnvelopeSignature>] + # The signatures over the payload. + class SBOMReferenceOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The actual payload that contains the SBOM Reference data. + # The payload follows the intoto statement specification. See + # https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md + # for more details. + # @!attribute [rw] type + # @return [::String] + # Identifier for the schema of the Statement. + # @!attribute [rw] predicate_type + # @return [::String] + # URI identifying the type of the Predicate. + # @!attribute [rw] subject + # @return [::Array<::Grafeas::V1::Subject>] + # Set of software artifacts that the attestation applies to. Each element + # represents a single software artifact. + # @!attribute [rw] predicate + # @return [::Grafeas::V1::SbomReferenceIntotoPredicate] + # Additional parameters of the Predicate. Includes the actual data about the + # SBOM. + class SbomReferenceIntotoPayload + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # A predicate which describes the SBOM being referenced. + # @!attribute [rw] referrer_id + # @return [::String] + # The person or system referring this predicate to the consumer. + # @!attribute [rw] location + # @return [::String] + # The location of the SBOM. + # @!attribute [rw] mime_type + # @return [::String] + # The mime type of the SBOM. + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + # A map of algorithm to digest of the contents of the SBOM. + class SbomReferenceIntotoPredicate + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb new file mode 100644 index 000000000000..19111283e758 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb @@ -0,0 +1,165 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # The note representing a secret. + class SecretNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The occurrence provides details of a secret. + # @!attribute [rw] kind + # @return [::Grafeas::V1::SecretKind] + # Type of secret. + # @!attribute [rw] locations + # @return [::Array<::Grafeas::V1::SecretLocation>] + # Locations where the secret is detected. + # @!attribute [rw] statuses + # @return [::Array<::Grafeas::V1::SecretStatus>] + # Status of the secret. + # @!attribute [rw] data + # @return [::Google::Protobuf::Any] + # Scan result of the secret. + # @!attribute [rw] digest + # @return [::Grafeas::V1::Digest] + # Hash value, typically a digest for the secret data, that allows unique + # identification of a specific secret. + class SecretOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The location of the secret. + # @!attribute [rw] file_location + # @return [::Grafeas::V1::FileLocation] + # The secret is found from a file. + class SecretLocation + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The status of the secret with a timestamp. + # @!attribute [rw] status + # @return [::Grafeas::V1::SecretStatus::Status] + # The status of the secret. + # @!attribute [rw] update_time + # @return [::Google::Protobuf::Timestamp] + # The time the secret status was last updated. + # @!attribute [rw] message + # @return [::String] + # Optional message about the status code. + class SecretStatus + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The status of the secret. + module Status + # Unspecified + STATUS_UNSPECIFIED = 0 + + # The status of the secret is unknown. + UNKNOWN = 1 + + # The secret is valid. + VALID = 2 + + # The secret is invalid. + INVALID = 3 + end + end + + # Kind of secret. + module SecretKind + # Unspecified + SECRET_KIND_UNSPECIFIED = 0 + + # The secret kind is unknown. + SECRET_KIND_UNKNOWN = 1 + + # A Google Cloud service account key per: + # https://cloud.google.com/iam/docs/creating-managing-service-account-keys + SECRET_KIND_GCP_SERVICE_ACCOUNT_KEY = 2 + + # A Google Cloud API key per: + # https://cloud.google.com/docs/authentication/api-keys + SECRET_KIND_GCP_API_KEY = 3 + + # A Google Cloud OAuth2 client credentials per: + # https://developers.google.com/identity/protocols/oauth2 + SECRET_KIND_GCP_OAUTH2_CLIENT_CREDENTIALS = 4 + + # A Google Cloud OAuth2 access token per: + # https://cloud.google.com/docs/authentication/token-types#access + SECRET_KIND_GCP_OAUTH2_ACCESS_TOKEN = 5 + + # An Anthropic Admin API key. + SECRET_KIND_ANTHROPIC_ADMIN_API_KEY = 6 + + # An Anthropic API key. + SECRET_KIND_ANTHROPIC_API_KEY = 7 + + # An Azure access token. + SECRET_KIND_AZURE_ACCESS_TOKEN = 8 + + # An Azure Identity Platform ID token. + SECRET_KIND_AZURE_IDENTITY_TOKEN = 9 + + # A Docker Hub personal access token. + SECRET_KIND_DOCKER_HUB_PERSONAL_ACCESS_TOKEN = 10 + + # A GitHub App refresh token. + SECRET_KIND_GITHUB_APP_REFRESH_TOKEN = 11 + + # A GitHub App server-to-server token. + SECRET_KIND_GITHUB_APP_SERVER_TO_SERVER_TOKEN = 12 + + # A GitHub App user-to-server token. + SECRET_KIND_GITHUB_APP_USER_TO_SERVER_TOKEN = 13 + + # A GitHub personal access token (classic). + SECRET_KIND_GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN = 14 + + # A GitHub fine-grained personal access token. + SECRET_KIND_GITHUB_FINE_GRAINED_PERSONAL_ACCESS_TOKEN = 15 + + # A GitHub OAuth token. + SECRET_KIND_GITHUB_OAUTH_TOKEN = 16 + + # A Hugging Face API key. + SECRET_KIND_HUGGINGFACE_API_KEY = 17 + + # An OpenAI API key. + SECRET_KIND_OPENAI_API_KEY = 18 + + # A Perplexity API key. + SECRET_KIND_PERPLEXITY_API_KEY = 19 + + # A Stripe secret key. + SECRET_KIND_STRIPE_SECRET_KEY = 20 + + # A Stripe restricted key. + SECRET_KIND_STRIPE_RESTRICTED_KEY = 21 + + # A Stripe webhook secret. + SECRET_KIND_STRIPE_WEBHOOK_SECRET = 22 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb new file mode 100644 index 000000000000..49d42db38b43 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # Note provider assigned severity/impact ranking. + module Severity + # Unknown. + SEVERITY_UNSPECIFIED = 0 + + # Minimal severity. + MINIMAL = 1 + + # Low severity. + LOW = 2 + + # Medium severity. + MEDIUM = 3 + + # High severity. + HIGH = 4 + + # Critical severity. + CRITICAL = 5 + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb new file mode 100644 index 000000000000..de245b5e9238 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb @@ -0,0 +1,152 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # @!attribute [rw] builder + # @return [::Grafeas::V1::SlsaProvenance::SlsaBuilder] + # @!attribute [rw] recipe + # @return [::Grafeas::V1::SlsaProvenance::SlsaRecipe] + # Identifies the configuration used for the build. + # When combined with materials, this SHOULD fully describe the build, + # such that re-running this recipe results in bit-for-bit identical output + # (if the build is reproducible). + # @!attribute [rw] metadata + # @return [::Grafeas::V1::SlsaProvenance::SlsaMetadata] + # @!attribute [rw] materials + # @return [::Array<::Grafeas::V1::SlsaProvenance::Material>] + # The collection of artifacts that influenced the build including sources, + # dependencies, build tools, base images, and so on. This is considered to be + # incomplete unless metadata.completeness.materials is true. Unset or null is + # equivalent to empty. + class SlsaProvenance + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Steps taken to build the artifact. + # For a TaskRun, typically each container corresponds to one step in the + # recipe. + # @!attribute [rw] type + # @return [::String] + # URI indicating what type of recipe was performed. It determines the + # meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and + # materials. + # @!attribute [rw] defined_in_material + # @return [::Integer] + # Index in materials containing the recipe steps that are not implied by + # recipe.type. For example, if the recipe type were "make", then this would + # point to the source containing the Makefile, not the make program itself. + # Set to -1 if the recipe doesn't come from a material, as zero is default + # unset value for int64. + # @!attribute [rw] entry_point + # @return [::String] + # String identifying the entry point into the build. + # This is often a path to a configuration file and/or a target label within + # that file. The syntax and meaning are defined by recipe.type. For + # example, if the recipe type were "make", then this would reference the + # directory in which to run make as well as which target to use. + # @!attribute [rw] arguments + # @return [::Google::Protobuf::Any] + # Collection of all external inputs that influenced the build on top of + # recipe.definedInMaterial and recipe.entryPoint. For example, if the + # recipe type were "make", then this might be the flags passed to make + # aside from the target, which is captured in recipe.entryPoint. Depending + # on the recipe Type, the structure may be different. + # @!attribute [rw] environment + # @return [::Google::Protobuf::Any] + # Any other builder-controlled inputs necessary for correctly evaluating + # the recipe. Usually only needed for reproducing the build but not + # evaluated as part of policy. Depending on the recipe Type, the structure + # may be different. + class SlsaRecipe + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Indicates that the builder claims certain fields in this message to be + # complete. + # @!attribute [rw] arguments + # @return [::Boolean] + # If true, the builder claims that recipe.arguments is complete, meaning + # that all external inputs are properly captured in the recipe. + # @!attribute [rw] environment + # @return [::Boolean] + # If true, the builder claims that recipe.environment is claimed to be + # complete. + # @!attribute [rw] materials + # @return [::Boolean] + # If true, the builder claims that materials are complete, usually through + # some controls to prevent network access. Sometimes called "hermetic". + class SlsaCompleteness + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Other properties of the build. + # @!attribute [rw] build_invocation_id + # @return [::String] + # Identifies the particular build invocation, which can be useful for + # finding associated logs or other ad-hoc analysis. The value SHOULD be + # globally unique, per in-toto Provenance spec. + # @!attribute [rw] build_started_on + # @return [::Google::Protobuf::Timestamp] + # The timestamp of when the build started. + # @!attribute [rw] build_finished_on + # @return [::Google::Protobuf::Timestamp] + # The timestamp of when the build completed. + # @!attribute [rw] completeness + # @return [::Grafeas::V1::SlsaProvenance::SlsaCompleteness] + # Indicates that the builder claims certain fields in this message to be + # complete. + # @!attribute [rw] reproducible + # @return [::Boolean] + # If true, the builder claims that running the recipe on materials will + # produce bit-for-bit identical output. + class SlsaMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] id + # @return [::String] + class SlsaBuilder + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] uri + # @return [::String] + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + class Material + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb new file mode 100644 index 000000000000..8cbf519a6aea --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb @@ -0,0 +1,131 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # @!attribute [rw] builder + # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaBuilder] + # @!attribute [rw] build_type + # @return [::String] + # @!attribute [rw] invocation + # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaInvocation] + # @!attribute [rw] build_config + # @return [::Google::Protobuf::Struct] + # @!attribute [rw] metadata + # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaMetadata] + # @!attribute [rw] materials + # @return [::Array<::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaMaterial>] + class SlsaProvenanceZeroTwo + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Identifies the entity that executed the recipe, which is trusted to have + # correctly performed the operation and populated this provenance. + # @!attribute [rw] id + # @return [::String] + class SlsaBuilder + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The collection of artifacts that influenced the build including sources, + # dependencies, build tools, base images, and so on. + # @!attribute [rw] uri + # @return [::String] + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + class SlsaMaterial + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Identifies the event that kicked off the build. + # @!attribute [rw] config_source + # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaConfigSource] + # @!attribute [rw] parameters + # @return [::Google::Protobuf::Struct] + # @!attribute [rw] environment + # @return [::Google::Protobuf::Struct] + class SlsaInvocation + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Describes where the config file that kicked off the build came from. + # This is effectively a pointer to the source where buildConfig came from. + # @!attribute [rw] uri + # @return [::String] + # @!attribute [rw] digest + # @return [::Google::Protobuf::Map{::String => ::String}] + # @!attribute [rw] entry_point + # @return [::String] + class SlsaConfigSource + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class DigestEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Other properties of the build. + # @!attribute [rw] build_invocation_id + # @return [::String] + # @!attribute [rw] build_started_on + # @return [::Google::Protobuf::Timestamp] + # @!attribute [rw] build_finished_on + # @return [::Google::Protobuf::Timestamp] + # @!attribute [rw] completeness + # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaCompleteness] + # @!attribute [rw] reproducible + # @return [::Boolean] + class SlsaMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Indicates that the builder claims certain fields in this message to be + # complete. + # @!attribute [rw] parameters + # @return [::Boolean] + # @!attribute [rw] environment + # @return [::Boolean] + # @!attribute [rw] materials + # @return [::Boolean] + class SlsaCompleteness + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb new file mode 100644 index 000000000000..d5353ac7f060 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb @@ -0,0 +1,148 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # An Upgrade Note represents a potential upgrade of a package to a given + # version. For each package version combination (i.e. bash 4.0, bash 4.1, + # bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field + # represents the information related to the update. + # @!attribute [rw] package + # @return [::String] + # Required for non-Windows OS. The package this Upgrade is for. + # @!attribute [rw] version + # @return [::Grafeas::V1::Version] + # Required for non-Windows OS. The version of the package in machine + human + # readable form. + # @!attribute [rw] distributions + # @return [::Array<::Grafeas::V1::UpgradeDistribution>] + # Metadata about the upgrade for each specific operating system. + # @!attribute [rw] windows_update + # @return [::Grafeas::V1::WindowsUpdate] + # Required for Windows OS. Represents the metadata about the Windows update. + class UpgradeNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The Upgrade Distribution represents metadata about the Upgrade for each + # operating system (CPE). Some distributions have additional metadata around + # updates, classifying them into various categories and severities. + # @!attribute [rw] cpe_uri + # @return [::String] + # Required - The specific operating system this metadata applies to. See + # https://cpe.mitre.org/specification/. + # @!attribute [rw] classification + # @return [::String] + # The operating system classification of this Upgrade, as specified by the + # upstream operating system upgrade feed. For Windows the classification is + # one of the category_ids listed at + # https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85) + # @!attribute [rw] severity + # @return [::String] + # The severity as specified by the upstream operating system. + # @!attribute [rw] cve + # @return [::Array<::String>] + # The cve tied to this Upgrade. + class UpgradeDistribution + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Windows Update represents the metadata about the update for the Windows + # operating system. The fields in this message come from the Windows Update API + # documented at + # https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate. + # @!attribute [rw] identity + # @return [::Grafeas::V1::WindowsUpdate::Identity] + # Required - The unique identifier for the update. + # @!attribute [rw] title + # @return [::String] + # The localized title of the update. + # @!attribute [rw] description + # @return [::String] + # The localized description of the update. + # @!attribute [rw] categories + # @return [::Array<::Grafeas::V1::WindowsUpdate::Category>] + # The list of categories to which the update belongs. + # @!attribute [rw] kb_article_ids + # @return [::Array<::String>] + # The Microsoft Knowledge Base article IDs that are associated with the + # update. + # @!attribute [rw] support_url + # @return [::String] + # The hyperlink to the support information for the update. + # @!attribute [rw] last_published_timestamp + # @return [::Google::Protobuf::Timestamp] + # The last published timestamp of the update. + class WindowsUpdate + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The unique identifier of the update. + # @!attribute [rw] update_id + # @return [::String] + # The revision independent identifier of the update. + # @!attribute [rw] revision + # @return [::Integer] + # The revision number of the update. + class Identity + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The category to which the update belongs. + # @!attribute [rw] category_id + # @return [::String] + # The identifier of the category. + # @!attribute [rw] name + # @return [::String] + # The localized name of the category. + class Category + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # An Upgrade Occurrence represents that a specific resource_url could install a + # specific upgrade. This presence is supplied via local sources (i.e. it is + # present in the mirror and the running system has noticed its availability). + # For Windows, both distribution and windows_update contain information for the + # Windows update. + # @!attribute [rw] package + # @return [::String] + # Required for non-Windows OS. The package this Upgrade is for. + # @!attribute [rw] parsed_version + # @return [::Grafeas::V1::Version] + # Required for non-Windows OS. The version of the package in a machine + + # human readable form. + # @!attribute [rw] distribution + # @return [::Grafeas::V1::UpgradeDistribution] + # Metadata about the upgrade for available for the specific operating system + # for the resource_url. This allows efficient filtering, as well as + # making it easier to use the occurrence. + # @!attribute [rw] windows_update + # @return [::Grafeas::V1::WindowsUpdate] + # Required for Windows OS. Represents the metadata about the Windows update. + class UpgradeOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb new file mode 100644 index 000000000000..d0cf29a1341c --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb @@ -0,0 +1,237 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # A single VulnerabilityAssessmentNote represents + # one particular product's vulnerability assessment for one CVE. + # @!attribute [rw] title + # @return [::String] + # The title of the note. E.g. `Vex-Debian-11.4` + # @!attribute [rw] short_description + # @return [::String] + # A one sentence description of this Vex. + # @!attribute [rw] long_description + # @return [::String] + # A detailed description of this Vex. + # @!attribute [rw] language_code + # @return [::String] + # Identifies the language used by this document, + # corresponding to IETF BCP 47 / RFC 5646. + # @!attribute [rw] publisher + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Publisher] + # Publisher details of this Note. + # @!attribute [rw] product + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Product] + # The product affected by this vex. + # @!attribute [rw] assessment + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment] + # Represents a vulnerability assessment for the product. + class VulnerabilityAssessmentNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Publisher contains information about the publisher of + # this Note. + # (-- api-linter: core::0123::resource-annotation=disabled + # aip.dev/not-precedent: Publisher is not a separate resource. --) + # @!attribute [rw] name + # @return [::String] + # Name of the publisher. + # Examples: 'Google', 'Google Cloud Platform'. + # @!attribute [rw] issuing_authority + # @return [::String] + # Provides information about the authority of the issuing party to + # release the document, in particular, the party's constituency and + # responsibilities or other obligations. + # @!attribute [rw] publisher_namespace + # @return [::String] + # The context or namespace. + # Contains a URL which is under control of the issuing party and can + # be used as a globally unique identifier for that issuing party. + # Example: https://csaf.io + class Publisher + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Product contains information about a product and how to uniquely identify + # it. + # (-- api-linter: core::0123::resource-annotation=disabled + # aip.dev/not-precedent: Product is not a separate resource. --) + # @!attribute [rw] name + # @return [::String] + # Name of the product. + # @!attribute [rw] id + # @return [::String] + # Token that identifies a product so that it can be referred to from other + # parts in the document. There is no predefined format as long as it + # uniquely identifies a group in the context of the current document. + # @!attribute [rw] generic_uri + # @return [::String] + # Contains a URI which is vendor-specific. + # Example: The artifact repository URL of an image. + class Product + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Assessment provides all information that is related to a single + # vulnerability for this product. + # @!attribute [rw] cve + # @deprecated This field is deprecated and may be removed in the next major version update. + # @return [::String] + # Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + # tracking number for the vulnerability. + # Deprecated: Use vulnerability_id instead to denote CVEs. + # @!attribute [rw] vulnerability_id + # @return [::String] + # The vulnerability identifier for this Assessment. Will hold one of + # common identifiers e.g. CVE, GHSA etc. + # @!attribute [rw] short_description + # @return [::String] + # A one sentence description of this Vex. + # @!attribute [rw] long_description + # @return [::String] + # A detailed description of this Vex. + # @!attribute [rw] related_uris + # @return [::Array<::Grafeas::V1::RelatedUrl>] + # Holds a list of references associated with this vulnerability item and + # assessment. These uris have additional information about the + # vulnerability and the assessment itself. E.g. Link to a document which + # details how this assessment concluded the state of this vulnerability. + # @!attribute [rw] state + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::State] + # Provides the state of this Vulnerability assessment. + # @!attribute [rw] impacts + # @return [::Array<::String>] + # Contains information about the impact of this vulnerability, + # this will change with time. + # @!attribute [rw] justification + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Justification] + # Justification provides the justification when the state of the + # assessment if NOT_AFFECTED. + # @!attribute [rw] remediations + # @return [::Array<::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Remediation>] + # Specifies details on how to handle (and presumably, fix) a vulnerability. + class Assessment + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Justification provides the justification when the state of the + # assessment if NOT_AFFECTED. + # @!attribute [rw] justification_type + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Justification::JustificationType] + # The justification type for this vulnerability. + # @!attribute [rw] details + # @return [::String] + # Additional details on why this justification was chosen. + class Justification + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Provides the type of justification. + module JustificationType + # JUSTIFICATION_TYPE_UNSPECIFIED. + JUSTIFICATION_TYPE_UNSPECIFIED = 0 + + # The vulnerable component is not present in the product. + COMPONENT_NOT_PRESENT = 1 + + # The vulnerable code is not present. Typically this case + # occurs when source code is configured or built in a way that excludes + # the vulnerable code. + VULNERABLE_CODE_NOT_PRESENT = 2 + + # The vulnerable code can not be executed. + # Typically this case occurs when the product includes the vulnerable + # code but does not call or use the vulnerable code. + VULNERABLE_CODE_NOT_IN_EXECUTE_PATH = 3 + + # The vulnerable code cannot be controlled by an attacker to exploit + # the vulnerability. + VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY = 4 + + # The product includes built-in protections or features that prevent + # exploitation of the vulnerability. These built-in protections cannot + # be subverted by the attacker and cannot be configured or disabled by + # the user. These mitigations completely prevent exploitation based on + # known attack vectors. + INLINE_MITIGATIONS_ALREADY_EXIST = 5 + end + end + + # Specifies details on how to handle (and presumably, fix) a vulnerability. + # @!attribute [rw] remediation_type + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Remediation::RemediationType] + # The type of remediation that can be applied. + # @!attribute [rw] details + # @return [::String] + # Contains a comprehensive human-readable discussion of the remediation. + # @!attribute [rw] remediation_uri + # @return [::Grafeas::V1::RelatedUrl] + # Contains the URL where to obtain the remediation. + class Remediation + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The type of remediation that can be applied. + module RemediationType + # No remediation type specified. + REMEDIATION_TYPE_UNSPECIFIED = 0 + + # A MITIGATION is available. + MITIGATION = 1 + + # No fix is planned. + NO_FIX_PLANNED = 2 + + # Not available. + NONE_AVAILABLE = 3 + + # A vendor fix is available. + VENDOR_FIX = 4 + + # A workaround is available. + WORKAROUND = 5 + end + end + + # Provides the state of this Vulnerability assessment. + module State + # No state is specified. + STATE_UNSPECIFIED = 0 + + # This product is known to be affected by this vulnerability. + AFFECTED = 1 + + # This product is known to be not affected by this vulnerability. + NOT_AFFECTED = 2 + + # This product contains a fix for this vulnerability. + FIXED = 3 + + # It is not known yet whether these versions are or are not affected + # by the vulnerability. However, it is still under investigation. + UNDER_INVESTIGATION = 4 + end + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb new file mode 100644 index 000000000000..ac71249361dc --- /dev/null +++ b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb @@ -0,0 +1,314 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Grafeas + module V1 + # A security vulnerability that can be found in resources. + # @!attribute [rw] cvss_score + # @return [::Float] + # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 + # where 0 indicates low severity and 10 indicates high severity. + # @!attribute [rw] severity + # @return [::Grafeas::V1::Severity] + # The note provider assigned severity of this vulnerability. + # @!attribute [rw] details + # @return [::Array<::Grafeas::V1::VulnerabilityNote::Detail>] + # Details of all known distros and packages affected by this vulnerability. + # @!attribute [rw] cvss_v3 + # @return [::Grafeas::V1::CVSSv3] + # The full description of the CVSSv3 for this vulnerability. + # @!attribute [rw] windows_details + # @return [::Array<::Grafeas::V1::VulnerabilityNote::WindowsDetail>] + # Windows details get their own format because the information format and + # model don't match a normal detail. Specifically Windows updates are done as + # patches, thus Windows vulnerabilities really are a missing package, rather + # than a package being at an incorrect version. + # @!attribute [rw] source_update_time + # @return [::Google::Protobuf::Timestamp] + # The time this information was last changed at the source. This is an + # upstream timestamp from the underlying information source - e.g. Ubuntu + # security tracker. + # @!attribute [rw] cvss_version + # @return [::Grafeas::V1::CVSSVersion] + # CVSS version used to populate cvss_score and severity. + # @!attribute [rw] cvss_v2 + # @return [::Grafeas::V1::CVSS] + # The full description of the v2 CVSS for this vulnerability. + class VulnerabilityNote + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # A detail for a distro and package affected by this vulnerability and its + # associated fix (if one is available). + # @!attribute [rw] severity_name + # @return [::String] + # The distro assigned severity of this vulnerability. + # @!attribute [rw] description + # @return [::String] + # A vendor-specific description of this vulnerability. + # @!attribute [rw] package_type + # @return [::String] + # The type of package; whether native or non native (e.g., ruby gems, + # node.js packages, etc.). + # @!attribute [rw] affected_cpe_uri + # @return [::String] + # Required. The [CPE URI](https://cpe.mitre.org/specification/) this + # vulnerability affects. + # @!attribute [rw] affected_package + # @return [::String] + # Required. The package this vulnerability affects. + # @!attribute [rw] affected_version_start + # @return [::Grafeas::V1::Version] + # The version number at the start of an interval in which this + # vulnerability exists. A vulnerability can affect a package between + # version numbers that are disjoint sets of intervals (example: + # [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be + # represented in its own Detail. If a specific affected version is provided + # by a vulnerability database, affected_version_start and + # affected_version_end will be the same in that Detail. + # @!attribute [rw] affected_version_end + # @return [::Grafeas::V1::Version] + # The version number at the end of an interval in which this vulnerability + # exists. A vulnerability can affect a package between version numbers + # that are disjoint sets of intervals (example: [1.0.0-1.1.0], + # [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its + # own Detail. If a specific affected version is provided by a vulnerability + # database, affected_version_start and affected_version_end will be the + # same in that Detail. + # @!attribute [rw] fixed_cpe_uri + # @return [::String] + # The distro recommended [CPE URI](https://cpe.mitre.org/specification/) + # to update to that contains a fix for this vulnerability. It is possible + # for this to be different from the affected_cpe_uri. + # @!attribute [rw] fixed_package + # @return [::String] + # The distro recommended package to update to that contains a fix for this + # vulnerability. It is possible for this to be different from the + # affected_package. + # @!attribute [rw] fixed_version + # @return [::Grafeas::V1::Version] + # The distro recommended version to update to that contains a + # fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no + # such version is yet available. + # @!attribute [rw] is_obsolete + # @return [::Boolean] + # Whether this detail is obsolete. Occurrences are expected not to point to + # obsolete details. + # @!attribute [rw] source_update_time + # @return [::Google::Protobuf::Timestamp] + # The time this information was last changed at the source. This is an + # upstream timestamp from the underlying information source - e.g. Ubuntu + # security tracker. + # @!attribute [rw] source + # @return [::String] + # The source from which the information in this Detail was obtained. + # @!attribute [rw] vendor + # @return [::String] + # The name of the vendor of the product. + class Detail + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] cpe_uri + # @return [::String] + # Required. The [CPE URI](https://cpe.mitre.org/specification/) this + # vulnerability affects. + # @!attribute [rw] name + # @return [::String] + # Required. The name of this vulnerability. + # @!attribute [rw] description + # @return [::String] + # The description of this vulnerability. + # @!attribute [rw] fixing_kbs + # @return [::Array<::Grafeas::V1::VulnerabilityNote::WindowsDetail::KnowledgeBase>] + # Required. The names of the KBs which have hotfixes to mitigate this + # vulnerability. Note that there may be multiple hotfixes (and thus + # multiple KBs) that mitigate a given vulnerability. Currently any listed + # KBs presence is considered a fix. + class WindowsDetail + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] name + # @return [::String] + # The KB name (generally of the form KB[0-9]+ (e.g., KB123456)). + # @!attribute [rw] url + # @return [::String] + # A link to the KB in the [Windows update catalog] + # (https://www.catalog.update.microsoft.com/). + class KnowledgeBase + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + + # An occurrence of a severity vulnerability on a resource. + # @!attribute [rw] type + # @return [::String] + # The type of package; whether native or non native (e.g., ruby gems, node.js + # packages, etc.). + # @!attribute [rw] severity + # @return [::Grafeas::V1::Severity] + # Output only. The note provider assigned severity of this vulnerability. + # @!attribute [rw] cvss_score + # @return [::Float] + # Output only. The CVSS score of this vulnerability. CVSS score is on a + # scale of 0 - 10 where 0 indicates low severity and 10 indicates high + # severity. + # @!attribute [rw] cvssv3 + # @return [::Grafeas::V1::CVSS] + # The cvss v3 score for the vulnerability. + # @!attribute [rw] package_issue + # @return [::Array<::Grafeas::V1::VulnerabilityOccurrence::PackageIssue>] + # Required. The set of affected locations and their fixes (if available) + # within the associated resource. + # @!attribute [rw] short_description + # @return [::String] + # Output only. A one sentence description of this vulnerability. + # @!attribute [rw] long_description + # @return [::String] + # Output only. A detailed description of this vulnerability. + # @!attribute [rw] related_urls + # @return [::Array<::Grafeas::V1::RelatedUrl>] + # Output only. URLs related to this vulnerability. + # @!attribute [rw] effective_severity + # @return [::Grafeas::V1::Severity] + # The distro assigned severity for this vulnerability when it is available, + # otherwise this is the note provider assigned severity. + # + # When there are multiple PackageIssues for this vulnerability, they can have + # different effective severities because some might be provided by the distro + # while others are provided by the language ecosystem for a language pack. + # For this reason, it is advised to use the effective severity on the + # PackageIssue level. In the case where multiple PackageIssues have differing + # effective severities, this field should be the highest severity for any of + # the PackageIssues. + # @!attribute [rw] fix_available + # @return [::Boolean] + # Output only. Whether at least one of the affected packages has a fix + # available. + # @!attribute [rw] cvss_version + # @return [::Grafeas::V1::CVSSVersion] + # Output only. CVSS version used to populate cvss_score and severity. + # @!attribute [rw] cvss_v2 + # @return [::Grafeas::V1::CVSS] + # The cvss v2 score for the vulnerability. + # @!attribute [rw] vex_assessment + # @return [::Grafeas::V1::VulnerabilityOccurrence::VexAssessment] + # @!attribute [rw] extra_details + # @return [::String] + # Occurrence-specific extra details about the vulnerability. + # @!attribute [rw] risk + # @return [::Grafeas::V1::Risk] + # Risk information about the vulnerability, such as CISA, EPSS, etc. + class VulnerabilityOccurrence + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # A detail for a distro and package this vulnerability occurrence was found + # in and its associated fix (if one is available). + # @!attribute [rw] affected_cpe_uri + # @return [::String] + # Required. The [CPE URI](https://cpe.mitre.org/specification/) this + # vulnerability was found in. + # @!attribute [rw] affected_package + # @return [::String] + # Required. The package this vulnerability was found in. + # @!attribute [rw] affected_version + # @return [::Grafeas::V1::Version] + # Required. The version of the package that is installed on the resource + # affected by this vulnerability. + # @!attribute [rw] fixed_cpe_uri + # @return [::String] + # The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability + # was fixed in. It is possible for this to be different from the + # affected_cpe_uri. + # @!attribute [rw] fixed_package + # @return [::String] + # The package this vulnerability was fixed in. It is possible for this to + # be different from the affected_package. + # @!attribute [rw] fixed_version + # @return [::Grafeas::V1::Version] + # Required. The version of the package this vulnerability was fixed in. + # Setting this to VersionKind.MAXIMUM means no fix is yet available. + # @!attribute [rw] fix_available + # @return [::Boolean] + # Output only. Whether a fix is available for this package. + # @!attribute [rw] package_type + # @return [::String] + # The type of package (e.g. OS, MAVEN, GO). + # @!attribute [r] effective_severity + # @return [::Grafeas::V1::Severity] + # The distro or language system assigned severity for this vulnerability + # when that is available and note provider assigned severity when it is not + # available. + # @!attribute [rw] file_location + # @return [::Array<::Grafeas::V1::FileLocation>] + # The location at which this package was found. + class PackageIssue + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # VexAssessment provides all publisher provided Vex information that is + # related to this vulnerability. + # @!attribute [rw] cve + # @deprecated This field is deprecated and may be removed in the next major version update. + # @return [::String] + # Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + # tracking number for the vulnerability. + # Deprecated: Use vulnerability_id instead to denote CVEs. + # @!attribute [rw] vulnerability_id + # @return [::String] + # The vulnerability identifier for this Assessment. Will hold one of + # common identifiers e.g. CVE, GHSA etc. + # @!attribute [rw] related_uris + # @return [::Array<::Grafeas::V1::RelatedUrl>] + # Holds a list of references associated with this vulnerability item and + # assessment. + # @!attribute [rw] note_name + # @return [::String] + # The VulnerabilityAssessment note from which this VexAssessment was + # generated. + # This will be of the form: `projects/[PROJECT_ID]/notes/[NOTE_ID]`. + # (-- api-linter: core::0122::name-suffix=disabled + # aip.dev/not-precedent: The suffix is kept for consistency. --) + # @!attribute [rw] state + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::State] + # Provides the state of this Vulnerability assessment. + # @!attribute [rw] impacts + # @return [::Array<::String>] + # Contains information about the impact of this vulnerability, + # this will change with time. + # @!attribute [rw] remediations + # @return [::Array<::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Remediation>] + # Specifies details on how to handle (and presumably, fix) a vulnerability. + # @!attribute [rw] justification + # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Justification] + # Justification provides the justification when the state of the + # assessment if NOT_AFFECTED. + class VexAssessment + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end +end diff --git a/owl-bot-staging/grafeas-v1/snippets/Gemfile b/owl-bot-staging/grafeas-v1/snippets/Gemfile new file mode 100644 index 000000000000..549551d9d158 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/Gemfile @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +source "https://rubygems.org" + +if ENV["GOOGLE_CLOUD_SAMPLES_TEST"] == "master" + gem "grafeas-v1", path: "../" +else + gem "grafeas-v1" +end + +group :test do + gem "google-style", "~> 1.26.1" + gem "minitest", "~> 5.16" + gem "minitest-focus", "~> 1.1" + gem "minitest-hooks", "~> 1.5" +end diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb new file mode 100644 index 000000000000..3dca19f5e30c --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_BatchCreateNotes_sync] +require "grafeas/v1" + +## +# Snippet for the batch_create_notes call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#batch_create_notes. +# +def batch_create_notes + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::BatchCreateNotesRequest.new + + # Call the batch_create_notes method. + result = client.batch_create_notes request + + # The returned object is of type Grafeas::V1::BatchCreateNotesResponse. + p result +end +# [END containeranalysis_v1_generated_Grafeas_BatchCreateNotes_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb new file mode 100644 index 000000000000..7fb0e10e68bd --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_BatchCreateOccurrences_sync] +require "grafeas/v1" + +## +# Snippet for the batch_create_occurrences call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#batch_create_occurrences. +# +def batch_create_occurrences + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::BatchCreateOccurrencesRequest.new + + # Call the batch_create_occurrences method. + result = client.batch_create_occurrences request + + # The returned object is of type Grafeas::V1::BatchCreateOccurrencesResponse. + p result +end +# [END containeranalysis_v1_generated_Grafeas_BatchCreateOccurrences_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb new file mode 100644 index 000000000000..78afb9c5c326 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_CreateNote_sync] +require "grafeas/v1" + +## +# Snippet for the create_note call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#create_note. +# +def create_note + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::CreateNoteRequest.new + + # Call the create_note method. + result = client.create_note request + + # The returned object is of type Grafeas::V1::Note. + p result +end +# [END containeranalysis_v1_generated_Grafeas_CreateNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb new file mode 100644 index 000000000000..f096444c8a9a --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_CreateOccurrence_sync] +require "grafeas/v1" + +## +# Snippet for the create_occurrence call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#create_occurrence. +# +def create_occurrence + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::CreateOccurrenceRequest.new + + # Call the create_occurrence method. + result = client.create_occurrence request + + # The returned object is of type Grafeas::V1::Occurrence. + p result +end +# [END containeranalysis_v1_generated_Grafeas_CreateOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb new file mode 100644 index 000000000000..130f3650ad78 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_DeleteNote_sync] +require "grafeas/v1" + +## +# Snippet for the delete_note call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#delete_note. +# +def delete_note + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::DeleteNoteRequest.new + + # Call the delete_note method. + result = client.delete_note request + + # The returned object is of type Google::Protobuf::Empty. + p result +end +# [END containeranalysis_v1_generated_Grafeas_DeleteNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb new file mode 100644 index 000000000000..345a7bafaffb --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_DeleteOccurrence_sync] +require "grafeas/v1" + +## +# Snippet for the delete_occurrence call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#delete_occurrence. +# +def delete_occurrence + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::DeleteOccurrenceRequest.new + + # Call the delete_occurrence method. + result = client.delete_occurrence request + + # The returned object is of type Google::Protobuf::Empty. + p result +end +# [END containeranalysis_v1_generated_Grafeas_DeleteOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb new file mode 100644 index 000000000000..fb90bd7d7bf7 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_GetNote_sync] +require "grafeas/v1" + +## +# Snippet for the get_note call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#get_note. +# +def get_note + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::GetNoteRequest.new + + # Call the get_note method. + result = client.get_note request + + # The returned object is of type Grafeas::V1::Note. + p result +end +# [END containeranalysis_v1_generated_Grafeas_GetNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb new file mode 100644 index 000000000000..34efaee3033e --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_GetOccurrence_sync] +require "grafeas/v1" + +## +# Snippet for the get_occurrence call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#get_occurrence. +# +def get_occurrence + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::GetOccurrenceRequest.new + + # Call the get_occurrence method. + result = client.get_occurrence request + + # The returned object is of type Grafeas::V1::Occurrence. + p result +end +# [END containeranalysis_v1_generated_Grafeas_GetOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb new file mode 100644 index 000000000000..eb5c20b49106 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_GetOccurrenceNote_sync] +require "grafeas/v1" + +## +# Snippet for the get_occurrence_note call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#get_occurrence_note. +# +def get_occurrence_note + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::GetOccurrenceNoteRequest.new + + # Call the get_occurrence_note method. + result = client.get_occurrence_note request + + # The returned object is of type Grafeas::V1::Note. + p result +end +# [END containeranalysis_v1_generated_Grafeas_GetOccurrenceNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb new file mode 100644 index 000000000000..176aadb8a24c --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_ListNoteOccurrences_sync] +require "grafeas/v1" + +## +# Snippet for the list_note_occurrences call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#list_note_occurrences. +# +def list_note_occurrences + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::ListNoteOccurrencesRequest.new + + # Call the list_note_occurrences method. + result = client.list_note_occurrences request + + # The returned object is of type Gapic::PagedEnumerable. You can iterate + # over elements, and API calls will be issued to fetch pages as needed. + result.each do |item| + # Each element is of type ::Grafeas::V1::Occurrence. + p item + end +end +# [END containeranalysis_v1_generated_Grafeas_ListNoteOccurrences_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb new file mode 100644 index 000000000000..75a6d5fed888 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_ListNotes_sync] +require "grafeas/v1" + +## +# Snippet for the list_notes call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#list_notes. +# +def list_notes + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::ListNotesRequest.new + + # Call the list_notes method. + result = client.list_notes request + + # The returned object is of type Gapic::PagedEnumerable. You can iterate + # over elements, and API calls will be issued to fetch pages as needed. + result.each do |item| + # Each element is of type ::Grafeas::V1::Note. + p item + end +end +# [END containeranalysis_v1_generated_Grafeas_ListNotes_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb new file mode 100644 index 000000000000..e23051faf761 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_ListOccurrences_sync] +require "grafeas/v1" + +## +# Snippet for the list_occurrences call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#list_occurrences. +# +def list_occurrences + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::ListOccurrencesRequest.new + + # Call the list_occurrences method. + result = client.list_occurrences request + + # The returned object is of type Gapic::PagedEnumerable. You can iterate + # over elements, and API calls will be issued to fetch pages as needed. + result.each do |item| + # Each element is of type ::Grafeas::V1::Occurrence. + p item + end +end +# [END containeranalysis_v1_generated_Grafeas_ListOccurrences_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb new file mode 100644 index 000000000000..7744b6a35993 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_UpdateNote_sync] +require "grafeas/v1" + +## +# Snippet for the update_note call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#update_note. +# +def update_note + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::UpdateNoteRequest.new + + # Call the update_note method. + result = client.update_note request + + # The returned object is of type Grafeas::V1::Note. + p result +end +# [END containeranalysis_v1_generated_Grafeas_UpdateNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb new file mode 100644 index 000000000000..8f2301dba810 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START containeranalysis_v1_generated_Grafeas_UpdateOccurrence_sync] +require "grafeas/v1" + +## +# Snippet for the update_occurrence call in the Grafeas service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Grafeas::V1::Grafeas::Client#update_occurrence. +# +def update_occurrence + # Create a client object. The client can be reused for multiple calls. + client = Grafeas::V1::Grafeas::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Grafeas::V1::UpdateOccurrenceRequest.new + + # Call the update_occurrence method. + result = client.update_occurrence request + + # The returned object is of type Grafeas::V1::Occurrence. + p result +end +# [END containeranalysis_v1_generated_Grafeas_UpdateOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json b/owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json new file mode 100644 index 000000000000..75b0689c6fff --- /dev/null +++ b/owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json @@ -0,0 +1,575 @@ +{ + "client_library": { + "name": "grafeas-v1", + "version": "", + "language": "RUBY", + "apis": [ + { + "id": "grafeas.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "region_tag": "containeranalysis_v1_generated_Grafeas_GetOccurrence_sync", + "title": "Snippet for the get_occurrence call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#get_occurrence.", + "file": "grafeas/get_occurrence.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_occurrence", + "full_name": "::Grafeas::V1::Grafeas::Client#get_occurrence", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::GetOccurrenceRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Occurrence", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "GetOccurrence", + "full_name": "grafeas.v1.Grafeas.GetOccurrence", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_ListOccurrences_sync", + "title": "Snippet for the list_occurrences call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#list_occurrences.", + "file": "grafeas/list_occurrences.rb", + "language": "RUBY", + "client_method": { + "short_name": "list_occurrences", + "full_name": "::Grafeas::V1::Grafeas::Client#list_occurrences", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::ListOccurrencesRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::ListOccurrencesResponse", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "ListOccurrences", + "full_name": "grafeas.v1.Grafeas.ListOccurrences", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 50, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_DeleteOccurrence_sync", + "title": "Snippet for the delete_occurrence call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#delete_occurrence.", + "file": "grafeas/delete_occurrence.rb", + "language": "RUBY", + "client_method": { + "short_name": "delete_occurrence", + "full_name": "::Grafeas::V1::Grafeas::Client#delete_occurrence", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::DeleteOccurrenceRequest", + "name": "request" + } + ], + "result_type": "::Google::Protobuf::Empty", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "DeleteOccurrence", + "full_name": "grafeas.v1.Grafeas.DeleteOccurrence", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_CreateOccurrence_sync", + "title": "Snippet for the create_occurrence call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#create_occurrence.", + "file": "grafeas/create_occurrence.rb", + "language": "RUBY", + "client_method": { + "short_name": "create_occurrence", + "full_name": "::Grafeas::V1::Grafeas::Client#create_occurrence", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::CreateOccurrenceRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Occurrence", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "CreateOccurrence", + "full_name": "grafeas.v1.Grafeas.CreateOccurrence", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_BatchCreateOccurrences_sync", + "title": "Snippet for the batch_create_occurrences call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#batch_create_occurrences.", + "file": "grafeas/batch_create_occurrences.rb", + "language": "RUBY", + "client_method": { + "short_name": "batch_create_occurrences", + "full_name": "::Grafeas::V1::Grafeas::Client#batch_create_occurrences", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::BatchCreateOccurrencesRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::BatchCreateOccurrencesResponse", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "BatchCreateOccurrences", + "full_name": "grafeas.v1.Grafeas.BatchCreateOccurrences", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_UpdateOccurrence_sync", + "title": "Snippet for the update_occurrence call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#update_occurrence.", + "file": "grafeas/update_occurrence.rb", + "language": "RUBY", + "client_method": { + "short_name": "update_occurrence", + "full_name": "::Grafeas::V1::Grafeas::Client#update_occurrence", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::UpdateOccurrenceRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Occurrence", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "UpdateOccurrence", + "full_name": "grafeas.v1.Grafeas.UpdateOccurrence", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_GetOccurrenceNote_sync", + "title": "Snippet for the get_occurrence_note call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#get_occurrence_note.", + "file": "grafeas/get_occurrence_note.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_occurrence_note", + "full_name": "::Grafeas::V1::Grafeas::Client#get_occurrence_note", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::GetOccurrenceNoteRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Note", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "GetOccurrenceNote", + "full_name": "grafeas.v1.Grafeas.GetOccurrenceNote", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_GetNote_sync", + "title": "Snippet for the get_note call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#get_note.", + "file": "grafeas/get_note.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_note", + "full_name": "::Grafeas::V1::Grafeas::Client#get_note", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::GetNoteRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Note", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "GetNote", + "full_name": "grafeas.v1.Grafeas.GetNote", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_ListNotes_sync", + "title": "Snippet for the list_notes call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#list_notes.", + "file": "grafeas/list_notes.rb", + "language": "RUBY", + "client_method": { + "short_name": "list_notes", + "full_name": "::Grafeas::V1::Grafeas::Client#list_notes", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::ListNotesRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::ListNotesResponse", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "ListNotes", + "full_name": "grafeas.v1.Grafeas.ListNotes", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 50, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_DeleteNote_sync", + "title": "Snippet for the delete_note call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#delete_note.", + "file": "grafeas/delete_note.rb", + "language": "RUBY", + "client_method": { + "short_name": "delete_note", + "full_name": "::Grafeas::V1::Grafeas::Client#delete_note", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::DeleteNoteRequest", + "name": "request" + } + ], + "result_type": "::Google::Protobuf::Empty", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "DeleteNote", + "full_name": "grafeas.v1.Grafeas.DeleteNote", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_CreateNote_sync", + "title": "Snippet for the create_note call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#create_note.", + "file": "grafeas/create_note.rb", + "language": "RUBY", + "client_method": { + "short_name": "create_note", + "full_name": "::Grafeas::V1::Grafeas::Client#create_note", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::CreateNoteRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Note", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "CreateNote", + "full_name": "grafeas.v1.Grafeas.CreateNote", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_BatchCreateNotes_sync", + "title": "Snippet for the batch_create_notes call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#batch_create_notes.", + "file": "grafeas/batch_create_notes.rb", + "language": "RUBY", + "client_method": { + "short_name": "batch_create_notes", + "full_name": "::Grafeas::V1::Grafeas::Client#batch_create_notes", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::BatchCreateNotesRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::BatchCreateNotesResponse", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "BatchCreateNotes", + "full_name": "grafeas.v1.Grafeas.BatchCreateNotes", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_UpdateNote_sync", + "title": "Snippet for the update_note call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#update_note.", + "file": "grafeas/update_note.rb", + "language": "RUBY", + "client_method": { + "short_name": "update_note", + "full_name": "::Grafeas::V1::Grafeas::Client#update_note", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::UpdateNoteRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::Note", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "UpdateNote", + "full_name": "grafeas.v1.Grafeas.UpdateNote", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "containeranalysis_v1_generated_Grafeas_ListNoteOccurrences_sync", + "title": "Snippet for the list_note_occurrences call in the Grafeas service", + "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#list_note_occurrences.", + "file": "grafeas/list_note_occurrences.rb", + "language": "RUBY", + "client_method": { + "short_name": "list_note_occurrences", + "full_name": "::Grafeas::V1::Grafeas::Client#list_note_occurrences", + "async": false, + "parameters": [ + { + "type": "::Grafeas::V1::ListNoteOccurrencesRequest", + "name": "request" + } + ], + "result_type": "::Grafeas::V1::ListNoteOccurrencesResponse", + "client": { + "short_name": "Grafeas::Client", + "full_name": "::Grafeas::V1::Grafeas::Client" + }, + "method": { + "short_name": "ListNoteOccurrences", + "full_name": "grafeas.v1.Grafeas.ListNoteOccurrences", + "service": { + "short_name": "Grafeas", + "full_name": "grafeas.v1.Grafeas" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 50, + "type": "FULL" + } + ] + } + ] +} \ No newline at end of file diff --git a/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb b/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb new file mode 100644 index 000000000000..c1ca7ff02579 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "helper" + +require "gapic/grpc/service_stub" + +require "grafeas/v1/grafeas" + +class ::Grafeas::V1::Grafeas::ClientPathsTest < Minitest::Test + class DummyStub + def endpoint + "endpoint.example.com" + end + + def universe_domain + "example.com" + end + + def stub_logger + nil + end + + def logger + nil + end + end + + def test_note_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.note_path project: "value0", note: "value1" + assert_equal "projects/value0/notes/value1", path + end + end + + def test_occurrence_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.occurrence_path project: "value0", occurrence: "value1" + assert_equal "projects/value0/occurrences/value1", path + end + end + + def test_project_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.project_path project: "value0" + assert_equal "projects/value0", path + end + end +end diff --git a/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb b/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb new file mode 100644 index 000000000000..87615088c6ce --- /dev/null +++ b/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb @@ -0,0 +1,971 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "helper" + +require "gapic/grpc/service_stub" + +require "grafeas/v1/grafeas_pb" +require "grafeas/v1/grafeas" + +class ::Grafeas::V1::Grafeas::ClientTest < Minitest::Test + class ClientStub + attr_accessor :call_rpc_count, :requests + + def initialize response, operation, &block + @response = response + @operation = operation + @block = block + @call_rpc_count = 0 + @requests = [] + end + + def call_rpc *args, **kwargs + @call_rpc_count += 1 + + @requests << @block&.call(*args, **kwargs) + + catch :response do + yield @response, @operation if block_given? + @response + end + end + + def endpoint + "endpoint.example.com" + end + + def universe_domain + "example.com" + end + + def stub_logger + nil + end + + def logger + nil + end + end + + def test_get_occurrence + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Occurrence.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :get_occurrence, name + assert_kind_of ::Grafeas::V1::GetOccurrenceRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, get_occurrence_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.get_occurrence({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.get_occurrence name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.get_occurrence ::Grafeas::V1::GetOccurrenceRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.get_occurrence({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.get_occurrence(::Grafeas::V1::GetOccurrenceRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, get_occurrence_client_stub.call_rpc_count + end + end + + def test_list_occurrences + # Create GRPC objects. + grpc_response = ::Grafeas::V1::ListOccurrencesResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + filter = "hello world" + page_size = 42 + page_token = "hello world" + return_partial_success = true + + list_occurrences_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :list_occurrences, name + assert_kind_of ::Grafeas::V1::ListOccurrencesRequest, request + assert_equal "hello world", request["parent"] + assert_equal "hello world", request["filter"] + assert_equal 42, request["page_size"] + assert_equal "hello world", request["page_token"] + assert_equal true, request["return_partial_success"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, list_occurrences_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.list_occurrences({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.list_occurrences parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.list_occurrences ::Grafeas::V1::ListOccurrencesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.list_occurrences({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.list_occurrences(::Grafeas::V1::ListOccurrencesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, list_occurrences_client_stub.call_rpc_count + end + end + + def test_delete_occurrence + # Create GRPC objects. + grpc_response = ::Google::Protobuf::Empty.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + delete_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :delete_occurrence, name + assert_kind_of ::Grafeas::V1::DeleteOccurrenceRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, delete_occurrence_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.delete_occurrence({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.delete_occurrence name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.delete_occurrence ::Grafeas::V1::DeleteOccurrenceRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.delete_occurrence({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.delete_occurrence(::Grafeas::V1::DeleteOccurrenceRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, delete_occurrence_client_stub.call_rpc_count + end + end + + def test_create_occurrence + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Occurrence.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + occurrence = {} + + create_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :create_occurrence, name + assert_kind_of ::Grafeas::V1::CreateOccurrenceRequest, request + assert_equal "hello world", request["parent"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Occurrence), request["occurrence"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, create_occurrence_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.create_occurrence({ parent: parent, occurrence: occurrence }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.create_occurrence parent: parent, occurrence: occurrence do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.create_occurrence ::Grafeas::V1::CreateOccurrenceRequest.new(parent: parent, occurrence: occurrence) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.create_occurrence({ parent: parent, occurrence: occurrence }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.create_occurrence(::Grafeas::V1::CreateOccurrenceRequest.new(parent: parent, occurrence: occurrence), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, create_occurrence_client_stub.call_rpc_count + end + end + + def test_batch_create_occurrences + # Create GRPC objects. + grpc_response = ::Grafeas::V1::BatchCreateOccurrencesResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + occurrences = [{}] + + batch_create_occurrences_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :batch_create_occurrences, name + assert_kind_of ::Grafeas::V1::BatchCreateOccurrencesRequest, request + assert_equal "hello world", request["parent"] + assert_kind_of ::Grafeas::V1::Occurrence, request["occurrences"].first + refute_nil options + end + + Gapic::ServiceStub.stub :new, batch_create_occurrences_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.batch_create_occurrences({ parent: parent, occurrences: occurrences }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.batch_create_occurrences parent: parent, occurrences: occurrences do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.batch_create_occurrences ::Grafeas::V1::BatchCreateOccurrencesRequest.new(parent: parent, occurrences: occurrences) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.batch_create_occurrences({ parent: parent, occurrences: occurrences }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.batch_create_occurrences(::Grafeas::V1::BatchCreateOccurrencesRequest.new(parent: parent, occurrences: occurrences), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, batch_create_occurrences_client_stub.call_rpc_count + end + end + + def test_update_occurrence + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Occurrence.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + occurrence = {} + update_mask = {} + + update_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :update_occurrence, name + assert_kind_of ::Grafeas::V1::UpdateOccurrenceRequest, request + assert_equal "hello world", request["name"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Occurrence), request["occurrence"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, update_occurrence_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.update_occurrence({ name: name, occurrence: occurrence, update_mask: update_mask }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.update_occurrence name: name, occurrence: occurrence, update_mask: update_mask do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.update_occurrence ::Grafeas::V1::UpdateOccurrenceRequest.new(name: name, occurrence: occurrence, update_mask: update_mask) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.update_occurrence({ name: name, occurrence: occurrence, update_mask: update_mask }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.update_occurrence(::Grafeas::V1::UpdateOccurrenceRequest.new(name: name, occurrence: occurrence, update_mask: update_mask), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, update_occurrence_client_stub.call_rpc_count + end + end + + def test_get_occurrence_note + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Note.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_occurrence_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :get_occurrence_note, name + assert_kind_of ::Grafeas::V1::GetOccurrenceNoteRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, get_occurrence_note_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.get_occurrence_note({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.get_occurrence_note name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.get_occurrence_note ::Grafeas::V1::GetOccurrenceNoteRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.get_occurrence_note({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.get_occurrence_note(::Grafeas::V1::GetOccurrenceNoteRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, get_occurrence_note_client_stub.call_rpc_count + end + end + + def test_get_note + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Note.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :get_note, name + assert_kind_of ::Grafeas::V1::GetNoteRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, get_note_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.get_note({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.get_note name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.get_note ::Grafeas::V1::GetNoteRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.get_note({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.get_note(::Grafeas::V1::GetNoteRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, get_note_client_stub.call_rpc_count + end + end + + def test_list_notes + # Create GRPC objects. + grpc_response = ::Grafeas::V1::ListNotesResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + filter = "hello world" + page_size = 42 + page_token = "hello world" + return_partial_success = true + + list_notes_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :list_notes, name + assert_kind_of ::Grafeas::V1::ListNotesRequest, request + assert_equal "hello world", request["parent"] + assert_equal "hello world", request["filter"] + assert_equal 42, request["page_size"] + assert_equal "hello world", request["page_token"] + assert_equal true, request["return_partial_success"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, list_notes_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.list_notes({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.list_notes parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.list_notes ::Grafeas::V1::ListNotesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.list_notes({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.list_notes(::Grafeas::V1::ListNotesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, list_notes_client_stub.call_rpc_count + end + end + + def test_delete_note + # Create GRPC objects. + grpc_response = ::Google::Protobuf::Empty.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + delete_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :delete_note, name + assert_kind_of ::Grafeas::V1::DeleteNoteRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, delete_note_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.delete_note({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.delete_note name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.delete_note ::Grafeas::V1::DeleteNoteRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.delete_note({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.delete_note(::Grafeas::V1::DeleteNoteRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, delete_note_client_stub.call_rpc_count + end + end + + def test_create_note + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Note.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + note_id = "hello world" + note = {} + + create_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :create_note, name + assert_kind_of ::Grafeas::V1::CreateNoteRequest, request + assert_equal "hello world", request["parent"] + assert_equal "hello world", request["note_id"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Note), request["note"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, create_note_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.create_note({ parent: parent, note_id: note_id, note: note }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.create_note parent: parent, note_id: note_id, note: note do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.create_note ::Grafeas::V1::CreateNoteRequest.new(parent: parent, note_id: note_id, note: note) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.create_note({ parent: parent, note_id: note_id, note: note }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.create_note(::Grafeas::V1::CreateNoteRequest.new(parent: parent, note_id: note_id, note: note), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, create_note_client_stub.call_rpc_count + end + end + + def test_batch_create_notes + # Create GRPC objects. + grpc_response = ::Grafeas::V1::BatchCreateNotesResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + notes = {} + + batch_create_notes_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :batch_create_notes, name + assert_kind_of ::Grafeas::V1::BatchCreateNotesRequest, request + assert_equal "hello world", request["parent"] + assert_equal({}, request["notes"].to_h) + refute_nil options + end + + Gapic::ServiceStub.stub :new, batch_create_notes_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.batch_create_notes({ parent: parent, notes: notes }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.batch_create_notes parent: parent, notes: notes do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.batch_create_notes ::Grafeas::V1::BatchCreateNotesRequest.new(parent: parent, notes: notes) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.batch_create_notes({ parent: parent, notes: notes }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.batch_create_notes(::Grafeas::V1::BatchCreateNotesRequest.new(parent: parent, notes: notes), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, batch_create_notes_client_stub.call_rpc_count + end + end + + def test_update_note + # Create GRPC objects. + grpc_response = ::Grafeas::V1::Note.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + note = {} + update_mask = {} + + update_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :update_note, name + assert_kind_of ::Grafeas::V1::UpdateNoteRequest, request + assert_equal "hello world", request["name"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Note), request["note"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, update_note_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.update_note({ name: name, note: note, update_mask: update_mask }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.update_note name: name, note: note, update_mask: update_mask do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.update_note ::Grafeas::V1::UpdateNoteRequest.new(name: name, note: note, update_mask: update_mask) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.update_note({ name: name, note: note, update_mask: update_mask }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.update_note(::Grafeas::V1::UpdateNoteRequest.new(name: name, note: note, update_mask: update_mask), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, update_note_client_stub.call_rpc_count + end + end + + def test_list_note_occurrences + # Create GRPC objects. + grpc_response = ::Grafeas::V1::ListNoteOccurrencesResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + filter = "hello world" + page_size = 42 + page_token = "hello world" + + list_note_occurrences_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :list_note_occurrences, name + assert_kind_of ::Grafeas::V1::ListNoteOccurrencesRequest, request + assert_equal "hello world", request["name"] + assert_equal "hello world", request["filter"] + assert_equal 42, request["page_size"] + assert_equal "hello world", request["page_token"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, list_note_occurrences_client_stub do + # Create client + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.list_note_occurrences({ name: name, filter: filter, page_size: page_size, page_token: page_token }) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.list_note_occurrences name: name, filter: filter, page_size: page_size, page_token: page_token do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.list_note_occurrences ::Grafeas::V1::ListNoteOccurrencesRequest.new(name: name, filter: filter, page_size: page_size, page_token: page_token) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.list_note_occurrences({ name: name, filter: filter, page_size: page_size, page_token: page_token }, grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.list_note_occurrences(::Grafeas::V1::ListNoteOccurrencesRequest.new(name: name, filter: filter, page_size: page_size, page_token: page_token), grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, list_note_occurrences_client_stub.call_rpc_count + end + end + + def test_configure + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + + client = block_config = config = nil + dummy_stub = ClientStub.new nil, nil + Gapic::ServiceStub.stub :new, dummy_stub do + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = grpc_channel + end + end + + config = client.configure do |c| + block_config = c + end + + assert_same block_config, config + assert_kind_of ::Grafeas::V1::Grafeas::Client::Configuration, config + end + + def test_credentials + key = OpenSSL::PKey::RSA.new 2048 + cred_json = { + "private_key" => key.to_pem, + "client_email" => "app@developer.gserviceaccount.com", + "type" => "service_account" + } + key_file = StringIO.new cred_json.to_json + creds = Google::Auth::ServiceAccountCredentials.make_creds({ json_key_io: key_file }) + + dummy_stub = ClientStub.new nil, nil + Gapic::ServiceStub.stub :new, dummy_stub do + client = ::Grafeas::V1::Grafeas::Client.new do |config| + config.credentials = creds + end + assert_kind_of ::Grafeas::V1::Grafeas::Client, client + assert_equal creds, client.configure.credentials + end + end +end diff --git a/owl-bot-staging/grafeas-v1/test/helper.rb b/owl-bot-staging/grafeas-v1/test/helper.rb new file mode 100644 index 000000000000..f0e715458fa2 --- /dev/null +++ b/owl-bot-staging/grafeas-v1/test/helper.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +# Copyright 2026 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +require "minitest/autorun" +require "minitest/focus" +require "minitest/rg" + +require "grpc" + +require "ostruct" From b0786e22ff45995a06d8e05c65d5676b43959c66 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Mon, 26 Jan 2026 22:10:18 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- grafeas-v1/lib/grafeas/v1/discovery_pb.rb | 2 +- grafeas-v1/proto_docs/grafeas/v1/discovery.rb | 3 + owl-bot-staging/grafeas-v1/.gitignore | 22 - .../grafeas-v1/.repo-metadata.json | 16 - owl-bot-staging/grafeas-v1/.rubocop.yml | 33 - owl-bot-staging/grafeas-v1/.toys.rb | 28 - owl-bot-staging/grafeas-v1/.yardopts | 11 - owl-bot-staging/grafeas-v1/CHANGELOG.md | 2 - owl-bot-staging/grafeas-v1/Gemfile | 11 - owl-bot-staging/grafeas-v1/LICENSE.md | 201 -- owl-bot-staging/grafeas-v1/README.md | 142 -- owl-bot-staging/grafeas-v1/Rakefile | 143 -- .../grafeas-v1/gapic_metadata.json | 88 - owl-bot-staging/grafeas-v1/grafeas-v1.gemspec | 28 - owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb | 21 - owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb | 36 - .../lib/grafeas/v1/attestation_pb.rb | 44 - .../grafeas-v1/lib/grafeas/v1/build_pb.rb | 46 - .../grafeas-v1/lib/grafeas/v1/common_pb.rb | 47 - .../lib/grafeas/v1/compliance_pb.rb | 44 - .../grafeas-v1/lib/grafeas/v1/cvss_pb.rb | 53 - .../lib/grafeas/v1/deployment_pb.rb | 43 - .../grafeas-v1/lib/grafeas/v1/discovery_pb.rb | 54 - .../lib/grafeas/v1/dsse_attestation_pb.rb | 45 - .../grafeas-v1/lib/grafeas/v1/grafeas.rb | 57 - .../lib/grafeas/v1/grafeas/client.rb | 1808 ----------------- .../lib/grafeas/v1/grafeas/paths.rb | 77 - .../grafeas-v1/lib/grafeas/v1/grafeas_pb.rb | 96 - .../lib/grafeas/v1/grafeas_services_pb.rb | 85 - .../grafeas-v1/lib/grafeas/v1/image_pb.rb | 41 - .../lib/grafeas/v1/intoto_provenance_pb.rb | 47 - .../lib/grafeas/v1/intoto_statement_pb.rb | 57 - .../grafeas-v1/lib/grafeas/v1/package_pb.rb | 48 - .../lib/grafeas/v1/provenance_pb.rb | 54 - .../grafeas-v1/lib/grafeas/v1/risk_pb.rb | 40 - .../grafeas-v1/lib/grafeas/v1/sbom_pb.rb | 46 - .../grafeas-v1/lib/grafeas/v1/secret_pb.rb | 51 - .../grafeas-v1/lib/grafeas/v1/severity_pb.rb | 38 - .../lib/grafeas/v1/slsa_provenance_pb.rb | 48 - .../grafeas/v1/slsa_provenance_zero_two_pb.rb | 49 - .../grafeas-v1/lib/grafeas/v1/upgrade_pb.rb | 48 - .../grafeas-v1/lib/grafeas/v1/version.rb | 24 - .../grafeas-v1/lib/grafeas/v1/vex_pb.rb | 49 - .../lib/grafeas/v1/vulnerability_pb.rb | 59 - .../grafeas-v1/proto_docs/README.md | 4 - .../proto_docs/google/api/client.rb | 473 ----- .../proto_docs/google/api/field_behavior.rb | 85 - .../proto_docs/google/api/launch_stage.rb | 71 - .../proto_docs/google/api/resource.rb | 227 --- .../proto_docs/google/protobuf/any.rb | 145 -- .../proto_docs/google/protobuf/duration.rb | 98 - .../proto_docs/google/protobuf/empty.rb | 34 - .../proto_docs/google/protobuf/field_mask.rb | 229 --- .../proto_docs/google/protobuf/struct.rb | 108 - .../proto_docs/google/protobuf/timestamp.rb | 127 -- .../proto_docs/google/rpc/status.rb | 48 - .../proto_docs/grafeas/v1/attestation.rb | 98 - .../grafeas-v1/proto_docs/grafeas/v1/build.rb | 70 - .../proto_docs/grafeas/v1/common.rb | 236 --- .../proto_docs/grafeas/v1/compliance.rb | 107 - .../grafeas-v1/proto_docs/grafeas/v1/cvss.rb | 229 --- .../proto_docs/grafeas/v1/deployment.rb | 74 - .../proto_docs/grafeas/v1/discovery.rb | 195 -- .../proto_docs/grafeas/v1/dsse_attestation.rb | 59 - .../proto_docs/grafeas/v1/grafeas.rb | 510 ----- .../grafeas-v1/proto_docs/grafeas/v1/image.rb | 95 - .../grafeas/v1/intoto_provenance.rb | 134 -- .../proto_docs/grafeas/v1/intoto_statement.rb | 189 -- .../proto_docs/grafeas/v1/package.rb | 203 -- .../proto_docs/grafeas/v1/provenance.rb | 336 --- .../grafeas-v1/proto_docs/grafeas/v1/risk.rb | 57 - .../grafeas-v1/proto_docs/grafeas/v1/sbom.rb | 105 - .../proto_docs/grafeas/v1/secret.rb | 165 -- .../proto_docs/grafeas/v1/severity.rb | 43 - .../proto_docs/grafeas/v1/slsa_provenance.rb | 152 -- .../grafeas/v1/slsa_provenance_zero_two.rb | 131 -- .../proto_docs/grafeas/v1/upgrade.rb | 148 -- .../grafeas-v1/proto_docs/grafeas/v1/vex.rb | 237 --- .../proto_docs/grafeas/v1/vulnerability.rb | 314 --- owl-bot-staging/grafeas-v1/snippets/Gemfile | 32 - .../snippets/grafeas/batch_create_notes.rb | 47 - .../grafeas/batch_create_occurrences.rb | 47 - .../snippets/grafeas/create_note.rb | 47 - .../snippets/grafeas/create_occurrence.rb | 47 - .../snippets/grafeas/delete_note.rb | 47 - .../snippets/grafeas/delete_occurrence.rb | 47 - .../grafeas-v1/snippets/grafeas/get_note.rb | 47 - .../snippets/grafeas/get_occurrence.rb | 47 - .../snippets/grafeas/get_occurrence_note.rb | 47 - .../snippets/grafeas/list_note_occurrences.rb | 51 - .../grafeas-v1/snippets/grafeas/list_notes.rb | 51 - .../snippets/grafeas/list_occurrences.rb | 51 - .../snippets/grafeas/update_note.rb | 47 - .../snippets/grafeas/update_occurrence.rb | 47 - .../snippets/snippet_metadata_grafeas.v1.json | 575 ------ .../test/grafeas/v1/grafeas_paths_test.rb | 79 - .../test/grafeas/v1/grafeas_test.rb | 971 --------- owl-bot-staging/grafeas-v1/test/helper.rb | 25 - 98 files changed, 4 insertions(+), 11869 deletions(-) delete mode 100644 owl-bot-staging/grafeas-v1/.gitignore delete mode 100644 owl-bot-staging/grafeas-v1/.repo-metadata.json delete mode 100644 owl-bot-staging/grafeas-v1/.rubocop.yml delete mode 100644 owl-bot-staging/grafeas-v1/.toys.rb delete mode 100644 owl-bot-staging/grafeas-v1/.yardopts delete mode 100644 owl-bot-staging/grafeas-v1/CHANGELOG.md delete mode 100644 owl-bot-staging/grafeas-v1/Gemfile delete mode 100644 owl-bot-staging/grafeas-v1/LICENSE.md delete mode 100644 owl-bot-staging/grafeas-v1/README.md delete mode 100644 owl-bot-staging/grafeas-v1/Rakefile delete mode 100644 owl-bot-staging/grafeas-v1/gapic_metadata.json delete mode 100644 owl-bot-staging/grafeas-v1/grafeas-v1.gemspec delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/README.md delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb delete mode 100644 owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/Gemfile delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb delete mode 100644 owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json delete mode 100644 owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb delete mode 100644 owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb delete mode 100644 owl-bot-staging/grafeas-v1/test/helper.rb diff --git a/grafeas-v1/lib/grafeas/v1/discovery_pb.rb b/grafeas-v1/lib/grafeas/v1/discovery_pb.rb index 761bdceb267c..b9e2f2e48602 100644 --- a/grafeas-v1/lib/grafeas/v1/discovery_pb.rb +++ b/grafeas-v1/lib/grafeas/v1/discovery_pb.rb @@ -10,7 +10,7 @@ require 'grafeas/v1/common_pb' -descriptor_data = "\n\x1agrafeas/v1/discovery.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x17grafeas/v1/common.proto\"<\n\rDiscoveryNote\x12+\n\ranalysis_kind\x18\x01 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\"\xb9\x0c\n\x13\x44iscoveryOccurrence\x12O\n\x13\x63ontinuous_analysis\x18\x01 \x01(\x0e\x32\x32.grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis\x12G\n\x0f\x61nalysis_status\x18\x02 \x01(\x0e\x32..grafeas.v1.DiscoveryOccurrence.AnalysisStatus\x12M\n\x12\x61nalysis_completed\x18\x07 \x01(\x0b\x32\x31.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted\x12*\n\x0e\x61nalysis_error\x18\x08 \x03(\x0b\x32\x12.google.rpc.Status\x12\x31\n\x15\x61nalysis_status_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03\x63pe\x18\x04 \x01(\t\x12\x32\n\x0elast_scan_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0c\x61rchive_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12?\n\x0bsbom_status\x18\t \x01(\x0b\x32*.grafeas.v1.DiscoveryOccurrence.SBOMStatus\x12[\n\x19vulnerability_attestation\x18\n \x01(\x0b\x32\x38.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation\x12\x33\n\x05\x66iles\x18\x0b \x03(\x0b\x32$.grafeas.v1.DiscoveryOccurrence.File\x1a*\n\x11\x41nalysisCompleted\x12\x15\n\ranalysis_type\x18\x01 \x03(\t\x1a\xa9\x01\n\nSBOMStatus\x12H\n\nsbom_state\x18\x01 \x01(\x0e\x32\x34.grafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"B\n\tSBOMState\x12\x1a\n\x16SBOM_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x1a\xb3\x02\n\x18VulnerabilityAttestation\x12\x35\n\x11last_attempt_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x65\n\x05state\x18\x02 \x01(\x0e\x32V.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"j\n\x1dVulnerabilityAttestationState\x12/\n+VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x1a\x85\x01\n\x04\x46ile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06\x64igest\x18\x02 \x03(\x0b\x32\x30.grafeas.v1.DiscoveryOccurrence.File.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x12\x43ontinuousAnalysis\x12#\n\x1f\x43ONTINUOUS_ANALYSIS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"\xa3\x01\n\x0e\x41nalysisStatus\x12\x1f\n\x1b\x41NALYSIS_STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08SCANNING\x10\x02\x12\x14\n\x10\x46INISHED_SUCCESS\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x03\x12\x13\n\x0f\x46INISHED_FAILED\x10\x04\x12\x18\n\x14\x46INISHED_UNSUPPORTED\x10\x05\x1a\x02\x10\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" +descriptor_data = "\n\x1agrafeas/v1/discovery.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x17grafeas/v1/common.proto\"<\n\rDiscoveryNote\x12+\n\ranalysis_kind\x18\x01 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\"\xfd\x0c\n\x13\x44iscoveryOccurrence\x12O\n\x13\x63ontinuous_analysis\x18\x01 \x01(\x0e\x32\x32.grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis\x12G\n\x0f\x61nalysis_status\x18\x02 \x01(\x0e\x32..grafeas.v1.DiscoveryOccurrence.AnalysisStatus\x12M\n\x12\x61nalysis_completed\x18\x07 \x01(\x0b\x32\x31.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted\x12*\n\x0e\x61nalysis_error\x18\x08 \x03(\x0b\x32\x12.google.rpc.Status\x12\x31\n\x15\x61nalysis_status_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03\x63pe\x18\x04 \x01(\t\x12\x32\n\x0elast_scan_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0c\x61rchive_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12?\n\x0bsbom_status\x18\t \x01(\x0b\x32*.grafeas.v1.DiscoveryOccurrence.SBOMStatus\x12[\n\x19vulnerability_attestation\x18\n \x01(\x0b\x32\x38.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation\x12\x33\n\x05\x66iles\x18\x0b \x03(\x0b\x32$.grafeas.v1.DiscoveryOccurrence.File\x12\x42\n\x1elast_vulnerability_update_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a*\n\x11\x41nalysisCompleted\x12\x15\n\ranalysis_type\x18\x01 \x03(\t\x1a\xa9\x01\n\nSBOMStatus\x12H\n\nsbom_state\x18\x01 \x01(\x0e\x32\x34.grafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"B\n\tSBOMState\x12\x1a\n\x16SBOM_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x1a\xb3\x02\n\x18VulnerabilityAttestation\x12\x35\n\x11last_attempt_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x65\n\x05state\x18\x02 \x01(\x0e\x32V.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"j\n\x1dVulnerabilityAttestationState\x12/\n+VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x1a\x85\x01\n\x04\x46ile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06\x64igest\x18\x02 \x03(\x0b\x32\x30.grafeas.v1.DiscoveryOccurrence.File.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x12\x43ontinuousAnalysis\x12#\n\x1f\x43ONTINUOUS_ANALYSIS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"\xa3\x01\n\x0e\x41nalysisStatus\x12\x1f\n\x1b\x41NALYSIS_STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08SCANNING\x10\x02\x12\x14\n\x10\x46INISHED_SUCCESS\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x03\x12\x13\n\x0f\x46INISHED_FAILED\x10\x04\x12\x18\n\x14\x46INISHED_UNSUPPORTED\x10\x05\x1a\x02\x10\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/grafeas-v1/proto_docs/grafeas/v1/discovery.rb b/grafeas-v1/proto_docs/grafeas/v1/discovery.rb index 29157d4b770c..27c6ff4d67cc 100644 --- a/grafeas-v1/proto_docs/grafeas/v1/discovery.rb +++ b/grafeas-v1/proto_docs/grafeas/v1/discovery.rb @@ -67,6 +67,9 @@ class DiscoveryNote # @!attribute [rw] files # @return [::Array<::Grafeas::V1::DiscoveryOccurrence::File>] # Files that make up the resource described by the occurrence. + # @!attribute [rw] last_vulnerability_update_time + # @return [::Google::Protobuf::Timestamp] + # The last time vulnerability scan results changed. class DiscoveryOccurrence include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/owl-bot-staging/grafeas-v1/.gitignore b/owl-bot-staging/grafeas-v1/.gitignore deleted file mode 100644 index 0135b6bc6cfc..000000000000 --- a/owl-bot-staging/grafeas-v1/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -# Ignore bundler lockfiles -Gemfile.lock -gems.locked - -# Ignore documentation output -doc/* -.yardoc/* - -# Ignore test output -coverage/* - -# Ignore build artifacts -pkg/* - -# Ignore files commonly present in certain dev environments -.vagrant -.DS_STORE -.idea -*.iml - -# Ignore synth output -__pycache__ diff --git a/owl-bot-staging/grafeas-v1/.repo-metadata.json b/owl-bot-staging/grafeas-v1/.repo-metadata.json deleted file mode 100644 index d1fa0d6fa7f7..000000000000 --- a/owl-bot-staging/grafeas-v1/.repo-metadata.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "api_id": "containeranalysis.googleapis.com", - "api_shortname": "containeranalysis", - "client_documentation": "https://cloud.google.com/ruby/docs/reference/grafeas-v1/latest", - "distribution_name": "grafeas-v1", - "is_cloud": true, - "language": "ruby", - "name": "containeranalysis", - "name_pretty": "Grafeas V1 API", - "release_level": "unreleased", - "repo": "googleapis/google-cloud-ruby", - "requires_billing": true, - "ruby-cloud-description": "The Grafeas API stores, and enables querying and retrieval of, critical metadata about all of your software artifacts. Note that grafeas-v1 is a version-specific client library. For most uses, we recommend installing the main client library grafeas instead. See the readme for more details.", - "ruby-cloud-env-prefix": "GRAFEAS", - "library_type": "GAPIC_AUTO" -} diff --git a/owl-bot-staging/grafeas-v1/.rubocop.yml b/owl-bot-staging/grafeas-v1/.rubocop.yml deleted file mode 100644 index 34342e2dbb2e..000000000000 --- a/owl-bot-staging/grafeas-v1/.rubocop.yml +++ /dev/null @@ -1,33 +0,0 @@ -inherit_gem: - google-style: google-style.yml - -AllCops: - Exclude: - - "grafeas-v1.gemspec" - - "lib/**/*_pb.rb" - - "proto_docs/**/*" - - "test/**/*" - - "acceptance/**/*" - - "samples/acceptance/**/*" - - "Rakefile" - -Layout/LineLength: - Enabled: false -Metrics/AbcSize: - Enabled: false -Metrics/ClassLength: - Enabled: false -Metrics/CyclomaticComplexity: - Enabled: false -Metrics/MethodLength: - Enabled: false -Metrics/ModuleLength: - Enabled: false -Metrics/PerceivedComplexity: - Enabled: false -Naming/AccessorMethodName: - Exclude: - - "snippets/**/*.rb" -Naming/FileName: - Exclude: - - "lib/grafeas-v1.rb" diff --git a/owl-bot-staging/grafeas-v1/.toys.rb b/owl-bot-staging/grafeas-v1/.toys.rb deleted file mode 100644 index 177e22456e8a..000000000000 --- a/owl-bot-staging/grafeas-v1/.toys.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -toys_version! ">= 0.15.3" - -if ENV["RUBY_COMMON_TOOLS"] - common_tools_dir = File.expand_path ENV["RUBY_COMMON_TOOLS"] - load File.join(common_tools_dir, "toys", "gapic") -else - load_git remote: "https://github.com/googleapis/ruby-common-tools.git", - path: "toys/gapic", - update: true -end diff --git a/owl-bot-staging/grafeas-v1/.yardopts b/owl-bot-staging/grafeas-v1/.yardopts deleted file mode 100644 index 095a73abbebf..000000000000 --- a/owl-bot-staging/grafeas-v1/.yardopts +++ /dev/null @@ -1,11 +0,0 @@ ---no-private ---title="Grafeas V1 API" ---exclude _pb\.rb$ ---markup markdown ---markup-provider redcarpet - -./lib/**/*.rb -./proto_docs/**/*.rb -- -README.md -LICENSE.md diff --git a/owl-bot-staging/grafeas-v1/CHANGELOG.md b/owl-bot-staging/grafeas-v1/CHANGELOG.md deleted file mode 100644 index f88957a62ba2..000000000000 --- a/owl-bot-staging/grafeas-v1/CHANGELOG.md +++ /dev/null @@ -1,2 +0,0 @@ -# Release History - diff --git a/owl-bot-staging/grafeas-v1/Gemfile b/owl-bot-staging/grafeas-v1/Gemfile deleted file mode 100644 index 6442df18fa2f..000000000000 --- a/owl-bot-staging/grafeas-v1/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source "https://rubygems.org" - -gemspec - -gem "google-style", "~> 1.31.1" -gem "minitest", "~> 5.22" -gem "minitest-focus", "~> 1.4" -gem "minitest-rg", "~> 5.3" -gem "rake", ">= 13.0" -gem "redcarpet", "~> 3.6" -gem "yard", "~> 0.9" diff --git a/owl-bot-staging/grafeas-v1/LICENSE.md b/owl-bot-staging/grafeas-v1/LICENSE.md deleted file mode 100644 index c261857ba6ad..000000000000 --- a/owl-bot-staging/grafeas-v1/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/owl-bot-staging/grafeas-v1/README.md b/owl-bot-staging/grafeas-v1/README.md deleted file mode 100644 index 8ab5de2c8527..000000000000 --- a/owl-bot-staging/grafeas-v1/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# Ruby Client for the Grafeas V1 API - -An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts. - -The Grafeas API stores, and enables querying and retrieval of, critical metadata about all of your software artifacts. - -https://github.com/googleapis/google-cloud-ruby - -This gem is a _versioned_ client. It provides basic client classes for a -specific version of the Grafeas V1 API. Most users should consider using -the main client gem, -[grafeas](https://rubygems.org/gems/grafeas). -See the section below titled *Which client should I use?* for more information. - -## Installation - -``` -$ gem install grafeas-v1 -``` - -## Quick Start - -```ruby -require "grafeas/v1" - -client = ::Grafeas::V1::Grafeas::Client.new -request = ::Grafeas::V1::GetOccurrenceRequest.new # (request fields as keyword arguments...) -response = client.get_occurrence request -``` - -View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/grafeas-v1/latest) -for class and method documentation. - -## Debug Logging - -This library comes with opt-in Debug Logging that can help you troubleshoot -your application's integration with the API. When logging is activated, key -events such as requests and responses, along with data payloads and metadata -such as headers and client configuration, are logged to the standard error -stream. - -**WARNING:** Client Library Debug Logging includes your data payloads in -plaintext, which could include sensitive data such as PII for yourself or your -customers, private keys, or other security data that could be compromising if -leaked. Always practice good data hygiene with your application logs, and follow -the principle of least access. Google also recommends that Client Library Debug -Logging be enabled only temporarily during active debugging, and not used -permanently in production. - -To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS` -to the value `all`. Alternatively, you can set the value to a comma-delimited -list of client library gem names. This will select the default logging behavior, -which writes logs to the standard error stream. On a local workstation, this may -result in logs appearing on the console. When running on a Google Cloud hosting -service such as [Google Cloud Run](https://cloud.google.com/run), this generally -results in logs appearing alongside your application logs in the -[Google Cloud Logging](https://cloud.google.com/logging/) service. - -You can customize logging by modifying the `logger` configuration when -constructing a client object. For example: - -```ruby -require "grafeas/v1" -require "logger" - -client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.logger = Logger.new "my-app.log" -end -``` - -## Google Cloud Samples - -To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples). - -## Supported Ruby Versions - -This library is supported on Ruby 3.0+. - -Google provides official support for Ruby versions that are actively supported -by Ruby Core—that is, Ruby versions that are either in normal maintenance or -in security maintenance, and not end of life. Older versions of Ruby _may_ -still work, but are unsupported and not recommended. See -https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby -support schedule. - -## Which client should I use? - -Most modern Ruby client libraries for Google APIs come in two flavors: the main -client library with a name such as `grafeas`, -and lower-level _versioned_ client libraries with names such as -`grafeas-v1`. -_In most cases, you should install the main client._ - -### What's the difference between the main client and a versioned client? - -A _versioned client_ provides a basic set of data types and client classes for -a _single version_ of a specific service. (That is, for a service with multiple -versions, there might be a separate versioned client for each service version.) -Most versioned clients are written and maintained by a code generator. - -The _main client_ is designed to provide you with the _recommended_ client -interfaces for the service. There will be only one main client for any given -service, even a service with multiple versions. The main client includes -factory methods for constructing the client objects we recommend for most -users. In some cases, those will be classes provided by an underlying versioned -client; in other cases, they will be handwritten higher-level client objects -with additional capabilities, convenience methods, or best practices built in. -Generally, the main client will default to a recommended service version, -although in some cases you can override this if you need to talk to a specific -service version. - -### Why would I want to use the main client? - -We recommend that most users install the main client gem for a service. You can -identify this gem as the one _without_ a version in its name, e.g. -`grafeas`. -The main client is recommended because it will embody the best practices for -accessing the service, and may also provide more convenient interfaces or -tighter integration into frameworks and third-party libraries. In addition, the -documentation and samples published by Google will generally demonstrate use of -the main client. - -### Why would I want to use a versioned client? - -You can use a versioned client if you are content with a possibly lower-level -class interface, you explicitly want to avoid features provided by the main -client, or you want to access a specific service version not be covered by the -main client. You can identify versioned client gems because the service version -is part of the name, e.g. `grafeas-v1`. - -### What about the google-apis- clients? - -Client library gems with names that begin with `google-apis-` are based on an -older code generation technology. They talk to a REST/JSON backend (whereas -most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may -not offer the same performance, features, and ease of use provided by more -modern clients. - -The `google-apis-` clients have wide coverage across Google services, so you -might need to use one if there is no modern client available for the service. -However, if a modern client is available, we generally recommend it over the -older `google-apis-` clients. diff --git a/owl-bot-staging/grafeas-v1/Rakefile b/owl-bot-staging/grafeas-v1/Rakefile deleted file mode 100644 index 98a03bfd1e86..000000000000 --- a/owl-bot-staging/grafeas-v1/Rakefile +++ /dev/null @@ -1,143 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "bundler/setup" -require "bundler/gem_tasks" - -require "rubocop/rake_task" -RuboCop::RakeTask.new - -require "rake/testtask" -desc "Run tests." -Rake::TestTask.new do |t| - t.libs << "test" - t.test_files = FileList["test/**/*_test.rb"] - t.warning = false -end - -desc "Runs the smoke tests." -Rake::TestTask.new :smoke_test do |t| - t.test_files = FileList["acceptance/**/*smoke_test.rb"] - t.warning = false -end - -# Acceptance tests -desc "Run the grafeas-v1 acceptance tests." -task :acceptance, :project, :keyfile do |t, args| - Rake::Task["acceptance:run"].invoke -end - -namespace :acceptance do - task :run do - if File.directory? "acceptance" - Rake::Task[:smoke_test].invoke - else - puts "The grafeas-v1 gem has no acceptance tests." - end - end - - desc "Run acceptance cleanup." - task :cleanup do - end -end - -task :samples do - Rake::Task["samples:latest"].invoke -end - -namespace :samples do - task :latest do - if File.directory? "samples" - Dir.chdir "samples" do - Bundler.with_clean_env do - ENV["GOOGLE_CLOUD_SAMPLES_TEST"] = "not_master" - sh "bundle update" - sh "bundle exec rake test" - end - end - else - puts "The grafeas-v1 gem has no samples to test." - end - end - - task :master do - if File.directory? "samples" - Dir.chdir "samples" do - Bundler.with_clean_env do - ENV["GOOGLE_CLOUD_SAMPLES_TEST"] = "master" - sh "bundle update" - sh "bundle exec rake test" - end - end - else - puts "The grafeas-v1 gem has no samples to test." - end - end -end - -require "yard" -require "yard/rake/yardoc_task" -YARD::Rake::YardocTask.new do |y| - y.options << "--fail-on-warning" -end - -desc "Run yard-doctest example tests." -task :doctest do - puts "The grafeas-v1 gem does not have doctest tests." -end - -desc "Run the CI build" -task :ci do - header "BUILDING grafeas-v1" - header "grafeas-v1 rubocop", "*" - Rake::Task[:rubocop].invoke - header "grafeas-v1 yard", "*" - Rake::Task[:yard].invoke - header "grafeas-v1 test", "*" - Rake::Task[:test].invoke -end - -namespace :ci do - desc "Run the CI build, with smoke tests." - task :smoke_test do - Rake::Task[:ci].invoke - header "grafeas-v1 smoke_test", "*" - Rake::Task[:smoke_test].invoke - end - desc "Run the CI build, with acceptance tests." - task :acceptance do - Rake::Task[:ci].invoke - header "grafeas-v1 acceptance", "*" - Rake::Task[:acceptance].invoke - end - task :a do - # This is a handy shortcut to save typing - Rake::Task["ci:acceptance"].invoke - end -end - -task default: :test - -def header str, token = "#" - line_length = str.length + 8 - puts "" - puts token * line_length - puts "#{token * 3} #{str} #{token * 3}" - puts token * line_length - puts "" -end diff --git a/owl-bot-staging/grafeas-v1/gapic_metadata.json b/owl-bot-staging/grafeas-v1/gapic_metadata.json deleted file mode 100644 index 9722caf753b2..000000000000 --- a/owl-bot-staging/grafeas-v1/gapic_metadata.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "ruby", - "protoPackage": "grafeas.v1", - "libraryPackage": "::Grafeas::V1", - "services": { - "Grafeas": { - "clients": { - "grpc": { - "libraryClient": "::Grafeas::V1::Grafeas::Client", - "rpcs": { - "GetOccurrence": { - "methods": [ - "get_occurrence" - ] - }, - "ListOccurrences": { - "methods": [ - "list_occurrences" - ] - }, - "DeleteOccurrence": { - "methods": [ - "delete_occurrence" - ] - }, - "CreateOccurrence": { - "methods": [ - "create_occurrence" - ] - }, - "BatchCreateOccurrences": { - "methods": [ - "batch_create_occurrences" - ] - }, - "UpdateOccurrence": { - "methods": [ - "update_occurrence" - ] - }, - "GetOccurrenceNote": { - "methods": [ - "get_occurrence_note" - ] - }, - "GetNote": { - "methods": [ - "get_note" - ] - }, - "ListNotes": { - "methods": [ - "list_notes" - ] - }, - "DeleteNote": { - "methods": [ - "delete_note" - ] - }, - "CreateNote": { - "methods": [ - "create_note" - ] - }, - "BatchCreateNotes": { - "methods": [ - "batch_create_notes" - ] - }, - "UpdateNote": { - "methods": [ - "update_note" - ] - }, - "ListNoteOccurrences": { - "methods": [ - "list_note_occurrences" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/grafeas-v1/grafeas-v1.gemspec b/owl-bot-staging/grafeas-v1/grafeas-v1.gemspec deleted file mode 100644 index fc4c8fce36e6..000000000000 --- a/owl-bot-staging/grafeas-v1/grafeas-v1.gemspec +++ /dev/null @@ -1,28 +0,0 @@ -# -*- ruby -*- -# encoding: utf-8 - -require File.expand_path("lib/grafeas/v1/version", __dir__) - -Gem::Specification.new do |gem| - gem.name = "grafeas-v1" - gem.version = Grafeas::V1::VERSION - - gem.authors = ["Google LLC"] - gem.email = "googleapis-packages@google.com" - gem.description = "The Grafeas API stores, and enables querying and retrieval of, critical metadata about all of your software artifacts. Note that grafeas-v1 is a version-specific client library. For most uses, we recommend installing the main client library grafeas instead. See the readme for more details." - gem.summary = "An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts." - gem.homepage = "https://github.com/googleapis/google-cloud-ruby" - gem.license = "Apache-2.0" - - gem.platform = Gem::Platform::RUBY - - gem.files = `git ls-files -- lib/*`.split("\n") + - `git ls-files -- proto_docs/*`.split("\n") + - ["README.md", "LICENSE.md", ".yardopts"] - gem.require_paths = ["lib"] - - gem.required_ruby_version = ">= 3.1" - - gem.add_dependency "gapic-common", "~> 1.2" - gem.add_dependency "google-cloud-errors", "~> 1.0" -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb b/owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb deleted file mode 100644 index 05b00fa8d69e..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas-v1.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# This gem does not autoload during Bundler.require. To load this gem, -# issue explicit require statements for the packages desired, e.g.: -# require "grafeas/v1" diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb deleted file mode 100644 index 0449a2645755..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1.rb +++ /dev/null @@ -1,36 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "grafeas/v1/grafeas" -require "grafeas/v1/version" - -module Grafeas - ## - # API client module. - # - # @example Load this package, including all its services, and instantiate a gRPC client - # - # require "grafeas/v1" - # client = ::Grafeas::V1::Grafeas::Client.new - # - module V1 - end -end - -helper_path = ::File.join __dir__, "v1", "_helpers.rb" -require "grafeas/v1/_helpers" if ::File.file? helper_path diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb deleted file mode 100644 index b74eb339b9fc..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/attestation_pb.rb +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/attestation.proto - -require 'google/protobuf' - -require 'grafeas/v1/common_pb' - - -descriptor_data = "\n\x1cgrafeas/v1/attestation.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\"f\n\x0f\x41ttestationNote\x12.\n\x04hint\x18\x01 \x01(\x0b\x32 .grafeas.v1.AttestationNote.Hint\x1a#\n\x04Hint\x12\x1b\n\x13human_readable_name\x18\x01 \x01(\t\"\x1a\n\x03Jwt\x12\x13\n\x0b\x63ompact_jwt\x18\x01 \x01(\t\"}\n\x15\x41ttestationOccurrence\x12\x1a\n\x12serialized_payload\x18\x01 \x01(\x0c\x12)\n\nsignatures\x18\x02 \x03(\x0b\x32\x15.grafeas.v1.Signature\x12\x1d\n\x04jwts\x18\x03 \x03(\x0b\x32\x0f.grafeas.v1.JwtBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.Signature", "grafeas/v1/common.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - AttestationNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AttestationNote").msgclass - AttestationNote::Hint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AttestationNote.Hint").msgclass - Jwt = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Jwt").msgclass - AttestationOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AttestationOccurrence").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb deleted file mode 100644 index e2ccef7ddfc0..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/build_pb.rb +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/build.proto - -require 'google/protobuf' - -require 'grafeas/v1/intoto_provenance_pb' -require 'grafeas/v1/intoto_statement_pb' -require 'grafeas/v1/provenance_pb' - - -descriptor_data = "\n\x16grafeas/v1/build.proto\x12\ngrafeas.v1\x1a\"grafeas/v1/intoto_provenance.proto\x1a!grafeas/v1/intoto_statement.proto\x1a\x1bgrafeas/v1/provenance.proto\"$\n\tBuildNote\x12\x17\n\x0f\x62uilder_version\x18\x01 \x01(\t\"\x94\x02\n\x0f\x42uildOccurrence\x12/\n\nprovenance\x18\x01 \x01(\x0b\x32\x1b.grafeas.v1.BuildProvenance\x12\x18\n\x10provenance_bytes\x18\x02 \x01(\t\x12\x37\n\x11intoto_provenance\x18\x03 \x01(\x0b\x32\x1c.grafeas.v1.InTotoProvenance\x12\x35\n\x10intoto_statement\x18\x04 \x01(\x0b\x32\x1b.grafeas.v1.InTotoStatement\x12\x46\n\x1ain_toto_slsa_provenance_v1\x18\x05 \x01(\x0b\x32\".grafeas.v1.InTotoSlsaProvenanceV1BQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.BuildProvenance", "grafeas/v1/provenance.proto"], - ["grafeas.v1.InTotoProvenance", "grafeas/v1/intoto_provenance.proto"], - ["grafeas.v1.InTotoStatement", "grafeas/v1/intoto_statement.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - BuildNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuildNote").msgclass - BuildOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuildOccurrence").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb deleted file mode 100644 index 24364691394a..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/common_pb.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/common.proto - -require 'google/protobuf' - - -descriptor_data = "\n\x17grafeas/v1/common.proto\x12\ngrafeas.v1\"(\n\nRelatedUrl\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\"5\n\tSignature\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x15\n\rpublic_key_id\x18\x02 \x01(\t\"d\n\x08\x45nvelope\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x14\n\x0cpayload_type\x18\x02 \x01(\t\x12\x31\n\nsignatures\x18\x03 \x03(\x0b\x32\x1d.grafeas.v1.EnvelopeSignature\"/\n\x11\x45nvelopeSignature\x12\x0b\n\x03sig\x18\x01 \x01(\x0c\x12\r\n\x05keyid\x18\x02 \x01(\t\"R\n\x0c\x46ileLocation\x12\x11\n\tfile_path\x18\x01 \x01(\t\x12/\n\rlayer_details\x18\x02 \x01(\x0b\x32\x18.grafeas.v1.LayerDetails\"B\n\tBaseImage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nrepository\x18\x02 \x01(\t\x12\x13\n\x0blayer_count\x18\x03 \x01(\x05\"}\n\x0cLayerDetails\x12\r\n\x05index\x18\x01 \x01(\x05\x12\x0f\n\x07\x64iff_id\x18\x02 \x01(\t\x12\x10\n\x08\x63hain_id\x18\x05 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x03 \x01(\t\x12*\n\x0b\x62\x61se_images\x18\x04 \x03(\x0b\x32\x15.grafeas.v1.BaseImage\"/\n\x07License\x12\x12\n\nexpression\x18\x01 \x01(\t\x12\x10\n\x08\x63omments\x18\x02 \x01(\t\",\n\x06\x44igest\x12\x0c\n\x04\x61lgo\x18\x01 \x01(\t\x12\x14\n\x0c\x64igest_bytes\x18\x02 \x01(\x0c*\xfc\x01\n\x08NoteKind\x12\x19\n\x15NOTE_KIND_UNSPECIFIED\x10\x00\x12\x11\n\rVULNERABILITY\x10\x01\x12\t\n\x05\x42UILD\x10\x02\x12\t\n\x05IMAGE\x10\x03\x12\x0b\n\x07PACKAGE\x10\x04\x12\x0e\n\nDEPLOYMENT\x10\x05\x12\r\n\tDISCOVERY\x10\x06\x12\x0f\n\x0b\x41TTESTATION\x10\x07\x12\x0b\n\x07UPGRADE\x10\x08\x12\x0e\n\nCOMPLIANCE\x10\t\x12\x14\n\x10\x44SSE_ATTESTATION\x10\n\x12\x1c\n\x18VULNERABILITY_ASSESSMENT\x10\x0b\x12\x12\n\x0eSBOM_REFERENCE\x10\x0c\x12\n\n\x06SECRET\x10\rBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - RelatedUrl = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.RelatedUrl").msgclass - Signature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Signature").msgclass - Envelope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Envelope").msgclass - EnvelopeSignature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.EnvelopeSignature").msgclass - FileLocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.FileLocation").msgclass - BaseImage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BaseImage").msgclass - LayerDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.LayerDetails").msgclass - License = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.License").msgclass - Digest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Digest").msgclass - NoteKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.NoteKind").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb deleted file mode 100644 index c5bc261be2b2..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/compliance_pb.rb +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/compliance.proto - -require 'google/protobuf' - -require 'grafeas/v1/severity_pb' - - -descriptor_data = "\n\x1bgrafeas/v1/compliance.proto\x12\ngrafeas.v1\x1a\x19grafeas/v1/severity.proto\"\xf1\x02\n\x0e\x43omplianceNote\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\x07version\x18\x03 \x03(\x0b\x32\x1d.grafeas.v1.ComplianceVersion\x12\x11\n\trationale\x18\x04 \x01(\t\x12\x13\n\x0bremediation\x18\x05 \x01(\t\x12@\n\rcis_benchmark\x18\x06 \x01(\x0b\x32\'.grafeas.v1.ComplianceNote.CisBenchmarkH\x00\x12\x19\n\x11scan_instructions\x18\x07 \x01(\x0c\x12\x10\n\x06impact\x18\x08 \x01(\tH\x01\x1aM\n\x0c\x43isBenchmark\x12\x15\n\rprofile_level\x18\x01 \x01(\x05\x12&\n\x08severity\x18\x02 \x01(\x0e\x32\x14.grafeas.v1.SeverityB\x11\n\x0f\x63ompliance_typeB\x12\n\x10potential_impact\"Q\n\x11\x43omplianceVersion\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12\x1a\n\x12\x62\x65nchmark_document\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\xa0\x01\n\x14\x43omplianceOccurrence\x12\x39\n\x13non_compliant_files\x18\x02 \x03(\x0b\x32\x1c.grafeas.v1.NonCompliantFile\x12\x1d\n\x15non_compliance_reason\x18\x03 \x01(\t\x12.\n\x07version\x18\x04 \x01(\x0b\x32\x1d.grafeas.v1.ComplianceVersion\"I\n\x10NonCompliantFile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x17\n\x0f\x64isplay_command\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - ComplianceNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceNote").msgclass - ComplianceNote::CisBenchmark = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceNote.CisBenchmark").msgclass - ComplianceVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceVersion").msgclass - ComplianceOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ComplianceOccurrence").msgclass - NonCompliantFile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.NonCompliantFile").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb deleted file mode 100644 index 8af7251b5fda..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/cvss_pb.rb +++ /dev/null @@ -1,53 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/cvss.proto - -require 'google/protobuf' - - -descriptor_data = "\n\x15grafeas/v1/cvss.proto\x12\ngrafeas.v1\"\xc5\t\n\x06\x43VSSv3\x12\x12\n\nbase_score\x18\x01 \x01(\x02\x12\x1c\n\x14\x65xploitability_score\x18\x02 \x01(\x02\x12\x14\n\x0cimpact_score\x18\x03 \x01(\x02\x12\x36\n\rattack_vector\x18\x05 \x01(\x0e\x32\x1f.grafeas.v1.CVSSv3.AttackVector\x12>\n\x11\x61ttack_complexity\x18\x06 \x01(\x0e\x32#.grafeas.v1.CVSSv3.AttackComplexity\x12\x42\n\x13privileges_required\x18\x07 \x01(\x0e\x32%.grafeas.v1.CVSSv3.PrivilegesRequired\x12<\n\x10user_interaction\x18\x08 \x01(\x0e\x32\".grafeas.v1.CVSSv3.UserInteraction\x12\'\n\x05scope\x18\t \x01(\x0e\x32\x18.grafeas.v1.CVSSv3.Scope\x12\x39\n\x16\x63onfidentiality_impact\x18\n \x01(\x0e\x32\x19.grafeas.v1.CVSSv3.Impact\x12\x33\n\x10integrity_impact\x18\x0b \x01(\x0e\x32\x19.grafeas.v1.CVSSv3.Impact\x12\x36\n\x13\x61vailability_impact\x18\x0c \x01(\x0e\x32\x19.grafeas.v1.CVSSv3.Impact\"\x99\x01\n\x0c\x41ttackVector\x12\x1d\n\x19\x41TTACK_VECTOR_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_VECTOR_NETWORK\x10\x01\x12\x1a\n\x16\x41TTACK_VECTOR_ADJACENT\x10\x02\x12\x17\n\x13\x41TTACK_VECTOR_LOCAL\x10\x03\x12\x1a\n\x16\x41TTACK_VECTOR_PHYSICAL\x10\x04\"l\n\x10\x41ttackComplexity\x12!\n\x1d\x41TTACK_COMPLEXITY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_COMPLEXITY_LOW\x10\x01\x12\x1a\n\x16\x41TTACK_COMPLEXITY_HIGH\x10\x02\"\x92\x01\n\x12PrivilegesRequired\x12#\n\x1fPRIVILEGES_REQUIRED_UNSPECIFIED\x10\x00\x12\x1c\n\x18PRIVILEGES_REQUIRED_NONE\x10\x01\x12\x1b\n\x17PRIVILEGES_REQUIRED_LOW\x10\x02\x12\x1c\n\x18PRIVILEGES_REQUIRED_HIGH\x10\x03\"m\n\x0fUserInteraction\x12 \n\x1cUSER_INTERACTION_UNSPECIFIED\x10\x00\x12\x19\n\x15USER_INTERACTION_NONE\x10\x01\x12\x1d\n\x19USER_INTERACTION_REQUIRED\x10\x02\"F\n\x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSCOPE_UNCHANGED\x10\x01\x12\x11\n\rSCOPE_CHANGED\x10\x02\"R\n\x06Impact\x12\x16\n\x12IMPACT_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIMPACT_HIGH\x10\x01\x12\x0e\n\nIMPACT_LOW\x10\x02\x12\x0f\n\x0bIMPACT_NONE\x10\x03\"\xb8\x0b\n\x04\x43VSS\x12\x12\n\nbase_score\x18\x01 \x01(\x02\x12\x1c\n\x14\x65xploitability_score\x18\x02 \x01(\x02\x12\x14\n\x0cimpact_score\x18\x03 \x01(\x02\x12\x34\n\rattack_vector\x18\x04 \x01(\x0e\x32\x1d.grafeas.v1.CVSS.AttackVector\x12<\n\x11\x61ttack_complexity\x18\x05 \x01(\x0e\x32!.grafeas.v1.CVSS.AttackComplexity\x12\x37\n\x0e\x61uthentication\x18\x06 \x01(\x0e\x32\x1f.grafeas.v1.CVSS.Authentication\x12@\n\x13privileges_required\x18\x07 \x01(\x0e\x32#.grafeas.v1.CVSS.PrivilegesRequired\x12:\n\x10user_interaction\x18\x08 \x01(\x0e\x32 .grafeas.v1.CVSS.UserInteraction\x12%\n\x05scope\x18\t \x01(\x0e\x32\x16.grafeas.v1.CVSS.Scope\x12\x37\n\x16\x63onfidentiality_impact\x18\n \x01(\x0e\x32\x17.grafeas.v1.CVSS.Impact\x12\x31\n\x10integrity_impact\x18\x0b \x01(\x0e\x32\x17.grafeas.v1.CVSS.Impact\x12\x34\n\x13\x61vailability_impact\x18\x0c \x01(\x0e\x32\x17.grafeas.v1.CVSS.Impact\"\x99\x01\n\x0c\x41ttackVector\x12\x1d\n\x19\x41TTACK_VECTOR_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_VECTOR_NETWORK\x10\x01\x12\x1a\n\x16\x41TTACK_VECTOR_ADJACENT\x10\x02\x12\x17\n\x13\x41TTACK_VECTOR_LOCAL\x10\x03\x12\x1a\n\x16\x41TTACK_VECTOR_PHYSICAL\x10\x04\"\x8a\x01\n\x10\x41ttackComplexity\x12!\n\x1d\x41TTACK_COMPLEXITY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41TTACK_COMPLEXITY_LOW\x10\x01\x12\x1a\n\x16\x41TTACK_COMPLEXITY_HIGH\x10\x02\x12\x1c\n\x18\x41TTACK_COMPLEXITY_MEDIUM\x10\x03\"\x81\x01\n\x0e\x41uthentication\x12\x1e\n\x1a\x41UTHENTICATION_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x41UTHENTICATION_MULTIPLE\x10\x01\x12\x19\n\x15\x41UTHENTICATION_SINGLE\x10\x02\x12\x17\n\x13\x41UTHENTICATION_NONE\x10\x03\"\x92\x01\n\x12PrivilegesRequired\x12#\n\x1fPRIVILEGES_REQUIRED_UNSPECIFIED\x10\x00\x12\x1c\n\x18PRIVILEGES_REQUIRED_NONE\x10\x01\x12\x1b\n\x17PRIVILEGES_REQUIRED_LOW\x10\x02\x12\x1c\n\x18PRIVILEGES_REQUIRED_HIGH\x10\x03\"m\n\x0fUserInteraction\x12 \n\x1cUSER_INTERACTION_UNSPECIFIED\x10\x00\x12\x19\n\x15USER_INTERACTION_NONE\x10\x01\x12\x1d\n\x19USER_INTERACTION_REQUIRED\x10\x02\"F\n\x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSCOPE_UNCHANGED\x10\x01\x12\x11\n\rSCOPE_CHANGED\x10\x02\"{\n\x06Impact\x12\x16\n\x12IMPACT_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIMPACT_HIGH\x10\x01\x12\x0e\n\nIMPACT_LOW\x10\x02\x12\x0f\n\x0bIMPACT_NONE\x10\x03\x12\x12\n\x0eIMPACT_PARTIAL\x10\x04\x12\x13\n\x0fIMPACT_COMPLETE\x10\x05*S\n\x0b\x43VSSVersion\x12\x1c\n\x18\x43VSS_VERSION_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43VSS_VERSION_2\x10\x01\x12\x12\n\x0e\x43VSS_VERSION_3\x10\x02\x42\\\n\rio.grafeas.v1B\tCVSSProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - CVSSv3 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3").msgclass - CVSSv3::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.AttackVector").enummodule - CVSSv3::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.AttackComplexity").enummodule - CVSSv3::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.PrivilegesRequired").enummodule - CVSSv3::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.UserInteraction").enummodule - CVSSv3::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.Scope").enummodule - CVSSv3::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSv3.Impact").enummodule - CVSS = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS").msgclass - CVSS::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.AttackVector").enummodule - CVSS::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.AttackComplexity").enummodule - CVSS::Authentication = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.Authentication").enummodule - CVSS::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.PrivilegesRequired").enummodule - CVSS::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.UserInteraction").enummodule - CVSS::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.Scope").enummodule - CVSS::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSS.Impact").enummodule - CVSSVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CVSSVersion").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb deleted file mode 100644 index 5917db6684b0..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/deployment_pb.rb +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/deployment.proto - -require 'google/protobuf' - -require 'google/protobuf/timestamp_pb' - - -descriptor_data = "\n\x1bgrafeas/v1/deployment.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"&\n\x0e\x44\x65ploymentNote\x12\x14\n\x0cresource_uri\x18\x01 \x03(\t\"\xc7\x02\n\x14\x44\x65ploymentOccurrence\x12\x12\n\nuser_email\x18\x01 \x01(\t\x12/\n\x0b\x64\x65ploy_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rundeploy_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x63onfig\x18\x04 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x05 \x01(\t\x12\x14\n\x0cresource_uri\x18\x06 \x03(\t\x12;\n\x08platform\x18\x07 \x01(\x0e\x32).grafeas.v1.DeploymentOccurrence.Platform\"C\n\x08Platform\x12\x18\n\x14PLATFORM_UNSPECIFIED\x10\x00\x12\x07\n\x03GKE\x10\x01\x12\x08\n\x04\x46LEX\x10\x02\x12\n\n\x06\x43USTOM\x10\x03\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - DeploymentNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeploymentNote").msgclass - DeploymentOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeploymentOccurrence").msgclass - DeploymentOccurrence::Platform = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeploymentOccurrence.Platform").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb deleted file mode 100644 index b9e2f2e48602..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/discovery_pb.rb +++ /dev/null @@ -1,54 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/discovery.proto - -require 'google/protobuf' - -require 'google/api/field_behavior_pb' -require 'google/protobuf/timestamp_pb' -require 'google/rpc/status_pb' -require 'grafeas/v1/common_pb' - - -descriptor_data = "\n\x1agrafeas/v1/discovery.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x17grafeas/v1/common.proto\"<\n\rDiscoveryNote\x12+\n\ranalysis_kind\x18\x01 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\"\xfd\x0c\n\x13\x44iscoveryOccurrence\x12O\n\x13\x63ontinuous_analysis\x18\x01 \x01(\x0e\x32\x32.grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis\x12G\n\x0f\x61nalysis_status\x18\x02 \x01(\x0e\x32..grafeas.v1.DiscoveryOccurrence.AnalysisStatus\x12M\n\x12\x61nalysis_completed\x18\x07 \x01(\x0b\x32\x31.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted\x12*\n\x0e\x61nalysis_error\x18\x08 \x03(\x0b\x32\x12.google.rpc.Status\x12\x31\n\x15\x61nalysis_status_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03\x63pe\x18\x04 \x01(\t\x12\x32\n\x0elast_scan_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0c\x61rchive_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12?\n\x0bsbom_status\x18\t \x01(\x0b\x32*.grafeas.v1.DiscoveryOccurrence.SBOMStatus\x12[\n\x19vulnerability_attestation\x18\n \x01(\x0b\x32\x38.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation\x12\x33\n\x05\x66iles\x18\x0b \x03(\x0b\x32$.grafeas.v1.DiscoveryOccurrence.File\x12\x42\n\x1elast_vulnerability_update_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a*\n\x11\x41nalysisCompleted\x12\x15\n\ranalysis_type\x18\x01 \x03(\t\x1a\xa9\x01\n\nSBOMStatus\x12H\n\nsbom_state\x18\x01 \x01(\x0e\x32\x34.grafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"B\n\tSBOMState\x12\x1a\n\x16SBOM_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x1a\xb3\x02\n\x18VulnerabilityAttestation\x12\x35\n\x11last_attempt_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x65\n\x05state\x18\x02 \x01(\x0e\x32V.grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"j\n\x1dVulnerabilityAttestationState\x12/\n+VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x1a\x85\x01\n\x04\x46ile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06\x64igest\x18\x02 \x03(\x0b\x32\x30.grafeas.v1.DiscoveryOccurrence.File.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x12\x43ontinuousAnalysis\x12#\n\x1f\x43ONTINUOUS_ANALYSIS_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"\xa3\x01\n\x0e\x41nalysisStatus\x12\x1f\n\x1b\x41NALYSIS_STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08SCANNING\x10\x02\x12\x14\n\x10\x46INISHED_SUCCESS\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x03\x12\x13\n\x0f\x46INISHED_FAILED\x10\x04\x12\x18\n\x14\x46INISHED_UNSUPPORTED\x10\x05\x1a\x02\x10\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.rpc.Status", "google/rpc/status.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - DiscoveryNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryNote").msgclass - DiscoveryOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence").msgclass - DiscoveryOccurrence::AnalysisCompleted = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.AnalysisCompleted").msgclass - DiscoveryOccurrence::SBOMStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.SBOMStatus").msgclass - DiscoveryOccurrence::SBOMStatus::SBOMState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState").enummodule - DiscoveryOccurrence::VulnerabilityAttestation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation").msgclass - DiscoveryOccurrence::VulnerabilityAttestation::VulnerabilityAttestationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState").enummodule - DiscoveryOccurrence::File = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.File").msgclass - DiscoveryOccurrence::ContinuousAnalysis = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis").enummodule - DiscoveryOccurrence::AnalysisStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DiscoveryOccurrence.AnalysisStatus").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb deleted file mode 100644 index 8f2cf6a9c37d..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/dsse_attestation_pb.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/dsse_attestation.proto - -require 'google/protobuf' - -require 'grafeas/v1/common_pb' -require 'grafeas/v1/intoto_statement_pb' - - -descriptor_data = "\n!grafeas/v1/dsse_attestation.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\x1a!grafeas/v1/intoto_statement.proto\"v\n\x13\x44SSEAttestationNote\x12\x36\n\x04hint\x18\x01 \x01(\x0b\x32(.grafeas.v1.DSSEAttestationNote.DSSEHint\x1a\'\n\x08\x44SSEHint\x12\x1b\n\x13human_readable_name\x18\x01 \x01(\t\"\x88\x01\n\x19\x44SSEAttestationOccurrence\x12&\n\x08\x65nvelope\x18\x01 \x01(\x0b\x32\x14.grafeas.v1.Envelope\x12\x30\n\tstatement\x18\x02 \x01(\x0b\x32\x1b.grafeas.v1.InTotoStatementH\x00\x42\x11\n\x0f\x64\x65\x63oded_payloadBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.Envelope", "grafeas/v1/common.proto"], - ["grafeas.v1.InTotoStatement", "grafeas/v1/intoto_statement.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - DSSEAttestationNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DSSEAttestationNote").msgclass - DSSEAttestationNote::DSSEHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DSSEAttestationNote.DSSEHint").msgclass - DSSEAttestationOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DSSEAttestationOccurrence").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb deleted file mode 100644 index 9210c381b5f8..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas.rb +++ /dev/null @@ -1,57 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "gapic/common" -require "gapic/config" -require "gapic/config/method" - -require "grafeas/v1/version" - -require "grafeas/v1/grafeas/paths" -require "grafeas/v1/grafeas/client" - -module Grafeas - module V1 - ## - # [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. - # - # @example Load this service and instantiate a gRPC client - # - # require "grafeas/v1/grafeas" - # client = ::Grafeas::V1::Grafeas::Client.new - # - module Grafeas - end - end -end - -helper_path = ::File.join __dir__, "grafeas", "helpers.rb" -require "grafeas/v1/grafeas/helpers" if ::File.file? helper_path diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb deleted file mode 100644 index 8c994d359958..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/client.rb +++ /dev/null @@ -1,1808 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "google/cloud/errors" -require "grafeas/v1/grafeas_pb" - -module Grafeas - module V1 - module Grafeas - ## - # Client for the Grafeas service. - # - # [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. - # - class Client - # @private - API_VERSION = "" - - # @private - DEFAULT_ENDPOINT_TEMPLATE = nil - - include Paths - - # @private - attr_reader :grafeas_stub - - ## - # Configure the Grafeas Client class. - # - # See {::Grafeas::V1::Grafeas::Client::Configuration} - # for a description of the configuration fields. - # - # @example - # - # # Modify the configuration for all Grafeas clients - # ::Grafeas::V1::Grafeas::Client.configure do |config| - # config.timeout = 10.0 - # end - # - # @yield [config] Configure the Client client. - # @yieldparam config [Client::Configuration] - # - # @return [Client::Configuration] - # - def self.configure - @configure ||= begin - namespace = ["Grafeas", "V1"] - parent_config = while namespace.any? - parent_name = namespace.join "::" - parent_const = const_get parent_name - break parent_const.configure if parent_const.respond_to? :configure - namespace.pop - end - default_config = Client::Configuration.new parent_config - - default_config.rpcs.get_occurrence.timeout = 30.0 - default_config.rpcs.get_occurrence.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.list_occurrences.timeout = 30.0 - default_config.rpcs.list_occurrences.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.delete_occurrence.timeout = 30.0 - default_config.rpcs.delete_occurrence.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.create_occurrence.timeout = 30.0 - - default_config.rpcs.batch_create_occurrences.timeout = 30.0 - - default_config.rpcs.update_occurrence.timeout = 30.0 - - default_config.rpcs.get_occurrence_note.timeout = 30.0 - default_config.rpcs.get_occurrence_note.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.get_note.timeout = 30.0 - default_config.rpcs.get_note.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.list_notes.timeout = 30.0 - default_config.rpcs.list_notes.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.delete_note.timeout = 30.0 - default_config.rpcs.delete_note.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config.rpcs.create_note.timeout = 30.0 - - default_config.rpcs.batch_create_notes.timeout = 30.0 - - default_config.rpcs.update_note.timeout = 30.0 - - default_config.rpcs.list_note_occurrences.timeout = 30.0 - default_config.rpcs.list_note_occurrences.retry_policy = { - initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] - } - - default_config - end - yield @configure if block_given? - @configure - end - - ## - # Configure the Grafeas Client instance. - # - # The configuration is set to the derived mode, meaning that values can be changed, - # but structural changes (adding new fields, etc.) are not allowed. Structural changes - # should be made on {Client.configure}. - # - # See {::Grafeas::V1::Grafeas::Client::Configuration} - # for a description of the configuration fields. - # - # @yield [config] Configure the Client client. - # @yieldparam config [Client::Configuration] - # - # @return [Client::Configuration] - # - def configure - yield @config if block_given? - @config - end - - ## - # The effective universe domain - # - # @return [String] - # - def universe_domain - @grafeas_stub.universe_domain - end - - ## - # Create a new Grafeas client object. - # - # @example - # - # # Create a client using the default configuration - # client = ::Grafeas::V1::Grafeas::Client.new - # - # # Create a client using a custom configuration - # client = ::Grafeas::V1::Grafeas::Client.new do |config| - # config.timeout = 10.0 - # end - # - # @yield [config] Configure the Grafeas client. - # @yieldparam config [Client::Configuration] - # - def initialize - # These require statements are intentionally placed here to initialize - # the gRPC module only when it's required. - # See https://github.com/googleapis/toolkit/issues/446 - require "gapic/grpc" - require "grafeas/v1/grafeas_services_pb" - - # Create the configuration object - @config = Configuration.new Client.configure - - # Yield the configuration if needed - yield @config if block_given? - - # Create credentials - credentials = @config.credentials - @quota_project_id = @config.quota_project - @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id - - @grafeas_stub = ::Gapic::ServiceStub.new( - ::Grafeas::V1::Grafeas::Stub, - credentials: credentials, - endpoint: @config.endpoint, - endpoint_template: DEFAULT_ENDPOINT_TEMPLATE, - universe_domain: @config.universe_domain, - channel_args: @config.channel_args, - interceptors: @config.interceptors, - channel_pool_config: @config.channel_pool, - logger: @config.logger - ) - - @grafeas_stub.stub_logger&.info do |entry| - entry.set_system_name - entry.set_service - entry.message = "Created client for #{entry.service}" - entry.set_credentials_fields credentials - entry.set "customEndpoint", @config.endpoint if @config.endpoint - entry.set "defaultTimeout", @config.timeout if @config.timeout - entry.set "quotaProject", @quota_project_id if @quota_project_id - end - end - - ## - # The logger used for request/response debug logging. - # - # @return [Logger] - # - def logger - @grafeas_stub.logger - end - - # Service calls - - ## - # Gets the specified occurrence. - # - # @overload get_occurrence(request, options = nil) - # Pass arguments to `get_occurrence` via a request object, either of type - # {::Grafeas::V1::GetOccurrenceRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::GetOccurrenceRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload get_occurrence(name: nil) - # Pass arguments to `get_occurrence` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Occurrence] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Occurrence] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::GetOccurrenceRequest.new - # - # # Call the get_occurrence method. - # result = client.get_occurrence request - # - # # The returned object is of type Grafeas::V1::Occurrence. - # p result - # - def get_occurrence request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::GetOccurrenceRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.get_occurrence.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.get_occurrence.timeout, - metadata: metadata, - retry_policy: @config.rpcs.get_occurrence.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :get_occurrence, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Lists occurrences for the specified project. - # - # @overload list_occurrences(request, options = nil) - # Pass arguments to `list_occurrences` via a request object, either of type - # {::Grafeas::V1::ListOccurrencesRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::ListOccurrencesRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload list_occurrences(parent: nil, filter: nil, page_size: nil, page_token: nil, return_partial_success: nil) - # Pass arguments to `list_occurrences` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param parent [::String] - # The name of the project to list occurrences for in the form of - # `projects/[PROJECT_ID]`. - # @param filter [::String] - # The filter expression. - # @param page_size [::Integer] - # 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. - # @param page_token [::String] - # Token to provide to skip to a particular spot in the list. - # @param return_partial_success [::Boolean] - # If set, the request will return all reachable Occurrences - # and report all unreachable regions in the `unreachable` field in - # the response. - # - # Only applicable for requests in the global region. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::ListOccurrencesRequest.new - # - # # Call the list_occurrences method. - # result = client.list_occurrences request - # - # # The returned object is of type Gapic::PagedEnumerable. You can iterate - # # over elements, and API calls will be issued to fetch pages as needed. - # result.each do |item| - # # Each element is of type ::Grafeas::V1::Occurrence. - # p item - # end - # - def list_occurrences request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::ListOccurrencesRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.list_occurrences.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.parent - header_params["parent"] = request.parent - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.list_occurrences.timeout, - metadata: metadata, - retry_policy: @config.rpcs.list_occurrences.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :list_occurrences, request, options: options do |response, operation| - response = ::Gapic::PagedEnumerable.new @grafeas_stub, :list_occurrences, request, response, operation, options - yield response, operation if block_given? - throw :response, response - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Deletes the specified occurrence. For example, use this method to delete an - # occurrence when the occurrence is no longer applicable for the given - # resource. - # - # @overload delete_occurrence(request, options = nil) - # Pass arguments to `delete_occurrence` via a request object, either of type - # {::Grafeas::V1::DeleteOccurrenceRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::DeleteOccurrenceRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload delete_occurrence(name: nil) - # Pass arguments to `delete_occurrence` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Google::Protobuf::Empty] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Google::Protobuf::Empty] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::DeleteOccurrenceRequest.new - # - # # Call the delete_occurrence method. - # result = client.delete_occurrence request - # - # # The returned object is of type Google::Protobuf::Empty. - # p result - # - def delete_occurrence request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::DeleteOccurrenceRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.delete_occurrence.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.delete_occurrence.timeout, - metadata: metadata, - retry_policy: @config.rpcs.delete_occurrence.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :delete_occurrence, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Creates a new occurrence. - # - # @overload create_occurrence(request, options = nil) - # Pass arguments to `create_occurrence` via a request object, either of type - # {::Grafeas::V1::CreateOccurrenceRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::CreateOccurrenceRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload create_occurrence(parent: nil, occurrence: nil) - # Pass arguments to `create_occurrence` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param parent [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the occurrence is to be created. - # @param occurrence [::Grafeas::V1::Occurrence, ::Hash] - # The occurrence to create. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Occurrence] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Occurrence] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::CreateOccurrenceRequest.new - # - # # Call the create_occurrence method. - # result = client.create_occurrence request - # - # # The returned object is of type Grafeas::V1::Occurrence. - # p result - # - def create_occurrence request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::CreateOccurrenceRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.create_occurrence.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.parent - header_params["parent"] = request.parent - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.create_occurrence.timeout, - metadata: metadata, - retry_policy: @config.rpcs.create_occurrence.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :create_occurrence, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Creates new occurrences in batch. - # - # @overload batch_create_occurrences(request, options = nil) - # Pass arguments to `batch_create_occurrences` via a request object, either of type - # {::Grafeas::V1::BatchCreateOccurrencesRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::BatchCreateOccurrencesRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload batch_create_occurrences(parent: nil, occurrences: nil) - # Pass arguments to `batch_create_occurrences` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param parent [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the occurrences are to be created. - # @param occurrences [::Array<::Grafeas::V1::Occurrence, ::Hash>] - # The occurrences to create. Max allowed length is 1000. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::BatchCreateOccurrencesResponse] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::BatchCreateOccurrencesResponse] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::BatchCreateOccurrencesRequest.new - # - # # Call the batch_create_occurrences method. - # result = client.batch_create_occurrences request - # - # # The returned object is of type Grafeas::V1::BatchCreateOccurrencesResponse. - # p result - # - def batch_create_occurrences request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::BatchCreateOccurrencesRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.batch_create_occurrences.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.parent - header_params["parent"] = request.parent - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.batch_create_occurrences.timeout, - metadata: metadata, - retry_policy: @config.rpcs.batch_create_occurrences.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :batch_create_occurrences, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Updates the specified occurrence. - # - # @overload update_occurrence(request, options = nil) - # Pass arguments to `update_occurrence` via a request object, either of type - # {::Grafeas::V1::UpdateOccurrenceRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::UpdateOccurrenceRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload update_occurrence(name: nil, occurrence: nil, update_mask: nil) - # Pass arguments to `update_occurrence` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - # @param occurrence [::Grafeas::V1::Occurrence, ::Hash] - # The updated occurrence. - # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] - # The fields to update. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Occurrence] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Occurrence] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::UpdateOccurrenceRequest.new - # - # # Call the update_occurrence method. - # result = client.update_occurrence request - # - # # The returned object is of type Grafeas::V1::Occurrence. - # p result - # - def update_occurrence request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::UpdateOccurrenceRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.update_occurrence.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.update_occurrence.timeout, - metadata: metadata, - retry_policy: @config.rpcs.update_occurrence.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :update_occurrence, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Gets the note attached to the specified occurrence. Consumer projects can - # use this method to get a note that belongs to a provider project. - # - # @overload get_occurrence_note(request, options = nil) - # Pass arguments to `get_occurrence_note` via a request object, either of type - # {::Grafeas::V1::GetOccurrenceNoteRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::GetOccurrenceNoteRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload get_occurrence_note(name: nil) - # Pass arguments to `get_occurrence_note` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Note] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Note] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::GetOccurrenceNoteRequest.new - # - # # Call the get_occurrence_note method. - # result = client.get_occurrence_note request - # - # # The returned object is of type Grafeas::V1::Note. - # p result - # - def get_occurrence_note request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::GetOccurrenceNoteRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.get_occurrence_note.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.get_occurrence_note.timeout, - metadata: metadata, - retry_policy: @config.rpcs.get_occurrence_note.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :get_occurrence_note, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Gets the specified note. - # - # @overload get_note(request, options = nil) - # Pass arguments to `get_note` via a request object, either of type - # {::Grafeas::V1::GetNoteRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::GetNoteRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload get_note(name: nil) - # Pass arguments to `get_note` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Note] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Note] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::GetNoteRequest.new - # - # # Call the get_note method. - # result = client.get_note request - # - # # The returned object is of type Grafeas::V1::Note. - # p result - # - def get_note request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::GetNoteRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.get_note.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.get_note.timeout, - metadata: metadata, - retry_policy: @config.rpcs.get_note.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :get_note, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Lists notes for the specified project. - # - # @overload list_notes(request, options = nil) - # Pass arguments to `list_notes` via a request object, either of type - # {::Grafeas::V1::ListNotesRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::ListNotesRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload list_notes(parent: nil, filter: nil, page_size: nil, page_token: nil, return_partial_success: nil) - # Pass arguments to `list_notes` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param parent [::String] - # The name of the project to list notes for in the form of - # `projects/[PROJECT_ID]`. - # @param filter [::String] - # The filter expression. - # @param page_size [::Integer] - # 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. - # @param page_token [::String] - # Token to provide to skip to a particular spot in the list. - # @param return_partial_success [::Boolean] - # If set, the request will return all reachable Notes - # and report all unreachable regions in the `unreachable` field in - # the response. - # - # Only applicable for requests in the global region. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Gapic::PagedEnumerable<::Grafeas::V1::Note>] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Gapic::PagedEnumerable<::Grafeas::V1::Note>] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::ListNotesRequest.new - # - # # Call the list_notes method. - # result = client.list_notes request - # - # # The returned object is of type Gapic::PagedEnumerable. You can iterate - # # over elements, and API calls will be issued to fetch pages as needed. - # result.each do |item| - # # Each element is of type ::Grafeas::V1::Note. - # p item - # end - # - def list_notes request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::ListNotesRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.list_notes.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.parent - header_params["parent"] = request.parent - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.list_notes.timeout, - metadata: metadata, - retry_policy: @config.rpcs.list_notes.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :list_notes, request, options: options do |response, operation| - response = ::Gapic::PagedEnumerable.new @grafeas_stub, :list_notes, request, response, operation, options - yield response, operation if block_given? - throw :response, response - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Deletes the specified note. - # - # @overload delete_note(request, options = nil) - # Pass arguments to `delete_note` via a request object, either of type - # {::Grafeas::V1::DeleteNoteRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::DeleteNoteRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload delete_note(name: nil) - # Pass arguments to `delete_note` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Google::Protobuf::Empty] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Google::Protobuf::Empty] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::DeleteNoteRequest.new - # - # # Call the delete_note method. - # result = client.delete_note request - # - # # The returned object is of type Google::Protobuf::Empty. - # p result - # - def delete_note request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::DeleteNoteRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.delete_note.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.delete_note.timeout, - metadata: metadata, - retry_policy: @config.rpcs.delete_note.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :delete_note, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Creates a new note. - # - # @overload create_note(request, options = nil) - # Pass arguments to `create_note` via a request object, either of type - # {::Grafeas::V1::CreateNoteRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::CreateNoteRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload create_note(parent: nil, note_id: nil, note: nil) - # Pass arguments to `create_note` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param parent [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the note is to be created. - # @param note_id [::String] - # The ID to use for this note. - # @param note [::Grafeas::V1::Note, ::Hash] - # The note to create. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Note] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Note] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::CreateNoteRequest.new - # - # # Call the create_note method. - # result = client.create_note request - # - # # The returned object is of type Grafeas::V1::Note. - # p result - # - def create_note request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::CreateNoteRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.create_note.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.parent - header_params["parent"] = request.parent - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.create_note.timeout, - metadata: metadata, - retry_policy: @config.rpcs.create_note.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :create_note, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Creates new notes in batch. - # - # @overload batch_create_notes(request, options = nil) - # Pass arguments to `batch_create_notes` via a request object, either of type - # {::Grafeas::V1::BatchCreateNotesRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::BatchCreateNotesRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload batch_create_notes(parent: nil, notes: nil) - # Pass arguments to `batch_create_notes` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param parent [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the notes are to be created. - # @param notes [::Hash{::String => ::Grafeas::V1::Note, ::Hash}] - # The notes to create. Max allowed length is 1000. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::BatchCreateNotesResponse] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::BatchCreateNotesResponse] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::BatchCreateNotesRequest.new - # - # # Call the batch_create_notes method. - # result = client.batch_create_notes request - # - # # The returned object is of type Grafeas::V1::BatchCreateNotesResponse. - # p result - # - def batch_create_notes request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::BatchCreateNotesRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.batch_create_notes.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.parent - header_params["parent"] = request.parent - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.batch_create_notes.timeout, - metadata: metadata, - retry_policy: @config.rpcs.batch_create_notes.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :batch_create_notes, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Updates the specified note. - # - # @overload update_note(request, options = nil) - # Pass arguments to `update_note` via a request object, either of type - # {::Grafeas::V1::UpdateNoteRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::UpdateNoteRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload update_note(name: nil, note: nil, update_mask: nil) - # Pass arguments to `update_note` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # @param note [::Grafeas::V1::Note, ::Hash] - # The updated note. - # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] - # The fields to update. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Grafeas::V1::Note] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Grafeas::V1::Note] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::UpdateNoteRequest.new - # - # # Call the update_note method. - # result = client.update_note request - # - # # The returned object is of type Grafeas::V1::Note. - # p result - # - def update_note request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::UpdateNoteRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.update_note.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.update_note.timeout, - metadata: metadata, - retry_policy: @config.rpcs.update_note.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :update_note, request, options: options do |response, operation| - yield response, operation if block_given? - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Lists occurrences referencing the specified note. Provider projects can use - # this method to get all occurrences across consumer projects referencing the - # specified note. - # - # @overload list_note_occurrences(request, options = nil) - # Pass arguments to `list_note_occurrences` via a request object, either of type - # {::Grafeas::V1::ListNoteOccurrencesRequest} or an equivalent Hash. - # - # @param request [::Grafeas::V1::ListNoteOccurrencesRequest, ::Hash] - # A request object representing the call parameters. Required. To specify no - # parameters, or to keep all the default parameter values, pass an empty Hash. - # @param options [::Gapic::CallOptions, ::Hash] - # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. - # - # @overload list_note_occurrences(name: nil, filter: nil, page_size: nil, page_token: nil) - # Pass arguments to `list_note_occurrences` via keyword arguments. Note that at - # least one keyword argument is required. To specify no parameters, or to keep all - # the default parameter values, pass an empty Hash as a request object (see above). - # - # @param name [::String] - # The name of the note to list occurrences for in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # @param filter [::String] - # The filter expression. - # @param page_size [::Integer] - # Number of occurrences to return in the list. - # @param page_token [::String] - # Token to provide to skip to a particular spot in the list. - # - # @yield [response, operation] Access the result along with the RPC operation - # @yieldparam response [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] - # @yieldparam operation [::GRPC::ActiveCall::Operation] - # - # @return [::Gapic::PagedEnumerable<::Grafeas::V1::Occurrence>] - # - # @raise [::Google::Cloud::Error] if the RPC is aborted. - # - # @example Basic example - # require "grafeas/v1" - # - # # Create a client object. The client can be reused for multiple calls. - # client = Grafeas::V1::Grafeas::Client.new - # - # # Create a request. To set request fields, pass in keyword arguments. - # request = Grafeas::V1::ListNoteOccurrencesRequest.new - # - # # Call the list_note_occurrences method. - # result = client.list_note_occurrences request - # - # # The returned object is of type Gapic::PagedEnumerable. You can iterate - # # over elements, and API calls will be issued to fetch pages as needed. - # result.each do |item| - # # Each element is of type ::Grafeas::V1::Occurrence. - # p item - # end - # - def list_note_occurrences request, options = nil - raise ::ArgumentError, "request must be provided" if request.nil? - - request = ::Gapic::Protobuf.coerce request, to: ::Grafeas::V1::ListNoteOccurrencesRequest - - # Converts hash and nil to an options object - options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h - - # Customize the options with defaults - metadata = @config.rpcs.list_note_occurrences.metadata.to_h - - # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers - metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ - lib_name: @config.lib_name, lib_version: @config.lib_version, - gapic_version: ::Grafeas::V1::VERSION - metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? - metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id - - header_params = {} - if request.name - header_params["name"] = request.name - end - - request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") - metadata[:"x-goog-request-params"] ||= request_params_header - - options.apply_defaults timeout: @config.rpcs.list_note_occurrences.timeout, - metadata: metadata, - retry_policy: @config.rpcs.list_note_occurrences.retry_policy - - options.apply_defaults timeout: @config.timeout, - metadata: @config.metadata, - retry_policy: @config.retry_policy - - @grafeas_stub.call_rpc :list_note_occurrences, request, options: options do |response, operation| - response = ::Gapic::PagedEnumerable.new @grafeas_stub, :list_note_occurrences, request, response, operation, options - yield response, operation if block_given? - throw :response, response - end - rescue ::GRPC::BadStatus => e - raise ::Google::Cloud::Error.from_error(e) - end - - ## - # Configuration class for the Grafeas API. - # - # This class represents the configuration for Grafeas, - # providing control over timeouts, retry behavior, logging, transport - # parameters, and other low-level controls. Certain parameters can also be - # applied individually to specific RPCs. See - # {::Grafeas::V1::Grafeas::Client::Configuration::Rpcs} - # for a list of RPCs that can be configured independently. - # - # Configuration can be applied globally to all clients, or to a single client - # on construction. - # - # @example - # - # # Modify the global config, setting the timeout for - # # get_occurrence to 20 seconds, - # # and all remaining timeouts to 10 seconds. - # ::Grafeas::V1::Grafeas::Client.configure do |config| - # config.timeout = 10.0 - # config.rpcs.get_occurrence.timeout = 20.0 - # end - # - # # Apply the above configuration only to a new client. - # client = ::Grafeas::V1::Grafeas::Client.new do |config| - # config.timeout = 10.0 - # config.rpcs.get_occurrence.timeout = 20.0 - # end - # - # @!attribute [rw] endpoint - # A custom service endpoint, as a hostname or hostname:port. The default is - # nil, indicating to use the default endpoint in the current universe domain. - # @return [::String,nil] - # @!attribute [rw] credentials - # Credentials to send with calls. You may provide any of the following types: - # * (`Google::Auth::Credentials`) A googleauth credentials object - # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials)) - # * (`Signet::OAuth2::Client`) A signet oauth2 client object - # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client)) - # * (`GRPC::Core::Channel`) a gRPC channel with included credentials - # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object - # * (`nil`) indicating no credentials - # - # @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials - # is deprecated. Providing an unvalidated credential configuration to - # Google APIs can compromise the security of your systems and data. - # - # @example - # - # # The recommended way to provide credentials is to use the `make_creds` method - # # on the appropriate credentials class for your environment. - # - # require "googleauth" - # - # credentials = ::Google::Auth::ServiceAccountCredentials.make_creds( - # json_key_io: ::File.open("/path/to/keyfile.json") - # ) - # - # client = ::Grafeas::V1::Grafeas::Client.new do |config| - # config.credentials = credentials - # end - # - # @note Warning: If you accept a credential configuration (JSON file or Hash) from an - # external source for authentication to Google Cloud, you must validate it before - # providing it to a Google API client library. Providing an unvalidated credential - # configuration to Google APIs can compromise the security of your systems and data. - # For more information, refer to [Validate credential configurations from external - # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials). - # @return [::Object] - # @!attribute [rw] scope - # The OAuth scopes - # @return [::Array<::String>] - # @!attribute [rw] lib_name - # The library name as recorded in instrumentation and logging - # @return [::String] - # @!attribute [rw] lib_version - # The library version as recorded in instrumentation and logging - # @return [::String] - # @!attribute [rw] channel_args - # Extra parameters passed to the gRPC channel. Note: this is ignored if a - # `GRPC::Core::Channel` object is provided as the credential. - # @return [::Hash] - # @!attribute [rw] interceptors - # An array of interceptors that are run before calls are executed. - # @return [::Array<::GRPC::ClientInterceptor>] - # @!attribute [rw] timeout - # The call timeout in seconds. - # @return [::Numeric] - # @!attribute [rw] metadata - # Additional gRPC headers to be sent with the call. - # @return [::Hash{::Symbol=>::String}] - # @!attribute [rw] retry_policy - # The retry policy. The value is a hash with the following keys: - # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. - # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. - # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. - # * `:retry_codes` (*type:* `Array`) - The error codes that should - # trigger a retry. - # @return [::Hash] - # @!attribute [rw] quota_project - # A separate project against which to charge quota. - # @return [::String] - # @!attribute [rw] universe_domain - # The universe domain within which to make requests. This determines the - # default endpoint URL. The default value of nil uses the environment - # universe (usually the default "googleapis.com" universe). - # @return [::String,nil] - # @!attribute [rw] logger - # A custom logger to use for request/response debug logging, or the value - # `:default` (the default) to construct a default logger, or `nil` to - # explicitly disable logging. - # @return [::Logger,:default,nil] - # - class Configuration - extend ::Gapic::Config - - # @private - # The endpoint specific to the default "googleapis.com" universe. Deprecated. - DEFAULT_ENDPOINT = nil - - config_attr :endpoint, nil, ::String, nil - config_attr :credentials, nil do |value| - allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil] - allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel - allowed.any? { |klass| klass === value } - end - config_attr :scope, nil, ::String, ::Array, nil - config_attr :lib_name, nil, ::String, nil - config_attr :lib_version, nil, ::String, nil - config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil) - config_attr :interceptors, nil, ::Array, nil - config_attr :timeout, nil, ::Numeric, nil - config_attr :metadata, nil, ::Hash, nil - config_attr :retry_policy, nil, ::Hash, ::Proc, nil - config_attr :quota_project, nil, ::String, nil - config_attr :universe_domain, nil, ::String, nil - config_attr :logger, :default, ::Logger, nil, :default - - # @private - def initialize parent_config = nil - @parent_config = parent_config unless parent_config.nil? - - yield self if block_given? - end - - ## - # Configurations for individual RPCs - # @return [Rpcs] - # - def rpcs - @rpcs ||= begin - parent_rpcs = nil - parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs) - Rpcs.new parent_rpcs - end - end - - ## - # Configuration for the channel pool - # @return [::Gapic::ServiceStub::ChannelPool::Configuration] - # - def channel_pool - @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new - end - - ## - # Configuration RPC class for the Grafeas API. - # - # Includes fields providing the configuration for each RPC in this service. - # Each configuration object is of type `Gapic::Config::Method` and includes - # the following configuration fields: - # - # * `timeout` (*type:* `Numeric`) - The call timeout in seconds - # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers - # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields - # include the following keys: - # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. - # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. - # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. - # * `:retry_codes` (*type:* `Array`) - The error codes that should - # trigger a retry. - # - class Rpcs - ## - # RPC-specific configuration for `get_occurrence` - # @return [::Gapic::Config::Method] - # - attr_reader :get_occurrence - ## - # RPC-specific configuration for `list_occurrences` - # @return [::Gapic::Config::Method] - # - attr_reader :list_occurrences - ## - # RPC-specific configuration for `delete_occurrence` - # @return [::Gapic::Config::Method] - # - attr_reader :delete_occurrence - ## - # RPC-specific configuration for `create_occurrence` - # @return [::Gapic::Config::Method] - # - attr_reader :create_occurrence - ## - # RPC-specific configuration for `batch_create_occurrences` - # @return [::Gapic::Config::Method] - # - attr_reader :batch_create_occurrences - ## - # RPC-specific configuration for `update_occurrence` - # @return [::Gapic::Config::Method] - # - attr_reader :update_occurrence - ## - # RPC-specific configuration for `get_occurrence_note` - # @return [::Gapic::Config::Method] - # - attr_reader :get_occurrence_note - ## - # RPC-specific configuration for `get_note` - # @return [::Gapic::Config::Method] - # - attr_reader :get_note - ## - # RPC-specific configuration for `list_notes` - # @return [::Gapic::Config::Method] - # - attr_reader :list_notes - ## - # RPC-specific configuration for `delete_note` - # @return [::Gapic::Config::Method] - # - attr_reader :delete_note - ## - # RPC-specific configuration for `create_note` - # @return [::Gapic::Config::Method] - # - attr_reader :create_note - ## - # RPC-specific configuration for `batch_create_notes` - # @return [::Gapic::Config::Method] - # - attr_reader :batch_create_notes - ## - # RPC-specific configuration for `update_note` - # @return [::Gapic::Config::Method] - # - attr_reader :update_note - ## - # RPC-specific configuration for `list_note_occurrences` - # @return [::Gapic::Config::Method] - # - attr_reader :list_note_occurrences - - # @private - def initialize parent_rpcs = nil - get_occurrence_config = parent_rpcs.get_occurrence if parent_rpcs.respond_to? :get_occurrence - @get_occurrence = ::Gapic::Config::Method.new get_occurrence_config - list_occurrences_config = parent_rpcs.list_occurrences if parent_rpcs.respond_to? :list_occurrences - @list_occurrences = ::Gapic::Config::Method.new list_occurrences_config - delete_occurrence_config = parent_rpcs.delete_occurrence if parent_rpcs.respond_to? :delete_occurrence - @delete_occurrence = ::Gapic::Config::Method.new delete_occurrence_config - create_occurrence_config = parent_rpcs.create_occurrence if parent_rpcs.respond_to? :create_occurrence - @create_occurrence = ::Gapic::Config::Method.new create_occurrence_config - batch_create_occurrences_config = parent_rpcs.batch_create_occurrences if parent_rpcs.respond_to? :batch_create_occurrences - @batch_create_occurrences = ::Gapic::Config::Method.new batch_create_occurrences_config - update_occurrence_config = parent_rpcs.update_occurrence if parent_rpcs.respond_to? :update_occurrence - @update_occurrence = ::Gapic::Config::Method.new update_occurrence_config - get_occurrence_note_config = parent_rpcs.get_occurrence_note if parent_rpcs.respond_to? :get_occurrence_note - @get_occurrence_note = ::Gapic::Config::Method.new get_occurrence_note_config - get_note_config = parent_rpcs.get_note if parent_rpcs.respond_to? :get_note - @get_note = ::Gapic::Config::Method.new get_note_config - list_notes_config = parent_rpcs.list_notes if parent_rpcs.respond_to? :list_notes - @list_notes = ::Gapic::Config::Method.new list_notes_config - delete_note_config = parent_rpcs.delete_note if parent_rpcs.respond_to? :delete_note - @delete_note = ::Gapic::Config::Method.new delete_note_config - create_note_config = parent_rpcs.create_note if parent_rpcs.respond_to? :create_note - @create_note = ::Gapic::Config::Method.new create_note_config - batch_create_notes_config = parent_rpcs.batch_create_notes if parent_rpcs.respond_to? :batch_create_notes - @batch_create_notes = ::Gapic::Config::Method.new batch_create_notes_config - update_note_config = parent_rpcs.update_note if parent_rpcs.respond_to? :update_note - @update_note = ::Gapic::Config::Method.new update_note_config - list_note_occurrences_config = parent_rpcs.list_note_occurrences if parent_rpcs.respond_to? :list_note_occurrences - @list_note_occurrences = ::Gapic::Config::Method.new list_note_occurrences_config - - yield self if block_given? - end - end - end - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb deleted file mode 100644 index 60475490d391..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas/paths.rb +++ /dev/null @@ -1,77 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - module Grafeas - # Path helper methods for the Grafeas API. - module Paths - ## - # Create a fully-qualified Note resource string. - # - # The resource will be in the following format: - # - # `projects/{project}/notes/{note}` - # - # @param project [String] - # @param note [String] - # - # @return [::String] - def note_path project:, note: - raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" - - "projects/#{project}/notes/#{note}" - end - - ## - # Create a fully-qualified Occurrence resource string. - # - # The resource will be in the following format: - # - # `projects/{project}/occurrences/{occurrence}` - # - # @param project [String] - # @param occurrence [String] - # - # @return [::String] - def occurrence_path project:, occurrence: - raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" - - "projects/#{project}/occurrences/#{occurrence}" - end - - ## - # Create a fully-qualified Project resource string. - # - # The resource will be in the following format: - # - # `projects/{project}` - # - # @param project [String] - # - # @return [::String] - def project_path project: - "projects/#{project}" - end - - extend self - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb deleted file mode 100644 index 44bb67e4f5c4..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_pb.rb +++ /dev/null @@ -1,96 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/grafeas.proto - -require 'google/protobuf' - -require 'google/api/annotations_pb' -require 'google/api/client_pb' -require 'google/api/field_behavior_pb' -require 'google/api/resource_pb' -require 'google/protobuf/empty_pb' -require 'google/protobuf/field_mask_pb' -require 'google/protobuf/timestamp_pb' -require 'grafeas/v1/attestation_pb' -require 'grafeas/v1/build_pb' -require 'grafeas/v1/common_pb' -require 'grafeas/v1/compliance_pb' -require 'grafeas/v1/deployment_pb' -require 'grafeas/v1/discovery_pb' -require 'grafeas/v1/dsse_attestation_pb' -require 'grafeas/v1/image_pb' -require 'grafeas/v1/package_pb' -require 'grafeas/v1/sbom_pb' -require 'grafeas/v1/secret_pb' -require 'grafeas/v1/upgrade_pb' -require 'grafeas/v1/vex_pb' -require 'grafeas/v1/vulnerability_pb' - - -descriptor_data = "\n\x18grafeas/v1/grafeas.proto\x12\ngrafeas.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgrafeas/v1/attestation.proto\x1a\x16grafeas/v1/build.proto\x1a\x17grafeas/v1/common.proto\x1a\x1bgrafeas/v1/compliance.proto\x1a\x1bgrafeas/v1/deployment.proto\x1a\x1agrafeas/v1/discovery.proto\x1a!grafeas/v1/dsse_attestation.proto\x1a\x16grafeas/v1/image.proto\x1a\x18grafeas/v1/package.proto\x1a\x15grafeas/v1/sbom.proto\x1a\x17grafeas/v1/secret.proto\x1a\x18grafeas/v1/upgrade.proto\x1a\x14grafeas/v1/vex.proto\x1a\x1egrafeas/v1/vulnerability.proto\"\xea\x07\n\nOccurrence\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cresource_uri\x18\x02 \x01(\t\x12\x11\n\tnote_name\x18\x03 \x01(\t\x12\"\n\x04kind\x18\x04 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\x12\x13\n\x0bremediation\x18\x05 \x01(\t\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\rvulnerability\x18\x08 \x01(\x0b\x32#.grafeas.v1.VulnerabilityOccurrenceH\x00\x12,\n\x05\x62uild\x18\t \x01(\x0b\x32\x1b.grafeas.v1.BuildOccurrenceH\x00\x12,\n\x05image\x18\n \x01(\x0b\x32\x1b.grafeas.v1.ImageOccurrenceH\x00\x12\x30\n\x07package\x18\x0b \x01(\x0b\x32\x1d.grafeas.v1.PackageOccurrenceH\x00\x12\x36\n\ndeployment\x18\x0c \x01(\x0b\x32 .grafeas.v1.DeploymentOccurrenceH\x00\x12\x34\n\tdiscovery\x18\r \x01(\x0b\x32\x1f.grafeas.v1.DiscoveryOccurrenceH\x00\x12\x38\n\x0b\x61ttestation\x18\x0e \x01(\x0b\x32!.grafeas.v1.AttestationOccurrenceH\x00\x12\x30\n\x07upgrade\x18\x0f \x01(\x0b\x32\x1d.grafeas.v1.UpgradeOccurrenceH\x00\x12\x36\n\ncompliance\x18\x10 \x01(\x0b\x32 .grafeas.v1.ComplianceOccurrenceH\x00\x12\x41\n\x10\x64sse_attestation\x18\x11 \x01(\x0b\x32%.grafeas.v1.DSSEAttestationOccurrenceH\x00\x12=\n\x0esbom_reference\x18\x13 \x01(\x0b\x32#.grafeas.v1.SBOMReferenceOccurrenceH\x00\x12.\n\x06secret\x18\x14 \x01(\x0b\x32\x1c.grafeas.v1.SecretOccurrenceH\x00\x12&\n\x08\x65nvelope\x18\x12 \x01(\x0b\x32\x14.grafeas.v1.Envelope:G\xea\x41\x44\n\x15grafeas.io/Occurrence\x12+projects/{project}/occurrences/{occurrence}B\t\n\x07\x64\x65tails\"\xa1\x08\n\x04Note\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x12\"\n\x04kind\x18\x04 \x01(\x0e\x32\x14.grafeas.v1.NoteKind\x12+\n\x0brelated_url\x18\x05 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12\x33\n\x0f\x65xpiration_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12related_note_names\x18\t \x03(\t\x12\x36\n\rvulnerability\x18\n \x01(\x0b\x32\x1d.grafeas.v1.VulnerabilityNoteH\x00\x12&\n\x05\x62uild\x18\x0b \x01(\x0b\x32\x15.grafeas.v1.BuildNoteH\x00\x12&\n\x05image\x18\x0c \x01(\x0b\x32\x15.grafeas.v1.ImageNoteH\x00\x12*\n\x07package\x18\r \x01(\x0b\x32\x17.grafeas.v1.PackageNoteH\x00\x12\x30\n\ndeployment\x18\x0e \x01(\x0b\x32\x1a.grafeas.v1.DeploymentNoteH\x00\x12.\n\tdiscovery\x18\x0f \x01(\x0b\x32\x19.grafeas.v1.DiscoveryNoteH\x00\x12\x32\n\x0b\x61ttestation\x18\x10 \x01(\x0b\x32\x1b.grafeas.v1.AttestationNoteH\x00\x12*\n\x07upgrade\x18\x11 \x01(\x0b\x32\x17.grafeas.v1.UpgradeNoteH\x00\x12\x30\n\ncompliance\x18\x12 \x01(\x0b\x32\x1a.grafeas.v1.ComplianceNoteH\x00\x12;\n\x10\x64sse_attestation\x18\x13 \x01(\x0b\x32\x1f.grafeas.v1.DSSEAttestationNoteH\x00\x12K\n\x18vulnerability_assessment\x18\x14 \x01(\x0b\x32\'.grafeas.v1.VulnerabilityAssessmentNoteH\x00\x12\x37\n\x0esbom_reference\x18\x15 \x01(\x0b\x32\x1d.grafeas.v1.SBOMReferenceNoteH\x00\x12(\n\x06secret\x18\x16 \x01(\x0b\x32\x16.grafeas.v1.SecretNoteH\x00:5\xea\x41\x32\n\x0fgrafeas.io/Note\x12\x1fprojects/{project}/notes/{note}B\x06\n\x04type\"C\n\x14GetOccurrenceRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\"\x9b\x01\n\x16ListOccurrencesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x1e\n\x16return_partial_success\x18\x05 \x01(\x08\"y\n\x17ListOccurrencesResponse\x12+\n\x0boccurrences\x18\x01 \x03(\x0b\x32\x16.grafeas.v1.Occurrence\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x18\n\x0bunreachable\x18\x03 \x03(\tB\x03\xe0\x41\x06\"F\n\x17\x44\x65leteOccurrenceRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\"v\n\x17\x43reateOccurrenceRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12/\n\noccurrence\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.OccurrenceB\x03\xe0\x41\x02\"\xa8\x01\n\x17UpdateOccurrenceRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\x12/\n\noccurrence\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.OccurrenceB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"7\n\x0eGetNoteRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\"G\n\x18GetOccurrenceNoteRequest\x12+\n\x04name\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15grafeas.io/Occurrence\"\x95\x01\n\x10ListNotesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x1e\n\x16return_partial_success\x18\x05 \x01(\x08\"g\n\x11ListNotesResponse\x12\x1f\n\x05notes\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Note\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x18\n\x0bunreachable\x18\x03 \x03(\tB\x03\xe0\x41\x06\":\n\x11\x44\x65leteNoteRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\"z\n\x11\x43reateNoteRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x14\n\x07note_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12#\n\x04note\x18\x03 \x01(\x0b\x32\x10.grafeas.v1.NoteB\x03\xe0\x41\x02\"\x90\x01\n\x11UpdateNoteRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\x12#\n\x04note\x18\x02 \x01(\x0b\x32\x10.grafeas.v1.NoteB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"z\n\x1aListNoteOccurrencesRequest\x12%\n\x04name\x18\x01 \x01(\tB\x17\xe0\x41\x02\xfa\x41\x11\n\x0fgrafeas.io/Note\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"c\n\x1bListNoteOccurrencesResponse\x12+\n\x0boccurrences\x18\x01 \x03(\x0b\x32\x16.grafeas.v1.Occurrence\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc9\x01\n\x17\x42\x61tchCreateNotesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x42\n\x05notes\x18\x02 \x03(\x0b\x32..grafeas.v1.BatchCreateNotesRequest.NotesEntryB\x03\xe0\x41\x02\x1a>\n\nNotesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.grafeas.v1.Note:\x02\x38\x01\";\n\x18\x42\x61tchCreateNotesResponse\x12\x1f\n\x05notes\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Note\"}\n\x1d\x42\x61tchCreateOccurrencesRequest\x12*\n\x06parent\x18\x01 \x01(\tB\x1a\xe0\x41\x02\xfa\x41\x14\n\x12grafeas.io/Project\x12\x30\n\x0boccurrences\x18\x02 \x03(\x0b\x32\x16.grafeas.v1.OccurrenceB\x03\xe0\x41\x02\"M\n\x1e\x42\x61tchCreateOccurrencesResponse\x12+\n\x0boccurrences\x18\x01 \x03(\x0b\x32\x16.grafeas.v1.Occurrence2\x8d\x16\n\x07Grafeas\x12\xb0\x01\n\rGetOccurrence\x12 .grafeas.v1.GetOccurrenceRequest\x1a\x16.grafeas.v1.Occurrence\"e\xda\x41\x04name\x82\xd3\xe4\x93\x02X\x12#/v1/{name=projects/*/occurrences/*}Z1\x12//v1/{name=projects/*/locations/*/occurrences/*}\x12\xca\x01\n\x0fListOccurrences\x12\".grafeas.v1.ListOccurrencesRequest\x1a#.grafeas.v1.ListOccurrencesResponse\"n\xda\x41\rparent,filter\x82\xd3\xe4\x93\x02X\x12#/v1/{parent=projects/*}/occurrencesZ1\x12//v1/{parent=projects/*/locations/*}/occurrences\x12\xb6\x01\n\x10\x44\x65leteOccurrence\x12#.grafeas.v1.DeleteOccurrenceRequest\x1a\x16.google.protobuf.Empty\"e\xda\x41\x04name\x82\xd3\xe4\x93\x02X*#/v1/{name=projects/*/occurrences/*}Z1*//v1/{name=projects/*/locations/*/occurrences/*}\x12\xdc\x01\n\x10\x43reateOccurrence\x12#.grafeas.v1.CreateOccurrenceRequest\x1a\x16.grafeas.v1.Occurrence\"\x8a\x01\xda\x41\x11parent,occurrence\x82\xd3\xe4\x93\x02p\"#/v1/{parent=projects/*}/occurrences:\noccurrenceZ=\"//v1/{parent=projects/*/locations/*}/occurrences:\noccurrence\x12\x83\x02\n\x16\x42\x61tchCreateOccurrences\x12).grafeas.v1.BatchCreateOccurrencesRequest\x1a*.grafeas.v1.BatchCreateOccurrencesResponse\"\x91\x01\xda\x41\x12parent,occurrences\x82\xd3\xe4\x93\x02v\"//v1/{parent=projects/*}/occurrences:batchCreate:\x01*Z@\";/v1/{parent=projects/*/locations/*}/occurrences:batchCreate:\x01*\x12\xe6\x01\n\x10UpdateOccurrence\x12#.grafeas.v1.UpdateOccurrenceRequest\x1a\x16.grafeas.v1.Occurrence\"\x94\x01\xda\x41\x1bname,occurrence,update_mask\x82\xd3\xe4\x93\x02p2#/v1/{name=projects/*/occurrences/*}:\noccurrenceZ=2//v1/{name=projects/*/locations/*/occurrences/*}:\noccurrence\x12\xbe\x01\n\x11GetOccurrenceNote\x12$.grafeas.v1.GetOccurrenceNoteRequest\x1a\x10.grafeas.v1.Note\"q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x64\x12)/v1/{name=projects/*/occurrences/*}/notesZ7\x12\x35/v1/{name=projects/*/locations/*/occurrences/*}/notes\x12\x92\x01\n\x07GetNote\x12\x1a.grafeas.v1.GetNoteRequest\x1a\x10.grafeas.v1.Note\"Y\xda\x41\x04name\x82\xd3\xe4\x93\x02L\x12\x1d/v1/{name=projects/*/notes/*}Z+\x12)/v1/{name=projects/*/locations/*/notes/*}\x12\xac\x01\n\tListNotes\x12\x1c.grafeas.v1.ListNotesRequest\x1a\x1d.grafeas.v1.ListNotesResponse\"b\xda\x41\rparent,filter\x82\xd3\xe4\x93\x02L\x12\x1d/v1/{parent=projects/*}/notesZ+\x12)/v1/{parent=projects/*/locations/*}/notes\x12\x9e\x01\n\nDeleteNote\x12\x1d.grafeas.v1.DeleteNoteRequest\x1a\x16.google.protobuf.Empty\"Y\xda\x41\x04name\x82\xd3\xe4\x93\x02L*\x1d/v1/{name=projects/*/notes/*}Z+*)/v1/{name=projects/*/locations/*/notes/*}\x12\xb3\x01\n\nCreateNote\x12\x1d.grafeas.v1.CreateNoteRequest\x1a\x10.grafeas.v1.Note\"t\xda\x41\x13parent,note_id,note\x82\xd3\xe4\x93\x02X\"\x1d/v1/{parent=projects/*}/notes:\x04noteZ1\")/v1/{parent=projects/*/locations/*}/notes:\x04note\x12\xde\x01\n\x10\x42\x61tchCreateNotes\x12#.grafeas.v1.BatchCreateNotesRequest\x1a$.grafeas.v1.BatchCreateNotesResponse\"\x7f\xda\x41\x0cparent,notes\x82\xd3\xe4\x93\x02j\")/v1/{parent=projects/*}/notes:batchCreate:\x01*Z:\"5/v1/{parent=projects/*/locations/*}/notes:batchCreate:\x01*\x12\xb5\x01\n\nUpdateNote\x12\x1d.grafeas.v1.UpdateNoteRequest\x1a\x10.grafeas.v1.Note\"v\xda\x41\x15name,note,update_mask\x82\xd3\xe4\x93\x02X2\x1d/v1/{name=projects/*/notes/*}:\x04noteZ12)/v1/{name=projects/*/locations/*/notes/*}:\x04note\x12\xe0\x01\n\x13ListNoteOccurrences\x12&.grafeas.v1.ListNoteOccurrencesRequest\x1a\'.grafeas.v1.ListNoteOccurrencesResponse\"x\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x64\x12)/v1/{name=projects/*/notes/*}/occurrencesZ7\x12\x35/v1/{name=projects/*/locations/*/notes/*}/occurrences\x1a#\xca\x41 containeranalysis.googleapis.comB|\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRA\xea\x41(\n\x12grafeas.io/Project\x12\x12projects/{project}b\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ["grafeas.v1.VulnerabilityOccurrence", "grafeas/v1/vulnerability.proto"], - ["grafeas.v1.BuildOccurrence", "grafeas/v1/build.proto"], - ["grafeas.v1.ImageOccurrence", "grafeas/v1/image.proto"], - ["grafeas.v1.PackageOccurrence", "grafeas/v1/package.proto"], - ["grafeas.v1.DeploymentOccurrence", "grafeas/v1/deployment.proto"], - ["grafeas.v1.DiscoveryOccurrence", "grafeas/v1/discovery.proto"], - ["grafeas.v1.AttestationOccurrence", "grafeas/v1/attestation.proto"], - ["grafeas.v1.UpgradeOccurrence", "grafeas/v1/upgrade.proto"], - ["grafeas.v1.ComplianceOccurrence", "grafeas/v1/compliance.proto"], - ["grafeas.v1.DSSEAttestationOccurrence", "grafeas/v1/dsse_attestation.proto"], - ["grafeas.v1.SBOMReferenceOccurrence", "grafeas/v1/sbom.proto"], - ["grafeas.v1.SecretOccurrence", "grafeas/v1/secret.proto"], - ["grafeas.v1.Envelope", "grafeas/v1/common.proto"], - ["grafeas.v1.VulnerabilityAssessmentNote", "grafeas/v1/vex.proto"], - ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - Occurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Occurrence").msgclass - Note = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Note").msgclass - GetOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GetOccurrenceRequest").msgclass - ListOccurrencesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListOccurrencesRequest").msgclass - ListOccurrencesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListOccurrencesResponse").msgclass - DeleteOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeleteOccurrenceRequest").msgclass - CreateOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CreateOccurrenceRequest").msgclass - UpdateOccurrenceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpdateOccurrenceRequest").msgclass - GetNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GetNoteRequest").msgclass - GetOccurrenceNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GetOccurrenceNoteRequest").msgclass - ListNotesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNotesRequest").msgclass - ListNotesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNotesResponse").msgclass - DeleteNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.DeleteNoteRequest").msgclass - CreateNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CreateNoteRequest").msgclass - UpdateNoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpdateNoteRequest").msgclass - ListNoteOccurrencesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNoteOccurrencesRequest").msgclass - ListNoteOccurrencesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ListNoteOccurrencesResponse").msgclass - BatchCreateNotesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateNotesRequest").msgclass - BatchCreateNotesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateNotesResponse").msgclass - BatchCreateOccurrencesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateOccurrencesRequest").msgclass - BatchCreateOccurrencesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BatchCreateOccurrencesResponse").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb deleted file mode 100644 index aeed0fe3020b..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/grafeas_services_pb.rb +++ /dev/null @@ -1,85 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# Source: grafeas/v1/grafeas.proto for package 'grafeas.v1' -# Original file comments: -# 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. -# - -require 'grpc' -require 'grafeas/v1/grafeas_pb' - -module Grafeas - module V1 - module Grafeas - # [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. - class Service - - include ::GRPC::GenericService - - self.marshal_class_method = :encode - self.unmarshal_class_method = :decode - self.service_name = 'grafeas.v1.Grafeas' - - # Gets the specified occurrence. - rpc :GetOccurrence, ::Grafeas::V1::GetOccurrenceRequest, ::Grafeas::V1::Occurrence - # Lists occurrences for the specified project. - rpc :ListOccurrences, ::Grafeas::V1::ListOccurrencesRequest, ::Grafeas::V1::ListOccurrencesResponse - # 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, ::Grafeas::V1::DeleteOccurrenceRequest, ::Google::Protobuf::Empty - # Creates a new occurrence. - rpc :CreateOccurrence, ::Grafeas::V1::CreateOccurrenceRequest, ::Grafeas::V1::Occurrence - # Creates new occurrences in batch. - rpc :BatchCreateOccurrences, ::Grafeas::V1::BatchCreateOccurrencesRequest, ::Grafeas::V1::BatchCreateOccurrencesResponse - # Updates the specified occurrence. - rpc :UpdateOccurrence, ::Grafeas::V1::UpdateOccurrenceRequest, ::Grafeas::V1::Occurrence - # 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, ::Grafeas::V1::GetOccurrenceNoteRequest, ::Grafeas::V1::Note - # Gets the specified note. - rpc :GetNote, ::Grafeas::V1::GetNoteRequest, ::Grafeas::V1::Note - # Lists notes for the specified project. - rpc :ListNotes, ::Grafeas::V1::ListNotesRequest, ::Grafeas::V1::ListNotesResponse - # Deletes the specified note. - rpc :DeleteNote, ::Grafeas::V1::DeleteNoteRequest, ::Google::Protobuf::Empty - # Creates a new note. - rpc :CreateNote, ::Grafeas::V1::CreateNoteRequest, ::Grafeas::V1::Note - # Creates new notes in batch. - rpc :BatchCreateNotes, ::Grafeas::V1::BatchCreateNotesRequest, ::Grafeas::V1::BatchCreateNotesResponse - # Updates the specified note. - rpc :UpdateNote, ::Grafeas::V1::UpdateNoteRequest, ::Grafeas::V1::Note - # 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, ::Grafeas::V1::ListNoteOccurrencesRequest, ::Grafeas::V1::ListNoteOccurrencesResponse - end - - Stub = Service.rpc_stub_class - end - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb deleted file mode 100644 index 49edfc6fef3b..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/image_pb.rb +++ /dev/null @@ -1,41 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/image.proto - -require 'google/protobuf' - - -descriptor_data = "\n\x16grafeas/v1/image.proto\x12\ngrafeas.v1\"-\n\x05Layer\x12\x11\n\tdirective\x18\x01 \x01(\t\x12\x11\n\targuments\x18\x02 \x01(\t\"@\n\x0b\x46ingerprint\x12\x0f\n\x07v1_name\x18\x01 \x01(\t\x12\x0f\n\x07v2_blob\x18\x02 \x03(\t\x12\x0f\n\x07v2_name\x18\x03 \x01(\t\"O\n\tImageNote\x12\x14\n\x0cresource_url\x18\x01 \x01(\t\x12,\n\x0b\x66ingerprint\x18\x02 \x01(\x0b\x32\x17.grafeas.v1.Fingerprint\"\x93\x01\n\x0fImageOccurrence\x12,\n\x0b\x66ingerprint\x18\x01 \x01(\x0b\x32\x17.grafeas.v1.Fingerprint\x12\x10\n\x08\x64istance\x18\x02 \x01(\x05\x12%\n\nlayer_info\x18\x03 \x03(\x0b\x32\x11.grafeas.v1.Layer\x12\x19\n\x11\x62\x61se_resource_url\x18\x04 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - Layer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Layer").msgclass - Fingerprint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Fingerprint").msgclass - ImageNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ImageNote").msgclass - ImageOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ImageOccurrence").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb deleted file mode 100644 index bf130f668919..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_provenance_pb.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/intoto_provenance.proto - -require 'google/protobuf' - -require 'google/protobuf/any_pb' -require 'google/protobuf/timestamp_pb' - - -descriptor_data = "\n\"grafeas/v1/intoto_provenance.proto\x12\ngrafeas.v1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9c\x01\n\x06Recipe\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65\x66ined_in_material\x18\x02 \x01(\x03\x12\x13\n\x0b\x65ntry_point\x18\x03 \x01(\t\x12\'\n\targuments\x18\x04 \x03(\x0b\x32\x14.google.protobuf.Any\x12)\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32\x14.google.protobuf.Any\"I\n\x0c\x43ompleteness\x12\x11\n\targuments\x18\x01 \x01(\x08\x12\x13\n\x0b\x65nvironment\x18\x02 \x01(\x08\x12\x11\n\tmaterials\x18\x03 \x01(\x08\"\xda\x01\n\x08Metadata\x12\x1b\n\x13\x62uild_invocation_id\x18\x01 \x01(\t\x12\x34\n\x10\x62uild_started_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11\x62uild_finished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x0c\x63ompleteness\x18\x04 \x01(\x0b\x32\x18.grafeas.v1.Completeness\x12\x14\n\x0creproducible\x18\x05 \x01(\x08\"\x1b\n\rBuilderConfig\x12\n\n\x02id\x18\x01 \x01(\t\"\xa4\x01\n\x10InTotoProvenance\x12\x31\n\x0e\x62uilder_config\x18\x01 \x01(\x0b\x32\x19.grafeas.v1.BuilderConfig\x12\"\n\x06recipe\x18\x02 \x01(\x0b\x32\x12.grafeas.v1.Recipe\x12&\n\x08metadata\x18\x03 \x01(\x0b\x32\x14.grafeas.v1.Metadata\x12\x11\n\tmaterials\x18\x04 \x03(\tBh\n\rio.grafeas.v1B\x15InTotoProvenanceProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Any", "google/protobuf/any.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - Recipe = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Recipe").msgclass - Completeness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Completeness").msgclass - Metadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Metadata").msgclass - BuilderConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuilderConfig").msgclass - InTotoProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoProvenance").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb deleted file mode 100644 index f61f3f98adfd..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/intoto_statement_pb.rb +++ /dev/null @@ -1,57 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/intoto_statement.proto - -require 'google/protobuf' - -require 'google/protobuf/struct_pb' -require 'google/protobuf/timestamp_pb' -require 'grafeas/v1/intoto_provenance_pb' -require 'grafeas/v1/slsa_provenance_pb' -require 'grafeas/v1/slsa_provenance_zero_two_pb' - - -descriptor_data = "\n!grafeas/v1/intoto_statement.proto\x12\ngrafeas.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"grafeas/v1/intoto_provenance.proto\x1a grafeas/v1/slsa_provenance.proto\x1a)grafeas/v1/slsa_provenance_zero_two.proto\"\xa3\x02\n\x0fInTotoStatement\x12\x13\n\x04type\x18\x01 \x01(\tR\x05_type\x12$\n\x07subject\x18\x02 \x03(\x0b\x32\x13.grafeas.v1.Subject\x12\x16\n\x0epredicate_type\x18\x03 \x01(\t\x12\x32\n\nprovenance\x18\x04 \x01(\x0b\x32\x1c.grafeas.v1.InTotoProvenanceH\x00\x12\x35\n\x0fslsa_provenance\x18\x05 \x01(\x0b\x32\x1a.grafeas.v1.SlsaProvenanceH\x00\x12\x45\n\x18slsa_provenance_zero_two\x18\x06 \x01(\x0b\x32!.grafeas.v1.SlsaProvenanceZeroTwoH\x00\x42\x0b\n\tpredicate\"w\n\x07Subject\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x06\x64igest\x18\x02 \x03(\x0b\x32\x1f.grafeas.v1.Subject.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcb\x0c\n\x16InTotoSlsaProvenanceV1\x12\x13\n\x04type\x18\x01 \x01(\tR\x05_type\x12$\n\x07subject\x18\x02 \x03(\x0b\x32\x13.grafeas.v1.Subject\x12\x16\n\x0epredicate_type\x18\x03 \x01(\t\x12\x46\n\tpredicate\x18\x04 \x01(\x0b\x32\x33.grafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1\x1a\xa4\x01\n\x10SlsaProvenanceV1\x12L\n\x10\x62uild_definition\x18\x01 \x01(\x0b\x32\x32.grafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition\x12\x42\n\x0brun_details\x18\x02 \x01(\x0b\x32-.grafeas.v1.InTotoSlsaProvenanceV1.RunDetails\x1a\xe7\x01\n\x0f\x42uildDefinition\x12\x12\n\nbuild_type\x18\x01 \x01(\t\x12\x34\n\x13\x65xternal_parameters\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\x13internal_parameters\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12T\n\x15resolved_dependencies\x18\x04 \x03(\x0b\x32\x35.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor\x1a\x9a\x03\n\x12ResourceDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12Q\n\x06\x64igest\x18\x03 \x03(\x0b\x32\x41.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.DigestEntry\x12\x0f\n\x07\x63ontent\x18\x04 \x01(\x0c\x12\x19\n\x11\x64ownload_location\x18\x05 \x01(\t\x12\x12\n\nmedia_type\x18\x06 \x01(\t\x12[\n\x0b\x61nnotations\x18\x07 \x03(\x0b\x32\x46.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.AnnotationsEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aJ\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\xe2\x01\n\nRunDetails\x12\x45\n\x07\x62uilder\x18\x01 \x01(\x0b\x32\x34.grafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder\x12\x42\n\x08metadata\x18\x02 \x01(\x0b\x32\x30.grafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata\x12I\n\nbyproducts\x18\x03 \x03(\x0b\x32\x35.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor\x1a\xf8\x01\n\x11ProvenanceBuilder\x12\n\n\x02id\x18\x01 \x01(\t\x12R\n\x07version\x18\x02 \x03(\x0b\x32\x41.grafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder.VersionEntry\x12S\n\x14\x62uilder_dependencies\x18\x03 \x03(\x0b\x32\x35.grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor\x1a.\n\x0cVersionEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x87\x01\n\rBuildMetadata\x12\x15\n\rinvocation_id\x18\x01 \x01(\t\x12.\n\nstarted_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x66inished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBg\n\rio.grafeas.v1B\x14InTotoStatementProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.InTotoProvenance", "grafeas/v1/intoto_provenance.proto"], - ["grafeas.v1.SlsaProvenance", "grafeas/v1/slsa_provenance.proto"], - ["grafeas.v1.SlsaProvenanceZeroTwo", "grafeas/v1/slsa_provenance_zero_two.proto"], - ["google.protobuf.Struct", "google/protobuf/struct.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - InTotoStatement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoStatement").msgclass - Subject = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Subject").msgclass - InTotoSlsaProvenanceV1 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1").msgclass - InTotoSlsaProvenanceV1::SlsaProvenanceV1 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1").msgclass - InTotoSlsaProvenanceV1::BuildDefinition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition").msgclass - InTotoSlsaProvenanceV1::ResourceDescriptor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor").msgclass - InTotoSlsaProvenanceV1::RunDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.RunDetails").msgclass - InTotoSlsaProvenanceV1::ProvenanceBuilder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder").msgclass - InTotoSlsaProvenanceV1::BuildMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb deleted file mode 100644 index f0e24998adbe..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/package_pb.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/package.proto - -require 'google/protobuf' - -require 'google/api/field_behavior_pb' -require 'grafeas/v1/common_pb' - - -descriptor_data = "\n\x18grafeas/v1/package.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17grafeas/v1/common.proto\"\xb7\x01\n\x0c\x44istribution\x12\x14\n\x07\x63pe_uri\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12.\n\x0c\x61rchitecture\x18\x02 \x01(\x0e\x32\x18.grafeas.v1.Architecture\x12+\n\x0elatest_version\x18\x03 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x12\n\nmaintainer\x18\x04 \x01(\t\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\"O\n\x08Location\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12$\n\x07version\x18\x02 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x0c\n\x04path\x18\x03 \x01(\t\"\xd0\x02\n\x0bPackageNote\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12.\n\x0c\x64istribution\x18\n \x03(\x0b\x32\x18.grafeas.v1.Distribution\x12\x14\n\x0cpackage_type\x18\x0b \x01(\t\x12\x0f\n\x07\x63pe_uri\x18\x0c \x01(\t\x12.\n\x0c\x61rchitecture\x18\r \x01(\x0e\x32\x18.grafeas.v1.Architecture\x12$\n\x07version\x18\x0e \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x12\n\nmaintainer\x18\x0f \x01(\t\x12\x0b\n\x03url\x18\x10 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x11 \x01(\t\x12$\n\x07license\x18\x12 \x01(\x0b\x32\x13.grafeas.v1.License\x12\"\n\x06\x64igest\x18\x13 \x03(\x0b\x32\x12.grafeas.v1.Digest\"\x88\x02\n\x11PackageOccurrence\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x03\x12&\n\x08location\x18\x02 \x03(\x0b\x32\x14.grafeas.v1.Location\x12\x19\n\x0cpackage_type\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x07\x63pe_uri\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x33\n\x0c\x61rchitecture\x18\x05 \x01(\x0e\x32\x18.grafeas.v1.ArchitectureB\x03\xe0\x41\x03\x12$\n\x07license\x18\x06 \x01(\x0b\x32\x13.grafeas.v1.License\x12)\n\x07version\x18\x07 \x01(\x0b\x32\x13.grafeas.v1.VersionB\x03\xe0\x41\x03\"\xe0\x01\n\x07Version\x12\r\n\x05\x65poch\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08revision\x18\x03 \x01(\t\x12\x11\n\tinclusive\x18\x06 \x01(\x08\x12-\n\x04kind\x18\x04 \x01(\x0e\x32\x1f.grafeas.v1.Version.VersionKind\x12\x11\n\tfull_name\x18\x05 \x01(\t\"Q\n\x0bVersionKind\x12\x1c\n\x18VERSION_KIND_UNSPECIFIED\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x0b\n\x07MINIMUM\x10\x02\x12\x0b\n\x07MAXIMUM\x10\x03*>\n\x0c\x41rchitecture\x12\x1c\n\x18\x41RCHITECTURE_UNSPECIFIED\x10\x00\x12\x07\n\x03X86\x10\x01\x12\x07\n\x03X64\x10\x02\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.License", "grafeas/v1/common.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - Distribution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Distribution").msgclass - Location = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Location").msgclass - PackageNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.PackageNote").msgclass - PackageOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.PackageOccurrence").msgclass - Version = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Version").msgclass - Version::VersionKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Version.VersionKind").enummodule - Architecture = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Architecture").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb deleted file mode 100644 index a54799829606..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/provenance_pb.rb +++ /dev/null @@ -1,54 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/provenance.proto - -require 'google/protobuf' - -require 'google/protobuf/timestamp_pb' - - -descriptor_data = "\n\x1bgrafeas/v1/provenance.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x90\x04\n\x0f\x42uildProvenance\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12%\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x13.grafeas.v1.Command\x12-\n\x0f\x62uilt_artifacts\x18\x04 \x03(\x0b\x32\x14.grafeas.v1.Artifact\x12/\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x63reator\x18\x08 \x01(\t\x12\x10\n\x08logs_uri\x18\t \x01(\t\x12-\n\x11source_provenance\x18\n \x01(\x0b\x32\x12.grafeas.v1.Source\x12\x12\n\ntrigger_id\x18\x0b \x01(\t\x12\x44\n\rbuild_options\x18\x0c \x03(\x0b\x32-.grafeas.v1.BuildProvenance.BuildOptionsEntry\x12\x17\n\x0f\x62uilder_version\x18\r \x01(\t\x1a\x33\n\x11\x42uildOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x95\x02\n\x06Source\x12#\n\x1b\x61rtifact_storage_source_uri\x18\x01 \x01(\t\x12\x37\n\x0b\x66ile_hashes\x18\x02 \x03(\x0b\x32\".grafeas.v1.Source.FileHashesEntry\x12*\n\x07\x63ontext\x18\x03 \x01(\x0b\x32\x19.grafeas.v1.SourceContext\x12\x36\n\x13\x61\x64\x64itional_contexts\x18\x04 \x03(\x0b\x32\x19.grafeas.v1.SourceContext\x1aI\n\x0f\x46ileHashesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.grafeas.v1.FileHashes:\x02\x38\x01\"1\n\nFileHashes\x12#\n\tfile_hash\x18\x01 \x03(\x0b\x32\x10.grafeas.v1.Hash\"#\n\x04Hash\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"]\n\x07\x43ommand\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x65nv\x18\x02 \x03(\t\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\t\x12\x0b\n\x03\x64ir\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t\x12\x10\n\x08wait_for\x18\x06 \x03(\t\"7\n\x08\x41rtifact\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\r\n\x05names\x18\x03 \x03(\t\"\x9a\x02\n\rSourceContext\x12\x38\n\ncloud_repo\x18\x01 \x01(\x0b\x32\".grafeas.v1.CloudRepoSourceContextH\x00\x12\x31\n\x06gerrit\x18\x02 \x01(\x0b\x32\x1f.grafeas.v1.GerritSourceContextH\x00\x12+\n\x03git\x18\x03 \x01(\x0b\x32\x1c.grafeas.v1.GitSourceContextH\x00\x12\x35\n\x06labels\x18\x04 \x03(\x0b\x32%.grafeas.v1.SourceContext.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07\x63ontext\"\x8a\x01\n\x0c\x41liasContext\x12+\n\x04kind\x18\x01 \x01(\x0e\x32\x1d.grafeas.v1.AliasContext.Kind\x12\x0c\n\x04name\x18\x02 \x01(\t\"?\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\t\n\x05\x46IXED\x10\x01\x12\x0b\n\x07MOVABLE\x10\x02\x12\t\n\x05OTHER\x10\x04\"\x93\x01\n\x16\x43loudRepoSourceContext\x12#\n\x07repo_id\x18\x01 \x01(\x0b\x32\x12.grafeas.v1.RepoId\x12\x15\n\x0brevision_id\x18\x02 \x01(\tH\x00\x12\x31\n\ralias_context\x18\x03 \x01(\x0b\x32\x18.grafeas.v1.AliasContextH\x00\x42\n\n\x08revision\"\x95\x01\n\x13GerritSourceContext\x12\x10\n\x08host_uri\x18\x01 \x01(\t\x12\x16\n\x0egerrit_project\x18\x02 \x01(\t\x12\x15\n\x0brevision_id\x18\x03 \x01(\tH\x00\x12\x31\n\ralias_context\x18\x04 \x01(\x0b\x32\x18.grafeas.v1.AliasContextH\x00\x42\n\n\x08revision\"4\n\x10GitSourceContext\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0brevision_id\x18\x02 \x01(\t\"S\n\x06RepoId\x12\x34\n\x0fproject_repo_id\x18\x01 \x01(\x0b\x32\x19.grafeas.v1.ProjectRepoIdH\x00\x12\r\n\x03uid\x18\x02 \x01(\tH\x00\x42\x04\n\x02id\"6\n\rProjectRepoId\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x11\n\trepo_name\x18\x02 \x01(\tBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - BuildProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.BuildProvenance").msgclass - Source = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Source").msgclass - FileHashes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.FileHashes").msgclass - Hash = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Hash").msgclass - Command = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Command").msgclass - Artifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Artifact").msgclass - SourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SourceContext").msgclass - AliasContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AliasContext").msgclass - AliasContext::Kind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.AliasContext.Kind").enummodule - CloudRepoSourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CloudRepoSourceContext").msgclass - GerritSourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GerritSourceContext").msgclass - GitSourceContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.GitSourceContext").msgclass - RepoId = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.RepoId").msgclass - ProjectRepoId = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ProjectRepoId").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb deleted file mode 100644 index 560d515ce84c..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/risk_pb.rb +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/risk.proto - -require 'google/protobuf' - - -descriptor_data = "\n\x15grafeas/v1/risk.proto\x12\ngrafeas.v1\"\x81\x01\n\x04Risk\x12?\n\x08\x63isa_kev\x18\x01 \x01(\x0b\x32-.grafeas.v1.CISAKnownExploitedVulnerabilities\x12\x38\n\x04\x65pss\x18\x02 \x01(\x0b\x32*.grafeas.v1.ExploitPredictionScoringSystem\"J\n!CISAKnownExploitedVulnerabilities\x12%\n\x1dknown_ransomware_campaign_use\x18\x01 \x01(\t\"C\n\x1e\x45xploitPredictionScoringSystem\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\r\n\x05score\x18\x02 \x01(\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - Risk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Risk").msgclass - CISAKnownExploitedVulnerabilities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.CISAKnownExploitedVulnerabilities").msgclass - ExploitPredictionScoringSystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.ExploitPredictionScoringSystem").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb deleted file mode 100644 index a835e2939dd1..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/sbom_pb.rb +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/sbom.proto - -require 'google/protobuf' - -require 'grafeas/v1/common_pb' -require 'grafeas/v1/intoto_statement_pb' - - -descriptor_data = "\n\x15grafeas/v1/sbom.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\x1a!grafeas/v1/intoto_statement.proto\"4\n\x11SBOMReferenceNote\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\x9b\x01\n\x17SBOMReferenceOccurrence\x12\x37\n\x07payload\x18\x01 \x01(\x0b\x32&.grafeas.v1.SbomReferenceIntotoPayload\x12\x14\n\x0cpayload_type\x18\x02 \x01(\t\x12\x31\n\nsignatures\x18\x03 \x03(\x0b\x32\x1d.grafeas.v1.EnvelopeSignature\"\xac\x01\n\x1aSbomReferenceIntotoPayload\x12\x13\n\x04type\x18\x01 \x01(\tR\x05_type\x12\x16\n\x0epredicate_type\x18\x02 \x01(\t\x12$\n\x07subject\x18\x03 \x03(\x0b\x32\x13.grafeas.v1.Subject\x12;\n\tpredicate\x18\x04 \x01(\x0b\x32(.grafeas.v1.SbomReferenceIntotoPredicate\"\xcd\x01\n\x1cSbomReferenceIntotoPredicate\x12\x13\n\x0breferrer_id\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x11\n\tmime_type\x18\x03 \x01(\t\x12\x44\n\x06\x64igest\x18\x04 \x03(\x0b\x32\x34.grafeas.v1.SbomReferenceIntotoPredicate.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.EnvelopeSignature", "grafeas/v1/common.proto"], - ["grafeas.v1.Subject", "grafeas/v1/intoto_statement.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - SBOMReferenceNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SBOMReferenceNote").msgclass - SBOMReferenceOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SBOMReferenceOccurrence").msgclass - SbomReferenceIntotoPayload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SbomReferenceIntotoPayload").msgclass - SbomReferenceIntotoPredicate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SbomReferenceIntotoPredicate").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb deleted file mode 100644 index 2ef1686a5c58..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/secret_pb.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/secret.proto - -require 'google/protobuf' - -require 'google/api/field_behavior_pb' -require 'google/protobuf/any_pb' -require 'google/protobuf/timestamp_pb' -require 'grafeas/v1/common_pb' - - -descriptor_data = "\n\x17grafeas/v1/secret.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17grafeas/v1/common.proto\"\x0c\n\nSecretNote\"\xea\x01\n\x10SecretOccurrence\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x16.grafeas.v1.SecretKindB\x03\xe0\x41\x02\x12\x32\n\tlocations\x18\x02 \x03(\x0b\x32\x1a.grafeas.v1.SecretLocationB\x03\xe0\x41\x01\x12/\n\x08statuses\x18\x03 \x03(\x0b\x32\x18.grafeas.v1.SecretStatusB\x03\xe0\x41\x01\x12\"\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x14.google.protobuf.Any\x12\"\n\x06\x64igest\x18\x05 \x01(\x0b\x32\x12.grafeas.v1.Digest\"O\n\x0eSecretLocation\x12\x31\n\rfile_location\x18\x01 \x01(\x0b\x32\x18.grafeas.v1.FileLocationH\x00\x42\n\n\x08location\"\xd7\x01\n\x0cSecretStatus\x12\x34\n\x06status\x18\x01 \x01(\x0e\x32\x1f.grafeas.v1.SecretStatus.StatusB\x03\xe0\x41\x01\x12\x34\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x14\n\x07message\x18\x03 \x01(\tB\x03\xe0\x41\x01\"E\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x0b\n\x07UNKNOWN\x10\x01\x12\t\n\x05VALID\x10\x02\x12\x0b\n\x07INVALID\x10\x03*\xa5\x07\n\nSecretKind\x12\x1b\n\x17SECRET_KIND_UNSPECIFIED\x10\x00\x12\x17\n\x13SECRET_KIND_UNKNOWN\x10\x01\x12\'\n#SECRET_KIND_GCP_SERVICE_ACCOUNT_KEY\x10\x02\x12\x1b\n\x17SECRET_KIND_GCP_API_KEY\x10\x03\x12-\n)SECRET_KIND_GCP_OAUTH2_CLIENT_CREDENTIALS\x10\x04\x12\'\n#SECRET_KIND_GCP_OAUTH2_ACCESS_TOKEN\x10\x05\x12\'\n#SECRET_KIND_ANTHROPIC_ADMIN_API_KEY\x10\x06\x12!\n\x1dSECRET_KIND_ANTHROPIC_API_KEY\x10\x07\x12\"\n\x1eSECRET_KIND_AZURE_ACCESS_TOKEN\x10\x08\x12$\n SECRET_KIND_AZURE_IDENTITY_TOKEN\x10\t\x12\x30\n,SECRET_KIND_DOCKER_HUB_PERSONAL_ACCESS_TOKEN\x10\n\x12(\n$SECRET_KIND_GITHUB_APP_REFRESH_TOKEN\x10\x0b\x12\x31\n-SECRET_KIND_GITHUB_APP_SERVER_TO_SERVER_TOKEN\x10\x0c\x12/\n+SECRET_KIND_GITHUB_APP_USER_TO_SERVER_TOKEN\x10\r\x12\x34\n0SECRET_KIND_GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN\x10\x0e\x12\x39\n5SECRET_KIND_GITHUB_FINE_GRAINED_PERSONAL_ACCESS_TOKEN\x10\x0f\x12\"\n\x1eSECRET_KIND_GITHUB_OAUTH_TOKEN\x10\x10\x12#\n\x1fSECRET_KIND_HUGGINGFACE_API_KEY\x10\x11\x12\x1e\n\x1aSECRET_KIND_OPENAI_API_KEY\x10\x12\x12\"\n\x1eSECRET_KIND_PERPLEXITY_API_KEY\x10\x13\x12!\n\x1dSECRET_KIND_STRIPE_SECRET_KEY\x10\x14\x12%\n!SECRET_KIND_STRIPE_RESTRICTED_KEY\x10\x15\x12%\n!SECRET_KIND_STRIPE_WEBHOOK_SECRET\x10\x16\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Any", "google/protobuf/any.proto"], - ["grafeas.v1.Digest", "grafeas/v1/common.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - SecretNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretNote").msgclass - SecretOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretOccurrence").msgclass - SecretLocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretLocation").msgclass - SecretStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretStatus").msgclass - SecretStatus::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretStatus.Status").enummodule - SecretKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SecretKind").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb deleted file mode 100644 index 581624828dfc..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/severity_pb.rb +++ /dev/null @@ -1,38 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/severity.proto - -require 'google/protobuf' - - -descriptor_data = "\n\x19grafeas/v1/severity.proto\x12\ngrafeas.v1*^\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0b\n\x07MINIMAL\x10\x01\x12\x07\n\x03LOW\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x08\n\x04HIGH\x10\x04\x12\x0c\n\x08\x43RITICAL\x10\x05\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.Severity").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb deleted file mode 100644 index 9f6a8544caed..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_pb.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/slsa_provenance.proto - -require 'google/protobuf' - -require 'google/protobuf/any_pb' -require 'google/protobuf/timestamp_pb' - - -descriptor_data = "\n grafeas/v1/slsa_provenance.proto\x12\ngrafeas.v1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xfe\x06\n\x0eSlsaProvenance\x12\x37\n\x07\x62uilder\x18\x01 \x01(\x0b\x32&.grafeas.v1.SlsaProvenance.SlsaBuilder\x12\x35\n\x06recipe\x18\x02 \x01(\x0b\x32%.grafeas.v1.SlsaProvenance.SlsaRecipe\x12\x39\n\x08metadata\x18\x03 \x01(\x0b\x32\'.grafeas.v1.SlsaProvenance.SlsaMetadata\x12\x36\n\tmaterials\x18\x04 \x03(\x0b\x32#.grafeas.v1.SlsaProvenance.Material\x1a\xa0\x01\n\nSlsaRecipe\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65\x66ined_in_material\x18\x02 \x01(\x03\x12\x13\n\x0b\x65ntry_point\x18\x03 \x01(\t\x12\'\n\targuments\x18\x04 \x01(\x0b\x32\x14.google.protobuf.Any\x12)\n\x0b\x65nvironment\x18\x05 \x01(\x0b\x32\x14.google.protobuf.Any\x1aM\n\x10SlsaCompleteness\x12\x11\n\targuments\x18\x01 \x01(\x08\x12\x13\n\x0b\x65nvironment\x18\x02 \x01(\x08\x12\x11\n\tmaterials\x18\x03 \x01(\x08\x1a\xf1\x01\n\x0cSlsaMetadata\x12\x1b\n\x13\x62uild_invocation_id\x18\x01 \x01(\t\x12\x34\n\x10\x62uild_started_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11\x62uild_finished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x0c\x63ompleteness\x18\x04 \x01(\x0b\x32+.grafeas.v1.SlsaProvenance.SlsaCompleteness\x12\x14\n\x0creproducible\x18\x05 \x01(\x08\x1a\x19\n\x0bSlsaBuilder\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x87\x01\n\x08Material\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12?\n\x06\x64igest\x18\x02 \x03(\x0b\x32/.grafeas.v1.SlsaProvenance.Material.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x66\n\rio.grafeas.v1B\x13SlsaProvenanceProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Any", "google/protobuf/any.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - SlsaProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance").msgclass - SlsaProvenance::SlsaRecipe = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaRecipe").msgclass - SlsaProvenance::SlsaCompleteness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaCompleteness").msgclass - SlsaProvenance::SlsaMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaMetadata").msgclass - SlsaProvenance::SlsaBuilder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.SlsaBuilder").msgclass - SlsaProvenance::Material = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenance.Material").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb deleted file mode 100644 index 68be63b6d3e5..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/slsa_provenance_zero_two_pb.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/slsa_provenance_zero_two.proto - -require 'google/protobuf' - -require 'google/protobuf/struct_pb' -require 'google/protobuf/timestamp_pb' - - -descriptor_data = "\n)grafeas/v1/slsa_provenance_zero_two.proto\x12\ngrafeas.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd3\t\n\x15SlsaProvenanceZeroTwo\x12>\n\x07\x62uilder\x18\x01 \x01(\x0b\x32-.grafeas.v1.SlsaProvenanceZeroTwo.SlsaBuilder\x12\x12\n\nbuild_type\x18\x02 \x01(\t\x12\x44\n\ninvocation\x18\x03 \x01(\x0b\x32\x30.grafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation\x12-\n\x0c\x62uild_config\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12@\n\x08metadata\x18\x05 \x01(\x0b\x32..grafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata\x12\x41\n\tmaterials\x18\x06 \x03(\x0b\x32..grafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial\x1a\x19\n\x0bSlsaBuilder\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x96\x01\n\x0cSlsaMaterial\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12J\n\x06\x64igest\x18\x02 \x03(\x0b\x32:.grafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial.DigestEntry\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xb6\x01\n\x0eSlsaInvocation\x12I\n\rconfig_source\x18\x01 \x01(\x0b\x32\x32.grafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource\x12+\n\nparameters\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0b\x65nvironment\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a\xb3\x01\n\x10SlsaConfigSource\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12N\n\x06\x64igest\x18\x02 \x03(\x0b\x32>.grafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource.DigestEntry\x12\x13\n\x0b\x65ntry_point\x18\x03 \x01(\t\x1a-\n\x0b\x44igestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xf8\x01\n\x0cSlsaMetadata\x12\x1b\n\x13\x62uild_invocation_id\x18\x01 \x01(\t\x12\x34\n\x10\x62uild_started_on\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11\x62uild_finished_on\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\x0c\x63ompleteness\x18\x04 \x01(\x0b\x32\x32.grafeas.v1.SlsaProvenanceZeroTwo.SlsaCompleteness\x12\x14\n\x0creproducible\x18\x05 \x01(\x08\x1aN\n\x10SlsaCompleteness\x12\x12\n\nparameters\x18\x01 \x01(\x08\x12\x13\n\x0b\x65nvironment\x18\x02 \x01(\x08\x12\x11\n\tmaterials\x18\x03 \x01(\x08\x42m\n\rio.grafeas.v1B\x1aSlsaProvenanceZeroTwoProtoP\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["google.protobuf.Struct", "google/protobuf/struct.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - SlsaProvenanceZeroTwo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo").msgclass - SlsaProvenanceZeroTwo::SlsaBuilder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaBuilder").msgclass - SlsaProvenanceZeroTwo::SlsaMaterial = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial").msgclass - SlsaProvenanceZeroTwo::SlsaInvocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation").msgclass - SlsaProvenanceZeroTwo::SlsaConfigSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource").msgclass - SlsaProvenanceZeroTwo::SlsaMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata").msgclass - SlsaProvenanceZeroTwo::SlsaCompleteness = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.SlsaProvenanceZeroTwo.SlsaCompleteness").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb deleted file mode 100644 index 181c4e4a9976..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/upgrade_pb.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/upgrade.proto - -require 'google/protobuf' - -require 'google/protobuf/timestamp_pb' -require 'grafeas/v1/package_pb' - - -descriptor_data = "\n\x18grafeas/v1/upgrade.proto\x12\ngrafeas.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18grafeas/v1/package.proto\"\xaf\x01\n\x0bUpgradeNote\x12\x0f\n\x07package\x18\x01 \x01(\t\x12$\n\x07version\x18\x02 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x36\n\rdistributions\x18\x03 \x03(\x0b\x32\x1f.grafeas.v1.UpgradeDistribution\x12\x31\n\x0ewindows_update\x18\x04 \x01(\x0b\x32\x19.grafeas.v1.WindowsUpdate\"]\n\x13UpgradeDistribution\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12\x16\n\x0e\x63lassification\x18\x02 \x01(\t\x12\x10\n\x08severity\x18\x03 \x01(\t\x12\x0b\n\x03\x63ve\x18\x04 \x03(\t\"\xec\x02\n\rWindowsUpdate\x12\x34\n\x08identity\x18\x01 \x01(\x0b\x32\".grafeas.v1.WindowsUpdate.Identity\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x36\n\ncategories\x18\x04 \x03(\x0b\x32\".grafeas.v1.WindowsUpdate.Category\x12\x16\n\x0ekb_article_ids\x18\x05 \x03(\t\x12\x13\n\x0bsupport_url\x18\x06 \x01(\t\x12<\n\x18last_published_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a/\n\x08Identity\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\x05\x1a-\n\x08\x43\x61tegory\x12\x13\n\x0b\x63\x61tegory_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xbb\x01\n\x11UpgradeOccurrence\x12\x0f\n\x07package\x18\x01 \x01(\t\x12+\n\x0eparsed_version\x18\x03 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x35\n\x0c\x64istribution\x18\x04 \x01(\x0b\x32\x1f.grafeas.v1.UpgradeDistribution\x12\x31\n\x0ewindows_update\x18\x05 \x01(\x0b\x32\x19.grafeas.v1.WindowsUpdateBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.Version", "grafeas/v1/package.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - UpgradeNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpgradeNote").msgclass - UpgradeDistribution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpgradeDistribution").msgclass - WindowsUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.WindowsUpdate").msgclass - WindowsUpdate::Identity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.WindowsUpdate.Identity").msgclass - WindowsUpdate::Category = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.WindowsUpdate.Category").msgclass - UpgradeOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.UpgradeOccurrence").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb deleted file mode 100644 index fa8f104cf044..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/version.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - VERSION = "0.0.1" - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb deleted file mode 100644 index 8ab200a0cd95..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vex_pb.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/vex.proto - -require 'google/protobuf' - -require 'grafeas/v1/common_pb' - - -descriptor_data = "\n\x14grafeas/v1/vex.proto\x12\ngrafeas.v1\x1a\x17grafeas/v1/common.proto\"\xc8\r\n\x1bVulnerabilityAssessmentNote\x12\r\n\x05title\x18\x01 \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x12\x15\n\rlanguage_code\x18\x04 \x01(\t\x12\x44\n\tpublisher\x18\x05 \x01(\x0b\x32\x31.grafeas.v1.VulnerabilityAssessmentNote.Publisher\x12@\n\x07product\x18\x06 \x01(\x0b\x32/.grafeas.v1.VulnerabilityAssessmentNote.Product\x12\x46\n\nassessment\x18\x07 \x01(\x0b\x32\x32.grafeas.v1.VulnerabilityAssessmentNote.Assessment\x1aQ\n\tPublisher\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x11issuing_authority\x18\x02 \x01(\t\x12\x1b\n\x13publisher_namespace\x18\x03 \x01(\t\x1aH\n\x07Product\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\x15\n\x0bgeneric_uri\x18\x03 \x01(\tH\x00\x42\x0c\n\nidentifier\x1a\xe0\t\n\nAssessment\x12\x0f\n\x03\x63ve\x18\x01 \x01(\tB\x02\x18\x01\x12\x18\n\x10vulnerability_id\x18\t \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x12,\n\x0crelated_uris\x18\x04 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12G\n\x05state\x18\x05 \x01(\x0e\x32\x38.grafeas.v1.VulnerabilityAssessmentNote.Assessment.State\x12\x0f\n\x07impacts\x18\x06 \x03(\t\x12W\n\rjustification\x18\x07 \x01(\x0b\x32@.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification\x12T\n\x0cremediations\x18\x08 \x03(\x0b\x32>.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation\x1a\x8c\x03\n\rJustification\x12n\n\x12justification_type\x18\x01 \x01(\x0e\x32R.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.JustificationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\"\xf9\x01\n\x11JustificationType\x12\"\n\x1eJUSTIFICATION_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43OMPONENT_NOT_PRESENT\x10\x01\x12\x1f\n\x1bVULNERABLE_CODE_NOT_PRESENT\x10\x02\x12\'\n#VULNERABLE_CODE_NOT_IN_EXECUTE_PATH\x10\x03\x12\x35\n1VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY\x10\x04\x12$\n INLINE_MITIGATIONS_ALREADY_EXIST\x10\x05\x1a\xc7\x02\n\x0bRemediation\x12h\n\x10remediation_type\x18\x01 \x01(\x0e\x32N.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12/\n\x0fremediation_uri\x18\x03 \x01(\x0b\x32\x16.grafeas.v1.RelatedUrl\"\x8b\x01\n\x0fRemediationType\x12 \n\x1cREMEDIATION_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nMITIGATION\x10\x01\x12\x12\n\x0eNO_FIX_PLANNED\x10\x02\x12\x12\n\x0eNONE_AVAILABLE\x10\x03\x12\x0e\n\nVENDOR_FIX\x10\x04\x12\x0e\n\nWORKAROUND\x10\x05\"b\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x41\x46\x46\x45\x43TED\x10\x01\x12\x10\n\x0cNOT_AFFECTED\x10\x02\x12\t\n\x05\x46IXED\x10\x03\x12\x17\n\x13UNDER_INVESTIGATION\x10\x04\x42Q\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.RelatedUrl", "grafeas/v1/common.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - VulnerabilityAssessmentNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote").msgclass - VulnerabilityAssessmentNote::Publisher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Publisher").msgclass - VulnerabilityAssessmentNote::Product = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Product").msgclass - VulnerabilityAssessmentNote::Assessment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment").msgclass - VulnerabilityAssessmentNote::Assessment::Justification = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification").msgclass - VulnerabilityAssessmentNote::Assessment::Justification::JustificationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.JustificationType").enummodule - VulnerabilityAssessmentNote::Assessment::Remediation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation").msgclass - VulnerabilityAssessmentNote::Assessment::Remediation::RemediationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType").enummodule - VulnerabilityAssessmentNote::Assessment::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityAssessmentNote.Assessment.State").enummodule - end -end diff --git a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb b/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb deleted file mode 100644 index b5ddffdd2082..000000000000 --- a/owl-bot-staging/grafeas-v1/lib/grafeas/v1/vulnerability_pb.rb +++ /dev/null @@ -1,59 +0,0 @@ -# frozen_string_literal: true -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: grafeas/v1/vulnerability.proto - -require 'google/protobuf' - -require 'google/api/field_behavior_pb' -require 'google/protobuf/timestamp_pb' -require 'grafeas/v1/common_pb' -require 'grafeas/v1/cvss_pb' -require 'grafeas/v1/package_pb' -require 'grafeas/v1/risk_pb' -require 'grafeas/v1/severity_pb' -require 'grafeas/v1/vex_pb' - - -descriptor_data = "\n\x1egrafeas/v1/vulnerability.proto\x12\ngrafeas.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17grafeas/v1/common.proto\x1a\x15grafeas/v1/cvss.proto\x1a\x18grafeas/v1/package.proto\x1a\x15grafeas/v1/risk.proto\x1a\x19grafeas/v1/severity.proto\x1a\x14grafeas/v1/vex.proto\"\xec\x07\n\x11VulnerabilityNote\x12\x12\n\ncvss_score\x18\x01 \x01(\x02\x12&\n\x08severity\x18\x02 \x01(\x0e\x32\x14.grafeas.v1.Severity\x12\x35\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32$.grafeas.v1.VulnerabilityNote.Detail\x12#\n\x07\x63vss_v3\x18\x04 \x01(\x0b\x32\x12.grafeas.v1.CVSSv3\x12\x44\n\x0fwindows_details\x18\x05 \x03(\x0b\x32+.grafeas.v1.VulnerabilityNote.WindowsDetail\x12\x36\n\x12source_update_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x0c\x63vss_version\x18\x07 \x01(\x0e\x32\x17.grafeas.v1.CVSSVersion\x12!\n\x07\x63vss_v2\x18\x08 \x01(\x0b\x32\x10.grafeas.v1.CVSS\x1a\xad\x03\n\x06\x44\x65tail\x12\x15\n\rseverity_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpackage_type\x18\x03 \x01(\t\x12\x18\n\x10\x61\x66\x66\x65\x63ted_cpe_uri\x18\x04 \x01(\t\x12\x18\n\x10\x61\x66\x66\x65\x63ted_package\x18\x05 \x01(\t\x12\x33\n\x16\x61\x66\x66\x65\x63ted_version_start\x18\x06 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x31\n\x14\x61\x66\x66\x65\x63ted_version_end\x18\x07 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x15\n\rfixed_cpe_uri\x18\x08 \x01(\t\x12\x15\n\rfixed_package\x18\t \x01(\t\x12*\n\rfixed_version\x18\n \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x13\n\x0bis_obsolete\x18\x0b \x01(\x08\x12\x36\n\x12source_update_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06source\x18\r \x01(\t\x12\x0e\n\x06vendor\x18\x0e \x01(\t\x1a\xbe\x01\n\rWindowsDetail\x12\x0f\n\x07\x63pe_uri\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12M\n\nfixing_kbs\x18\x04 \x03(\x0b\x32\x39.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase\x1a*\n\rKnowledgeBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"\xb8\n\n\x17VulnerabilityOccurrence\x12\x0c\n\x04type\x18\x01 \x01(\t\x12&\n\x08severity\x18\x02 \x01(\x0e\x32\x14.grafeas.v1.Severity\x12\x12\n\ncvss_score\x18\x03 \x01(\x02\x12 \n\x06\x63vssv3\x18\n \x01(\x0b\x32\x10.grafeas.v1.CVSS\x12G\n\rpackage_issue\x18\x04 \x03(\x0b\x32\x30.grafeas.v1.VulnerabilityOccurrence.PackageIssue\x12\x19\n\x11short_description\x18\x05 \x01(\t\x12\x18\n\x10long_description\x18\x06 \x01(\t\x12,\n\x0crelated_urls\x18\x07 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12\x30\n\x12\x65\x66\x66\x65\x63tive_severity\x18\x08 \x01(\x0e\x32\x14.grafeas.v1.Severity\x12\x15\n\rfix_available\x18\t \x01(\x08\x12-\n\x0c\x63vss_version\x18\x0b \x01(\x0e\x32\x17.grafeas.v1.CVSSVersion\x12!\n\x07\x63vss_v2\x18\x0c \x01(\x0b\x32\x10.grafeas.v1.CVSS\x12I\n\x0evex_assessment\x18\r \x01(\x0b\x32\x31.grafeas.v1.VulnerabilityOccurrence.VexAssessment\x12\x15\n\rextra_details\x18\x0e \x01(\t\x12\x1e\n\x04risk\x18\x0f \x01(\x0b\x32\x10.grafeas.v1.Risk\x1a\xe0\x02\n\x0cPackageIssue\x12\x18\n\x10\x61\x66\x66\x65\x63ted_cpe_uri\x18\x01 \x01(\t\x12\x18\n\x10\x61\x66\x66\x65\x63ted_package\x18\x02 \x01(\t\x12-\n\x10\x61\x66\x66\x65\x63ted_version\x18\x03 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x15\n\rfixed_cpe_uri\x18\x04 \x01(\t\x12\x15\n\rfixed_package\x18\x05 \x01(\t\x12*\n\rfixed_version\x18\x06 \x01(\x0b\x32\x13.grafeas.v1.Version\x12\x15\n\rfix_available\x18\x07 \x01(\x08\x12\x14\n\x0cpackage_type\x18\x08 \x01(\t\x12\x35\n\x12\x65\x66\x66\x65\x63tive_severity\x18\t \x01(\x0e\x32\x14.grafeas.v1.SeverityB\x03\xe0\x41\x03\x12/\n\rfile_location\x18\n \x03(\x0b\x32\x18.grafeas.v1.FileLocation\x1a\x84\x03\n\rVexAssessment\x12\x0f\n\x03\x63ve\x18\x01 \x01(\tB\x02\x18\x01\x12\x18\n\x10vulnerability_id\x18\x08 \x01(\t\x12,\n\x0crelated_uris\x18\x02 \x03(\x0b\x32\x16.grafeas.v1.RelatedUrl\x12\x11\n\tnote_name\x18\x03 \x01(\t\x12G\n\x05state\x18\x04 \x01(\x0e\x32\x38.grafeas.v1.VulnerabilityAssessmentNote.Assessment.State\x12\x0f\n\x07impacts\x18\x05 \x03(\t\x12T\n\x0cremediations\x18\x06 \x03(\x0b\x32>.grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation\x12W\n\rjustification\x18\x07 \x01(\x0b\x32@.grafeas.v1.VulnerabilityAssessmentNote.Assessment.JustificationBQ\n\rio.grafeas.v1P\x01Z8google.golang.org/genproto/googleapis/grafeas/v1;grafeas\xa2\x02\x03GRAb\x06proto3" - -pool = Google::Protobuf::DescriptorPool.generated_pool - -begin - pool.add_serialized_file(descriptor_data) -rescue TypeError - # Compatibility code: will be removed in the next major version. - require 'google/protobuf/descriptor_pb' - parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) - parsed.clear_dependency - serialized = parsed.class.encode(parsed) - file = pool.add_serialized_file(serialized) - warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" - imports = [ - ["grafeas.v1.CVSSv3", "grafeas/v1/cvss.proto"], - ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], - ["grafeas.v1.Version", "grafeas/v1/package.proto"], - ["grafeas.v1.RelatedUrl", "grafeas/v1/common.proto"], - ["grafeas.v1.Risk", "grafeas/v1/risk.proto"], - ["grafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation", "grafeas/v1/vex.proto"], - ] - imports.each do |type_name, expected_filename| - import_file = pool.lookup(type_name).file_descriptor - if import_file.name != expected_filename - warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" - end - end - warn "Each proto file must use a consistent fully-qualified name." - warn "This will become an error in the next major version." -end - -module Grafeas - module V1 - VulnerabilityNote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote").msgclass - VulnerabilityNote::Detail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote.Detail").msgclass - VulnerabilityNote::WindowsDetail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote.WindowsDetail").msgclass - VulnerabilityNote::WindowsDetail::KnowledgeBase = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase").msgclass - VulnerabilityOccurrence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityOccurrence").msgclass - VulnerabilityOccurrence::PackageIssue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityOccurrence.PackageIssue").msgclass - VulnerabilityOccurrence::VexAssessment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grafeas.v1.VulnerabilityOccurrence.VexAssessment").msgclass - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/README.md b/owl-bot-staging/grafeas-v1/proto_docs/README.md deleted file mode 100644 index 1117465c0da0..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Grafeas V1 Protocol Buffer Documentation - -These files are for the YARD documentation of the generated protobuf files. -They are not intended to be required or loaded at runtime. diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb deleted file mode 100644 index d59ba51a5612..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/api/client.rb +++ /dev/null @@ -1,473 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Api - # Required information for every language. - # @!attribute [rw] reference_docs_uri - # @deprecated This field is deprecated and may be removed in the next major version update. - # @return [::String] - # Link to automatically generated reference documentation. Example: - # https://cloud.google.com/nodejs/docs/reference/asset/latest - # @!attribute [rw] destinations - # @return [::Array<::Google::Api::ClientLibraryDestination>] - # The destination where API teams want this client library to be published. - # @!attribute [rw] selective_gapic_generation - # @return [::Google::Api::SelectiveGapicGeneration] - # Configuration for which RPCs should be generated in the GAPIC client. - class CommonLanguageSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Details about how and where to publish client libraries. - # @!attribute [rw] version - # @return [::String] - # Version of the API to apply these settings to. This is the full protobuf - # package for the API, ending in the version element. - # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1". - # @!attribute [rw] launch_stage - # @return [::Google::Api::LaunchStage] - # Launch stage of this version of the API. - # @!attribute [rw] rest_numeric_enums - # @return [::Boolean] - # When using transport=rest, the client request will encode enums as - # numbers rather than strings. - # @!attribute [rw] java_settings - # @return [::Google::Api::JavaSettings] - # Settings for legacy Java features, supported in the Service YAML. - # @!attribute [rw] cpp_settings - # @return [::Google::Api::CppSettings] - # Settings for C++ client libraries. - # @!attribute [rw] php_settings - # @return [::Google::Api::PhpSettings] - # Settings for PHP client libraries. - # @!attribute [rw] python_settings - # @return [::Google::Api::PythonSettings] - # Settings for Python client libraries. - # @!attribute [rw] node_settings - # @return [::Google::Api::NodeSettings] - # Settings for Node client libraries. - # @!attribute [rw] dotnet_settings - # @return [::Google::Api::DotnetSettings] - # Settings for .NET client libraries. - # @!attribute [rw] ruby_settings - # @return [::Google::Api::RubySettings] - # Settings for Ruby client libraries. - # @!attribute [rw] go_settings - # @return [::Google::Api::GoSettings] - # Settings for Go client libraries. - class ClientLibrarySettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # This message configures the settings for publishing [Google Cloud Client - # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) - # generated from the service config. - # @!attribute [rw] method_settings - # @return [::Array<::Google::Api::MethodSettings>] - # A list of API method settings, e.g. the behavior for methods that use the - # long-running operation pattern. - # @!attribute [rw] new_issue_uri - # @return [::String] - # Link to a *public* URI where users can report issues. Example: - # https://issuetracker.google.com/issues/new?component=190865&template=1161103 - # @!attribute [rw] documentation_uri - # @return [::String] - # Link to product home page. Example: - # https://cloud.google.com/asset-inventory/docs/overview - # @!attribute [rw] api_short_name - # @return [::String] - # Used as a tracking tag when collecting data about the APIs developer - # relations artifacts like docs, packages delivered to package managers, - # etc. Example: "speech". - # @!attribute [rw] github_label - # @return [::String] - # GitHub label to apply to issues and pull requests opened for this API. - # @!attribute [rw] codeowner_github_teams - # @return [::Array<::String>] - # GitHub teams to be added to CODEOWNERS in the directory in GitHub - # containing source code for the client libraries for this API. - # @!attribute [rw] doc_tag_prefix - # @return [::String] - # A prefix used in sample code when demarking regions to be included in - # documentation. - # @!attribute [rw] organization - # @return [::Google::Api::ClientLibraryOrganization] - # For whom the client library is being published. - # @!attribute [rw] library_settings - # @return [::Array<::Google::Api::ClientLibrarySettings>] - # Client library settings. If the same version string appears multiple - # times in this list, then the last one wins. Settings from earlier - # settings with the same version string are discarded. - # @!attribute [rw] proto_reference_documentation_uri - # @return [::String] - # Optional link to proto reference documentation. Example: - # https://cloud.google.com/pubsub/lite/docs/reference/rpc - # @!attribute [rw] rest_reference_documentation_uri - # @return [::String] - # Optional link to REST reference documentation. Example: - # https://cloud.google.com/pubsub/lite/docs/reference/rest - class Publishing - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Settings for Java client libraries. - # @!attribute [rw] library_package - # @return [::String] - # The package name to use in Java. Clobbers the java_package option - # set in the protobuf. This should be used **only** by APIs - # who have already set the language_settings.java.package_name" field - # in gapic.yaml. API teams should use the protobuf java_package option - # where possible. - # - # Example of a YAML configuration:: - # - # publishing: - # java_settings: - # library_package: com.google.cloud.pubsub.v1 - # @!attribute [rw] service_class_names - # @return [::Google::Protobuf::Map{::String => ::String}] - # Configure the Java class name to use instead of the service's for its - # corresponding generated GAPIC client. Keys are fully-qualified - # service names as they appear in the protobuf (including the full - # the language_settings.java.interface_names" field in gapic.yaml. API - # teams should otherwise use the service name as it appears in the - # protobuf. - # - # Example of a YAML configuration:: - # - # publishing: - # java_settings: - # service_class_names: - # - google.pubsub.v1.Publisher: TopicAdmin - # - google.pubsub.v1.Subscriber: SubscriptionAdmin - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - class JavaSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class ServiceClassNamesEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Settings for C++ client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - class CppSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Settings for Php client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - class PhpSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Settings for Python client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - # @!attribute [rw] experimental_features - # @return [::Google::Api::PythonSettings::ExperimentalFeatures] - # Experimental features to be included during client library generation. - class PythonSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Experimental features to be included during client library generation. - # These fields will be deprecated once the feature graduates and is enabled - # by default. - # @!attribute [rw] rest_async_io_enabled - # @return [::Boolean] - # Enables generation of asynchronous REST clients if `rest` transport is - # enabled. By default, asynchronous REST clients will not be generated. - # This feature will be enabled by default 1 month after launching the - # feature in preview packages. - # @!attribute [rw] protobuf_pythonic_types_enabled - # @return [::Boolean] - # Enables generation of protobuf code using new types that are more - # Pythonic which are included in `protobuf>=5.29.x`. This feature will be - # enabled by default 1 month after launching the feature in preview - # packages. - # @!attribute [rw] unversioned_package_disabled - # @return [::Boolean] - # Disables generation of an unversioned Python package for this client - # library. This means that the module names will need to be versioned in - # import statements. For example `import google.cloud.library_v2` instead - # of `import google.cloud.library`. - class ExperimentalFeatures - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Settings for Node client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - class NodeSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Settings for Dotnet client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - # @!attribute [rw] renamed_services - # @return [::Google::Protobuf::Map{::String => ::String}] - # Map from original service names to renamed versions. - # This is used when the default generated types - # would cause a naming conflict. (Neither name is - # fully-qualified.) - # Example: Subscriber to SubscriberServiceApi. - # @!attribute [rw] renamed_resources - # @return [::Google::Protobuf::Map{::String => ::String}] - # Map from full resource types to the effective short name - # for the resource. This is used when otherwise resource - # named from different services would cause naming collisions. - # Example entry: - # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" - # @!attribute [rw] ignored_resources - # @return [::Array<::String>] - # List of full resource types to ignore during generation. - # This is typically used for API-specific Location resources, - # which should be handled by the generator as if they were actually - # the common Location resources. - # Example entry: "documentai.googleapis.com/Location" - # @!attribute [rw] forced_namespace_aliases - # @return [::Array<::String>] - # Namespaces which must be aliased in snippets due to - # a known (but non-generator-predictable) naming collision - # @!attribute [rw] handwritten_signatures - # @return [::Array<::String>] - # Method signatures (in the form "service.method(signature)") - # which are provided separately, so shouldn't be generated. - # Snippets *calling* these methods are still generated, however. - class DotnetSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class RenamedServicesEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class RenamedResourcesEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Settings for Ruby client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - class RubySettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Settings for Go client libraries. - # @!attribute [rw] common - # @return [::Google::Api::CommonLanguageSettings] - # Some settings. - # @!attribute [rw] renamed_services - # @return [::Google::Protobuf::Map{::String => ::String}] - # Map of service names to renamed services. Keys are the package relative - # service names and values are the name to be used for the service client - # and call options. - # - # publishing: - # go_settings: - # renamed_services: - # Publisher: TopicAdmin - class GoSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class RenamedServicesEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Describes the generator configuration for a method. - # @!attribute [rw] selector - # @return [::String] - # The fully qualified name of the method, for which the options below apply. - # This is used to find the method to apply the options. - # - # Example: - # - # publishing: - # method_settings: - # - selector: google.storage.control.v2.StorageControl.CreateFolder - # # method settings for CreateFolder... - # @!attribute [rw] long_running - # @return [::Google::Api::MethodSettings::LongRunning] - # Describes settings to use for long-running operations when generating - # API methods for RPCs. Complements RPCs that use the annotations in - # google/longrunning/operations.proto. - # - # Example of a YAML configuration:: - # - # publishing: - # method_settings: - # - selector: google.cloud.speech.v2.Speech.BatchRecognize - # long_running: - # initial_poll_delay: 60s # 1 minute - # poll_delay_multiplier: 1.5 - # max_poll_delay: 360s # 6 minutes - # total_poll_timeout: 54000s # 90 minutes - # @!attribute [rw] auto_populated_fields - # @return [::Array<::String>] - # List of top-level fields of the request message, that should be - # automatically populated by the client libraries based on their - # (google.api.field_info).format. Currently supported format: UUID4. - # - # Example of a YAML configuration: - # - # publishing: - # method_settings: - # - selector: google.example.v1.ExampleService.CreateExample - # auto_populated_fields: - # - request_id - class MethodSettings - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Describes settings to use when generating API methods that use the - # long-running operation pattern. - # All default values below are from those used in the client library - # generators (e.g. - # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). - # @!attribute [rw] initial_poll_delay - # @return [::Google::Protobuf::Duration] - # Initial delay after which the first poll request will be made. - # Default value: 5 seconds. - # @!attribute [rw] poll_delay_multiplier - # @return [::Float] - # Multiplier to gradually increase delay between subsequent polls until it - # reaches max_poll_delay. - # Default value: 1.5. - # @!attribute [rw] max_poll_delay - # @return [::Google::Protobuf::Duration] - # Maximum time between two subsequent poll requests. - # Default value: 45 seconds. - # @!attribute [rw] total_poll_timeout - # @return [::Google::Protobuf::Duration] - # Total polling timeout. - # Default value: 5 minutes. - class LongRunning - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # This message is used to configure the generation of a subset of the RPCs in - # a service for client libraries. - # @!attribute [rw] methods - # @return [::Array<::String>] - # An allowlist of the fully qualified names of RPCs that should be included - # on public client surfaces. - # @!attribute [rw] generate_omitted_as_internal - # @return [::Boolean] - # Setting this to true indicates to the client generators that methods - # that would be excluded from the generation should instead be generated - # in a way that indicates these methods should not be consumed by - # end users. How this is expressed is up to individual language - # implementations to decide. Some examples may be: added annotations, - # obfuscated identifiers, or other language idiomatic patterns. - class SelectiveGapicGeneration - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The organization for which the client libraries are being published. - # Affects the url where generated docs are published, etc. - module ClientLibraryOrganization - # Not useful. - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0 - - # Google Cloud Platform Org. - CLOUD = 1 - - # Ads (Advertising) Org. - ADS = 2 - - # Photos Org. - PHOTOS = 3 - - # Street View Org. - STREET_VIEW = 4 - - # Shopping Org. - SHOPPING = 5 - - # Geo Org. - GEO = 6 - - # Generative AI - https://developers.generativeai.google - GENERATIVE_AI = 7 - end - - # To where should client libraries be published? - module ClientLibraryDestination - # Client libraries will neither be generated nor published to package - # managers. - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0 - - # Generate the client library in a repo under github.com/googleapis, - # but don't publish it to package managers. - GITHUB = 10 - - # Publish the library to package managers like nuget.org and npmjs.com. - PACKAGE_MANAGER = 20 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb deleted file mode 100644 index 582be187d115..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/api/field_behavior.rb +++ /dev/null @@ -1,85 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Api - # An indicator of the behavior of a given field (for example, that a field - # is required in requests, or given as output but ignored as input). - # This **does not** change the behavior in protocol buffers itself; it only - # denotes the behavior and may affect how API tooling handles the field. - # - # Note: This enum **may** receive new values in the future. - module FieldBehavior - # Conventional default for enums. Do not use this. - FIELD_BEHAVIOR_UNSPECIFIED = 0 - - # Specifically denotes a field as optional. - # While all fields in protocol buffers are optional, this may be specified - # for emphasis if appropriate. - OPTIONAL = 1 - - # Denotes a field as required. - # This indicates that the field **must** be provided as part of the request, - # and failure to do so will cause an error (usually `INVALID_ARGUMENT`). - REQUIRED = 2 - - # Denotes a field as output only. - # This indicates that the field is provided in responses, but including the - # field in a request does nothing (the server *must* ignore it and - # *must not* throw an error as a result of the field's presence). - OUTPUT_ONLY = 3 - - # Denotes a field as input only. - # This indicates that the field is provided in requests, and the - # corresponding field is not included in output. - INPUT_ONLY = 4 - - # Denotes a field as immutable. - # This indicates that the field may be set once in a request to create a - # resource, but may not be changed thereafter. - IMMUTABLE = 5 - - # Denotes that a (repeated) field is an unordered list. - # This indicates that the service may provide the elements of the list - # in any arbitrary order, rather than the order the user originally - # provided. Additionally, the list's order may or may not be stable. - UNORDERED_LIST = 6 - - # Denotes that this field returns a non-empty default value if not set. - # This indicates that if the user provides the empty value in a request, - # a non-empty value will be returned. The user will not be aware of what - # non-empty value to expect. - NON_EMPTY_DEFAULT = 7 - - # Denotes that the field in a resource (a message annotated with - # google.api.resource) is used in the resource name to uniquely identify the - # resource. For AIP-compliant APIs, this should only be applied to the - # `name` field on the resource. - # - # This behavior should not be applied to references to other resources within - # the message. - # - # The identifier field of resources often have different field behavior - # depending on the request it is embedded in (e.g. for Create methods name - # is optional and unused, while for Update methods it is required). Instead - # of method-specific annotations, only `IDENTIFIER` is required. - IDENTIFIER = 8 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb deleted file mode 100644 index 9392a413fb1b..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/api/launch_stage.rb +++ /dev/null @@ -1,71 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Api - # The launch stage as defined by [Google Cloud Platform - # Launch Stages](https://cloud.google.com/terms/launch-stages). - module LaunchStage - # Do not use this default value. - LAUNCH_STAGE_UNSPECIFIED = 0 - - # The feature is not yet implemented. Users can not use it. - UNIMPLEMENTED = 6 - - # Prelaunch features are hidden from users and are only visible internally. - PRELAUNCH = 7 - - # Early Access features are limited to a closed group of testers. To use - # these features, you must sign up in advance and sign a Trusted Tester - # agreement (which includes confidentiality provisions). These features may - # be unstable, changed in backward-incompatible ways, and are not - # guaranteed to be released. - EARLY_ACCESS = 1 - - # Alpha is a limited availability test for releases before they are cleared - # for widespread use. By Alpha, all significant design issues are resolved - # and we are in the process of verifying functionality. Alpha customers - # need to apply for access, agree to applicable terms, and have their - # projects allowlisted. Alpha releases don't have to be feature complete, - # no SLAs are provided, and there are no technical support obligations, but - # they will be far enough along that customers can actually use them in - # test environments or for limited-use tests -- just like they would in - # normal production cases. - ALPHA = 2 - - # Beta is the point at which we are ready to open a release for any - # customer to use. There are no SLA or technical support obligations in a - # Beta release. Products will be complete from a feature perspective, but - # may have some open outstanding issues. Beta releases are suitable for - # limited production use cases. - BETA = 3 - - # GA features are open to all developers and are considered stable and - # fully qualified for production use. - GA = 4 - - # Deprecated features are scheduled to be shut down and removed. For more - # information, see the "Deprecation Policy" section of our [Terms of - # Service](https://cloud.google.com/terms/) - # and the [Google Cloud Platform Subject to the Deprecation - # Policy](https://cloud.google.com/terms/deprecation) documentation. - DEPRECATED = 5 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb deleted file mode 100644 index 25dec4847ac1..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/api/resource.rb +++ /dev/null @@ -1,227 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Api - # A simple descriptor of a resource type. - # - # ResourceDescriptor annotates a resource message (either by means of a - # protobuf annotation or use in the service config), and associates the - # resource's schema, the resource type, and the pattern of the resource name. - # - # Example: - # - # message Topic { - # // Indicates this message defines a resource schema. - # // Declares the resource type in the format of {service}/{kind}. - # // For Kubernetes resources, the format is {api group}/{kind}. - # option (google.api.resource) = { - # type: "pubsub.googleapis.com/Topic" - # pattern: "projects/{project}/topics/{topic}" - # }; - # } - # - # The ResourceDescriptor Yaml config will look like: - # - # resources: - # - type: "pubsub.googleapis.com/Topic" - # pattern: "projects/{project}/topics/{topic}" - # - # Sometimes, resources have multiple patterns, typically because they can - # live under multiple parents. - # - # Example: - # - # message LogEntry { - # option (google.api.resource) = { - # type: "logging.googleapis.com/LogEntry" - # pattern: "projects/{project}/logs/{log}" - # pattern: "folders/{folder}/logs/{log}" - # pattern: "organizations/{organization}/logs/{log}" - # pattern: "billingAccounts/{billing_account}/logs/{log}" - # }; - # } - # - # The ResourceDescriptor Yaml config will look like: - # - # resources: - # - type: 'logging.googleapis.com/LogEntry' - # pattern: "projects/{project}/logs/{log}" - # pattern: "folders/{folder}/logs/{log}" - # pattern: "organizations/{organization}/logs/{log}" - # pattern: "billingAccounts/{billing_account}/logs/{log}" - # @!attribute [rw] type - # @return [::String] - # The resource type. It must be in the format of - # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be - # singular and must not include version numbers. - # - # Example: `storage.googleapis.com/Bucket` - # - # The value of the resource_type_kind must follow the regular expression - # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and - # should use PascalCase (UpperCamelCase). The maximum number of - # characters allowed for the `resource_type_kind` is 100. - # @!attribute [rw] pattern - # @return [::Array<::String>] - # Optional. The relative resource name pattern associated with this resource - # type. The DNS prefix of the full resource name shouldn't be specified here. - # - # The path pattern must follow the syntax, which aligns with HTTP binding - # syntax: - # - # Template = Segment { "/" Segment } ; - # Segment = LITERAL | Variable ; - # Variable = "{" LITERAL "}" ; - # - # Examples: - # - # - "projects/\\{project}/topics/\\{topic}" - # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}" - # - # The components in braces correspond to the IDs for each resource in the - # hierarchy. It is expected that, if multiple patterns are provided, - # the same component name (e.g. "project") refers to IDs of the same - # type of resource. - # @!attribute [rw] name_field - # @return [::String] - # Optional. The field on the resource that designates the resource name - # field. If omitted, this is assumed to be "name". - # @!attribute [rw] history - # @return [::Google::Api::ResourceDescriptor::History] - # Optional. The historical or future-looking state of the resource pattern. - # - # Example: - # - # // The InspectTemplate message originally only supported resource - # // names with organization, and project was added later. - # message InspectTemplate { - # option (google.api.resource) = { - # type: "dlp.googleapis.com/InspectTemplate" - # pattern: - # "organizations/{organization}/inspectTemplates/{inspect_template}" - # pattern: "projects/{project}/inspectTemplates/{inspect_template}" - # history: ORIGINALLY_SINGLE_PATTERN - # }; - # } - # @!attribute [rw] plural - # @return [::String] - # The plural name used in the resource name and permission names, such as - # 'projects' for the resource name of 'projects/\\{project}' and the permission - # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception - # to this is for Nested Collections that have stuttering names, as defined - # in [AIP-122](https://google.aip.dev/122#nested-collections), where the - # collection ID in the resource name pattern does not necessarily directly - # match the `plural` value. - # - # It is the same concept of the `plural` field in k8s CRD spec - # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ - # - # Note: The plural form is required even for singleton resources. See - # https://aip.dev/156 - # @!attribute [rw] singular - # @return [::String] - # The same concept of the `singular` field in k8s CRD spec - # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ - # Such as "project" for the `resourcemanager.googleapis.com/Project` type. - # @!attribute [rw] style - # @return [::Array<::Google::Api::ResourceDescriptor::Style>] - # Style flag(s) for this resource. - # These indicate that a resource is expected to conform to a given - # style. See the specific style flags for additional information. - class ResourceDescriptor - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # A description of the historical or future-looking state of the - # resource pattern. - module History - # The "unset" value. - HISTORY_UNSPECIFIED = 0 - - # The resource originally had one pattern and launched as such, and - # additional patterns were added later. - ORIGINALLY_SINGLE_PATTERN = 1 - - # The resource has one pattern, but the API owner expects to add more - # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents - # that from being necessary once there are multiple patterns.) - FUTURE_MULTI_PATTERN = 2 - end - - # A flag representing a specific style that a resource claims to conform to. - module Style - # The unspecified value. Do not use. - STYLE_UNSPECIFIED = 0 - - # This resource is intended to be "declarative-friendly". - # - # Declarative-friendly resources must be more strictly consistent, and - # setting this to true communicates to tools that this resource should - # adhere to declarative-friendly expectations. - # - # Note: This is used by the API linter (linter.aip.dev) to enable - # additional checks. - DECLARATIVE_FRIENDLY = 1 - end - end - - # Defines a proto annotation that describes a string field that refers to - # an API resource. - # @!attribute [rw] type - # @return [::String] - # The resource type that the annotated field references. - # - # Example: - # - # message Subscription { - # string topic = 2 [(google.api.resource_reference) = { - # type: "pubsub.googleapis.com/Topic" - # }]; - # } - # - # Occasionally, a field may reference an arbitrary resource. In this case, - # APIs use the special value * in their resource reference. - # - # Example: - # - # message GetIamPolicyRequest { - # string resource = 2 [(google.api.resource_reference) = { - # type: "*" - # }]; - # } - # @!attribute [rw] child_type - # @return [::String] - # The resource type of a child collection that the annotated field - # references. This is useful for annotating the `parent` field that - # doesn't have a fixed resource type. - # - # Example: - # - # message ListLogEntriesRequest { - # string parent = 1 [(google.api.resource_reference) = { - # child_type: "logging.googleapis.com/LogEntry" - # }; - # } - class ResourceReference - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb deleted file mode 100644 index 58691995f02e..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/any.rb +++ /dev/null @@ -1,145 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Protobuf - # `Any` contains an arbitrary serialized protocol buffer message along with a - # URL that describes the type of the serialized message. - # - # Protobuf library provides support to pack/unpack Any values in the form - # of utility functions or additional generated methods of the Any type. - # - # Example 1: Pack and unpack a message in C++. - # - # Foo foo = ...; - # Any any; - # any.PackFrom(foo); - # ... - # if (any.UnpackTo(&foo)) { - # ... - # } - # - # Example 2: Pack and unpack a message in Java. - # - # Foo foo = ...; - # Any any = Any.pack(foo); - # ... - # if (any.is(Foo.class)) { - # foo = any.unpack(Foo.class); - # } - # // or ... - # if (any.isSameTypeAs(Foo.getDefaultInstance())) { - # foo = any.unpack(Foo.getDefaultInstance()); - # } - # - # Example 3: Pack and unpack a message in Python. - # - # foo = Foo(...) - # any = Any() - # any.Pack(foo) - # ... - # if any.Is(Foo.DESCRIPTOR): - # any.Unpack(foo) - # ... - # - # Example 4: Pack and unpack a message in Go - # - # foo := &pb.Foo{...} - # any, err := anypb.New(foo) - # if err != nil { - # ... - # } - # ... - # foo := &pb.Foo{} - # if err := any.UnmarshalTo(foo); err != nil { - # ... - # } - # - # The pack methods provided by protobuf library will by default use - # 'type.googleapis.com/full.type.name' as the type URL and the unpack - # methods only use the fully qualified type name after the last '/' - # in the type URL, for example "foo.bar.com/x/y.z" will yield type - # name "y.z". - # - # JSON - # ==== - # The JSON representation of an `Any` value uses the regular - # representation of the deserialized, embedded message, with an - # additional field `@type` which contains the type URL. Example: - # - # package google.profile; - # message Person { - # string first_name = 1; - # string last_name = 2; - # } - # - # { - # "@type": "type.googleapis.com/google.profile.Person", - # "firstName": , - # "lastName": - # } - # - # If the embedded message type is well-known and has a custom JSON - # representation, that representation will be embedded adding a field - # `value` which holds the custom JSON in addition to the `@type` - # field. Example (for message [google.protobuf.Duration][]): - # - # { - # "@type": "type.googleapis.com/google.protobuf.Duration", - # "value": "1.212s" - # } - # @!attribute [rw] type_url - # @return [::String] - # A URL/resource name that uniquely identifies the type of the serialized - # protocol buffer message. This string must contain at least - # one "/" character. The last segment of the URL's path must represent - # the fully qualified name of the type (as in - # `path/google.protobuf.Duration`). The name should be in a canonical form - # (e.g., leading "." is not accepted). - # - # In practice, teams usually precompile into the binary all types that they - # expect it to use in the context of Any. However, for URLs which use the - # scheme `http`, `https`, or no scheme, one can optionally set up a type - # server that maps type URLs to message definitions as follows: - # - # * If no scheme is provided, `https` is assumed. - # * An HTTP GET on the URL must yield a [google.protobuf.Type][] - # value in binary format, or produce an error. - # * Applications are allowed to cache lookup results based on the - # URL, or have them precompiled into a binary to avoid any - # lookup. Therefore, binary compatibility needs to be preserved - # on changes to types. (Use versioned type names to manage - # breaking changes.) - # - # Note: this functionality is not currently available in the official - # protobuf release, and it is not used for type URLs beginning with - # type.googleapis.com. As of May 2023, there are no widely used type server - # implementations and no plans to implement one. - # - # Schemes other than `http`, `https` (or the empty scheme) might be - # used with implementation specific semantics. - # @!attribute [rw] value - # @return [::String] - # Must be a valid serialized protocol buffer of the above specified type. - class Any - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb deleted file mode 100644 index ea59f1f91daf..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/duration.rb +++ /dev/null @@ -1,98 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Protobuf - # A Duration represents a signed, fixed-length span of time represented - # as a count of seconds and fractions of seconds at nanosecond - # resolution. It is independent of any calendar and concepts like "day" - # or "month". It is related to Timestamp in that the difference between - # two Timestamp values is a Duration and it can be added or subtracted - # from a Timestamp. Range is approximately +-10,000 years. - # - # # Examples - # - # Example 1: Compute Duration from two Timestamps in pseudo code. - # - # Timestamp start = ...; - # Timestamp end = ...; - # Duration duration = ...; - # - # duration.seconds = end.seconds - start.seconds; - # duration.nanos = end.nanos - start.nanos; - # - # if (duration.seconds < 0 && duration.nanos > 0) { - # duration.seconds += 1; - # duration.nanos -= 1000000000; - # } else if (duration.seconds > 0 && duration.nanos < 0) { - # duration.seconds -= 1; - # duration.nanos += 1000000000; - # } - # - # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. - # - # Timestamp start = ...; - # Duration duration = ...; - # Timestamp end = ...; - # - # end.seconds = start.seconds + duration.seconds; - # end.nanos = start.nanos + duration.nanos; - # - # if (end.nanos < 0) { - # end.seconds -= 1; - # end.nanos += 1000000000; - # } else if (end.nanos >= 1000000000) { - # end.seconds += 1; - # end.nanos -= 1000000000; - # } - # - # Example 3: Compute Duration from datetime.timedelta in Python. - # - # td = datetime.timedelta(days=3, minutes=10) - # duration = Duration() - # duration.FromTimedelta(td) - # - # # JSON Mapping - # - # In JSON format, the Duration type is encoded as a string rather than an - # object, where the string ends in the suffix "s" (indicating seconds) and - # is preceded by the number of seconds, with nanoseconds expressed as - # fractional seconds. For example, 3 seconds with 0 nanoseconds should be - # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should - # be expressed in JSON format as "3.000000001s", and 3 seconds and 1 - # microsecond should be expressed in JSON format as "3.000001s". - # @!attribute [rw] seconds - # @return [::Integer] - # Signed seconds of the span of time. Must be from -315,576,000,000 - # to +315,576,000,000 inclusive. Note: these bounds are computed from: - # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - # @!attribute [rw] nanos - # @return [::Integer] - # Signed fractions of a second at nanosecond resolution of the span - # of time. Durations less than one second are represented with a 0 - # `seconds` field and a positive or negative `nanos` field. For durations - # of one second or more, a non-zero value for the `nanos` field must be - # of the same sign as the `seconds` field. Must be from -999,999,999 - # to +999,999,999 inclusive. - class Duration - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb deleted file mode 100644 index 83e4481834a6..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/empty.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Protobuf - # A generic empty message that you can re-use to avoid defining duplicated - # empty messages in your APIs. A typical example is to use it as the request - # or the response type of an API method. For instance: - # - # service Foo { - # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - # } - class Empty - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb deleted file mode 100644 index 7f3ffc78601a..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/field_mask.rb +++ /dev/null @@ -1,229 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Protobuf - # `FieldMask` represents a set of symbolic field paths, for example: - # - # paths: "f.a" - # paths: "f.b.d" - # - # Here `f` represents a field in some root message, `a` and `b` - # fields in the message found in `f`, and `d` a field found in the - # message in `f.b`. - # - # Field masks are used to specify a subset of fields that should be - # returned by a get operation or modified by an update operation. - # Field masks also have a custom JSON encoding (see below). - # - # # Field Masks in Projections - # - # When used in the context of a projection, a response message or - # sub-message is filtered by the API to only contain those fields as - # specified in the mask. For example, if the mask in the previous - # example is applied to a response message as follows: - # - # f { - # a : 22 - # b { - # d : 1 - # x : 2 - # } - # y : 13 - # } - # z: 8 - # - # The result will not contain specific values for fields x,y and z - # (their value will be set to the default, and omitted in proto text - # output): - # - # - # f { - # a : 22 - # b { - # d : 1 - # } - # } - # - # A repeated field is not allowed except at the last position of a - # paths string. - # - # If a FieldMask object is not present in a get operation, the - # operation applies to all fields (as if a FieldMask of all fields - # had been specified). - # - # Note that a field mask does not necessarily apply to the - # top-level response message. In case of a REST get operation, the - # field mask applies directly to the response, but in case of a REST - # list operation, the mask instead applies to each individual message - # in the returned resource list. In case of a REST custom method, - # other definitions may be used. Where the mask applies will be - # clearly documented together with its declaration in the API. In - # any case, the effect on the returned resource/resources is required - # behavior for APIs. - # - # # Field Masks in Update Operations - # - # A field mask in update operations specifies which fields of the - # targeted resource are going to be updated. The API is required - # to only change the values of the fields as specified in the mask - # and leave the others untouched. If a resource is passed in to - # describe the updated values, the API ignores the values of all - # fields not covered by the mask. - # - # If a repeated field is specified for an update operation, new values will - # be appended to the existing repeated field in the target resource. Note that - # a repeated field is only allowed in the last position of a `paths` string. - # - # If a sub-message is specified in the last position of the field mask for an - # update operation, then new value will be merged into the existing sub-message - # in the target resource. - # - # For example, given the target message: - # - # f { - # b { - # d: 1 - # x: 2 - # } - # c: [1] - # } - # - # And an update message: - # - # f { - # b { - # d: 10 - # } - # c: [2] - # } - # - # then if the field mask is: - # - # paths: ["f.b", "f.c"] - # - # then the result will be: - # - # f { - # b { - # d: 10 - # x: 2 - # } - # c: [1, 2] - # } - # - # An implementation may provide options to override this default behavior for - # repeated and message fields. - # - # In order to reset a field's value to the default, the field must - # be in the mask and set to the default value in the provided resource. - # Hence, in order to reset all fields of a resource, provide a default - # instance of the resource and set all fields in the mask, or do - # not provide a mask as described below. - # - # If a field mask is not present on update, the operation applies to - # all fields (as if a field mask of all fields has been specified). - # Note that in the presence of schema evolution, this may mean that - # fields the client does not know and has therefore not filled into - # the request will be reset to their default. If this is unwanted - # behavior, a specific service may require a client to always specify - # a field mask, producing an error if not. - # - # As with get operations, the location of the resource which - # describes the updated values in the request message depends on the - # operation kind. In any case, the effect of the field mask is - # required to be honored by the API. - # - # ## Considerations for HTTP REST - # - # The HTTP kind of an update operation which uses a field mask must - # be set to PATCH instead of PUT in order to satisfy HTTP semantics - # (PUT must only be used for full updates). - # - # # JSON Encoding of Field Masks - # - # In JSON, a field mask is encoded as a single string where paths are - # separated by a comma. Fields name in each path are converted - # to/from lower-camel naming conventions. - # - # As an example, consider the following message declarations: - # - # message Profile { - # User user = 1; - # Photo photo = 2; - # } - # message User { - # string display_name = 1; - # string address = 2; - # } - # - # In proto a field mask for `Profile` may look as such: - # - # mask { - # paths: "user.display_name" - # paths: "photo" - # } - # - # In JSON, the same mask is represented as below: - # - # { - # mask: "user.displayName,photo" - # } - # - # # Field Masks and Oneof Fields - # - # Field masks treat fields in oneofs just as regular fields. Consider the - # following message: - # - # message SampleMessage { - # oneof test_oneof { - # string name = 4; - # SubMessage sub_message = 9; - # } - # } - # - # The field mask can be: - # - # mask { - # paths: "name" - # } - # - # Or: - # - # mask { - # paths: "sub_message" - # } - # - # Note that oneof type names ("test_oneof" in this case) cannot be used in - # paths. - # - # ## Field Mask Verification - # - # The implementation of any API method which has a FieldMask type field in the - # request should verify the included field paths, and return an - # `INVALID_ARGUMENT` error if any path is unmappable. - # @!attribute [rw] paths - # @return [::Array<::String>] - # The set of field mask paths. - class FieldMask - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb deleted file mode 100644 index 39e1aca868d2..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/struct.rb +++ /dev/null @@ -1,108 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Protobuf - # `Struct` represents a structured data value, consisting of fields - # which map to dynamically typed values. In some languages, `Struct` - # might be supported by a native representation. For example, in - # scripting languages like JS a struct is represented as an - # object. The details of that representation are described together - # with the proto support for the language. - # - # The JSON representation for `Struct` is JSON object. - # @!attribute [rw] fields - # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}] - # Unordered map of dynamically typed values. - class Struct - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::Google::Protobuf::Value] - class FieldsEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # `Value` represents a dynamically typed value which can be either - # null, a number, a string, a boolean, a recursive struct value, or a - # list of values. A producer of value is expected to set one of these - # variants. Absence of any variant indicates an error. - # - # The JSON representation for `Value` is JSON value. - # @!attribute [rw] null_value - # @return [::Google::Protobuf::NullValue] - # Represents a null value. - # - # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] number_value - # @return [::Float] - # Represents a double value. - # - # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] string_value - # @return [::String] - # Represents a string value. - # - # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] bool_value - # @return [::Boolean] - # Represents a boolean value. - # - # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] struct_value - # @return [::Google::Protobuf::Struct] - # Represents a structured value. - # - # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] list_value - # @return [::Google::Protobuf::ListValue] - # Represents a repeated `Value`. - # - # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared. - class Value - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # `ListValue` is a wrapper around a repeated field of values. - # - # The JSON representation for `ListValue` is JSON array. - # @!attribute [rw] values - # @return [::Array<::Google::Protobuf::Value>] - # Repeated field of dynamically typed values. - class ListValue - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # `NullValue` is a singleton enumeration to represent the null value for the - # `Value` type union. - # - # The JSON representation for `NullValue` is JSON `null`. - module NullValue - # Null value. - NULL_VALUE = 0 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb deleted file mode 100644 index 74352be9c58c..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/protobuf/timestamp.rb +++ /dev/null @@ -1,127 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Protobuf - # A Timestamp represents a point in time independent of any time zone or local - # calendar, encoded as a count of seconds and fractions of seconds at - # nanosecond resolution. The count is relative to an epoch at UTC midnight on - # January 1, 1970, in the proleptic Gregorian calendar which extends the - # Gregorian calendar backwards to year one. - # - # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - # second table is needed for interpretation, using a [24-hour linear - # smear](https://developers.google.com/time/smear). - # - # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - # restricting to that range, we ensure that we can convert to and from [RFC - # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - # - # # Examples - # - # Example 1: Compute Timestamp from POSIX `time()`. - # - # Timestamp timestamp; - # timestamp.set_seconds(time(NULL)); - # timestamp.set_nanos(0); - # - # Example 2: Compute Timestamp from POSIX `gettimeofday()`. - # - # struct timeval tv; - # gettimeofday(&tv, NULL); - # - # Timestamp timestamp; - # timestamp.set_seconds(tv.tv_sec); - # timestamp.set_nanos(tv.tv_usec * 1000); - # - # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - # - # FILETIME ft; - # GetSystemTimeAsFileTime(&ft); - # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - # - # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - # Timestamp timestamp; - # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - # - # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - # - # long millis = System.currentTimeMillis(); - # - # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - # .setNanos((int) ((millis % 1000) * 1000000)).build(); - # - # Example 5: Compute Timestamp from Java `Instant.now()`. - # - # Instant now = Instant.now(); - # - # Timestamp timestamp = - # Timestamp.newBuilder().setSeconds(now.getEpochSecond()) - # .setNanos(now.getNano()).build(); - # - # Example 6: Compute Timestamp from current time in Python. - # - # timestamp = Timestamp() - # timestamp.GetCurrentTime() - # - # # JSON Mapping - # - # In JSON format, the Timestamp type is encoded as a string in the - # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z" - # where \\{year} is always expressed using four digits while \\{month}, \\{day}, - # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional - # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - # is required. A proto3 JSON serializer should always use UTC (as indicated by - # "Z") when printing the Timestamp type and a proto3 JSON parser should be - # able to accept both UTC and other timezones (as indicated by an offset). - # - # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - # 01:30 UTC on January 15, 2017. - # - # In JavaScript, one can convert a Date object to this format using the - # standard - # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - # method. In Python, a standard `datetime.datetime` object can be converted - # to this format using - # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - # the Joda Time's [`ISODateTimeFormat.dateTime()`]( - # http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() - # ) to obtain a formatter capable of generating timestamps in this format. - # @!attribute [rw] seconds - # @return [::Integer] - # Represents seconds of UTC time since Unix epoch - # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - # 9999-12-31T23:59:59Z inclusive. - # @!attribute [rw] nanos - # @return [::Integer] - # Non-negative fractions of a second at nanosecond resolution. Negative - # second values with fractions must still have non-negative nanos values - # that count forward in time. Must be from 0 to 999,999,999 - # inclusive. - class Timestamp - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb b/owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb deleted file mode 100644 index c1a1c07eb2db..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/google/rpc/status.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Google - module Rpc - # The `Status` type defines a logical error model that is suitable for - # different programming environments, including REST APIs and RPC APIs. It is - # used by [gRPC](https://github.com/grpc). Each `Status` message contains - # three pieces of data: error code, error message, and error details. - # - # You can find out more about this error model and how to work with it in the - # [API Design Guide](https://cloud.google.com/apis/design/errors). - # @!attribute [rw] code - # @return [::Integer] - # The status code, which should be an enum value of - # [google.rpc.Code][google.rpc.Code]. - # @!attribute [rw] message - # @return [::String] - # A developer-facing error message, which should be in English. Any - # user-facing error message should be localized and sent in the - # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized - # by the client. - # @!attribute [rw] details - # @return [::Array<::Google::Protobuf::Any>] - # A list of messages that carry the error details. There is a common set of - # message types for APIs to use. - class Status - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb deleted file mode 100644 index 23895f01f033..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/attestation.rb +++ /dev/null @@ -1,98 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Note kind that represents a logical attestation "role" or "authority". For - # example, an organization might have one `Authority` for "QA" and one for - # "build". This note is intended to act strictly as a grouping mechanism for - # the attached occurrences (Attestations). This grouping mechanism also - # provides a security boundary, since IAM ACLs gate the ability for a principle - # to attach an occurrence to a given note. It also provides a single point of - # lookup to find all attached attestation occurrences, even if they don't all - # live in the same project. - # @!attribute [rw] hint - # @return [::Grafeas::V1::AttestationNote::Hint] - # Hint hints at the purpose of the attestation authority. - class AttestationNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # This submessage provides human-readable hints about the purpose of the - # authority. Because the name of a note acts as its resource reference, it is - # important to disambiguate the canonical name of the Note (which might be a - # UUID for security purposes) from "readable" names more suitable for debug - # output. Note that these hints should not be used to look up authorities in - # security sensitive contexts, such as when looking up attestations to - # verify. - # @!attribute [rw] human_readable_name - # @return [::String] - # Required. The human readable name of this attestation authority, for - # example "qa". - class Hint - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # @!attribute [rw] compact_jwt - # @return [::String] - # The compact encoding of a JWS, which is always three base64 encoded strings - # joined by periods. For details, see: - # https://tools.ietf.org/html/rfc7515.html#section-3.1 - class Jwt - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Occurrence that represents a single "attestation". The authenticity of an - # attestation can be verified using the attached signature. If the verifier - # trusts the public key of the signer, then verifying the signature is - # sufficient to establish trust. In this circumstance, the authority to which - # this attestation is attached is primarily useful for lookup (how to find - # this attestation if you already know the authority and artifact to be - # verified) and intent (for which authority this attestation was intended to - # sign. - # @!attribute [rw] serialized_payload - # @return [::String] - # Required. The serialized payload that is verified by one or more - # `signatures`. - # @!attribute [rw] signatures - # @return [::Array<::Grafeas::V1::Signature>] - # One or more signatures over `serialized_payload`. Verifier implementations - # should consider this attestation message verified if at least one - # `signature` verifies `serialized_payload`. See `Signature` in common.proto - # for more details on signature structure and verification. - # @!attribute [rw] jwts - # @return [::Array<::Grafeas::V1::Jwt>] - # One or more JWTs encoding a self-contained attestation. - # Each JWT encodes the payload that it verifies within the JWT itself. - # Verifier implementation SHOULD ignore the `serialized_payload` field - # when verifying these JWTs. - # If only JWTs are present on this AttestationOccurrence, then the - # `serialized_payload` SHOULD be left empty. - # Each JWT SHOULD encode a claim specific to the `resource_uri` of this - # Occurrence, but this is not validated by Grafeas metadata API - # implementations. The JWT itself is opaque to Grafeas. - class AttestationOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb deleted file mode 100644 index e82c88d57153..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/build.rb +++ /dev/null @@ -1,70 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Note holding the version of the provider's builder and the signature of the - # provenance message in the build details occurrence. - # @!attribute [rw] builder_version - # @return [::String] - # Required. Immutable. Version of the builder which produced this build. - class BuildNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Details of a build occurrence. - # @!attribute [rw] provenance - # @return [::Grafeas::V1::BuildProvenance] - # The actual provenance for the build. - # @!attribute [rw] provenance_bytes - # @return [::String] - # Serialized JSON representation of the provenance, used in generating the - # build signature in the corresponding build note. After verifying the - # signature, `provenance_bytes` can be unmarshalled and compared to the - # provenance to confirm that it is unchanged. A base64-encoded string - # representation of the provenance bytes is used for the signature in order - # to interoperate with openssl which expects this format for signature - # verification. - # - # The serialized form is captured both to avoid ambiguity in how the - # provenance is marshalled to json as well to prevent incompatibilities with - # future changes. - # @!attribute [rw] intoto_provenance - # @return [::Grafeas::V1::InTotoProvenance] - # Deprecated. See InTotoStatement for the replacement. - # In-toto Provenance representation as defined in spec. - # @!attribute [rw] intoto_statement - # @return [::Grafeas::V1::InTotoStatement] - # In-toto Statement representation as defined in spec. - # The intoto_statement can contain any type of provenance. The serialized - # payload of the statement can be stored and signed in the Occurrence's - # envelope. - # @!attribute [rw] in_toto_slsa_provenance_v1 - # @return [::Grafeas::V1::InTotoSlsaProvenanceV1] - # In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa - # spec, wrapped in an in-toto statement. This allows for direct - # jsonification of a to-spec in-toto slsa statement with a to-spec - # slsa provenance. - class BuildOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb deleted file mode 100644 index 948090fe2088..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/common.rb +++ /dev/null @@ -1,236 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Metadata for any related URL information. - # @!attribute [rw] url - # @return [::String] - # Specific URL associated with the resource. - # @!attribute [rw] label - # @return [::String] - # Label to describe usage of the URL. - class RelatedUrl - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Verifiers (e.g. Kritis implementations) MUST verify signatures - # with respect to the trust anchors defined in policy (e.g. a Kritis policy). - # Typically this means that the verifier has been configured with a map from - # `public_key_id` to public key material (and any required parameters, e.g. - # signing algorithm). - # - # In particular, verification implementations MUST NOT treat the signature - # `public_key_id` as anything more than a key lookup hint. The `public_key_id` - # DOES NOT validate or authenticate a public key; it only provides a mechanism - # for quickly selecting a public key ALREADY CONFIGURED on the verifier through - # a trusted channel. Verification implementations MUST reject signatures in any - # of the following circumstances: - # * The `public_key_id` is not recognized by the verifier. - # * The public key that `public_key_id` refers to does not verify the - # signature with respect to the payload. - # - # The `signature` contents SHOULD NOT be "attached" (where the payload is - # included with the serialized `signature` bytes). Verifiers MUST ignore any - # "attached" payload and only verify signatures with respect to explicitly - # provided payload (e.g. a `payload` field on the proto message that holds - # this Signature, or the canonical serialization of the proto message that - # holds this signature). - # @!attribute [rw] signature - # @return [::String] - # The content of the signature, an opaque bytestring. - # The payload that this signature verifies MUST be unambiguously provided - # with the Signature during verification. A wrapper message might provide - # the payload explicitly. Alternatively, a message might have a canonical - # serialization that can always be unambiguously computed to derive the - # payload. - # @!attribute [rw] public_key_id - # @return [::String] - # The identifier for the public key that verifies this signature. - # * The `public_key_id` is required. - # * The `public_key_id` SHOULD be an RFC3986 conformant URI. - # * When possible, the `public_key_id` SHOULD be an immutable reference, - # such as a cryptographic digest. - # - # Examples of valid `public_key_id`s: - # - # OpenPGP V4 public key fingerprint: - # * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" - # See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more - # details on this scheme. - # - # RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER - # serialization): - # * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" - # * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5" - class Signature - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # MUST match - # https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An - # authenticated message of arbitrary type. - # @!attribute [rw] payload - # @return [::String] - # @!attribute [rw] payload_type - # @return [::String] - # @!attribute [rw] signatures - # @return [::Array<::Grafeas::V1::EnvelopeSignature>] - class Envelope - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] sig - # @return [::String] - # @!attribute [rw] keyid - # @return [::String] - class EnvelopeSignature - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Indicates the location at which a package was found. - # @!attribute [rw] file_path - # @return [::String] - # For jars that are contained inside .war files, this filepath - # can indicate the path to war file combined with the path to jar file. - # @!attribute [rw] layer_details - # @return [::Grafeas::V1::LayerDetails] - # Each package found in a file should have its own layer metadata (that is, - # information from the origin layer of the package). - class FileLocation - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # BaseImage describes a base image of a container image. - # @!attribute [rw] name - # @return [::String] - # The name of the base image. - # @!attribute [rw] repository - # @return [::String] - # The repository name in which the base image is from. - # @!attribute [rw] layer_count - # @return [::Integer] - # The number of layers that the base image is composed of. - class BaseImage - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Details about the layer a package was found in. - # @!attribute [rw] index - # @return [::Integer] - # The index of the layer in the container image. - # @!attribute [rw] diff_id - # @return [::String] - # The diff ID (typically a sha256 hash) of the layer in the container image. - # @!attribute [rw] chain_id - # @return [::String] - # The layer chain ID (sha256 hash) of the layer in the container image. - # https://github.com/opencontainers/image-spec/blob/main/config.md#layer-chainid - # @!attribute [rw] command - # @return [::String] - # The layer build command that was used to build the layer. This may not be - # found in all layers depending on how the container image is built. - # @!attribute [rw] base_images - # @return [::Array<::Grafeas::V1::BaseImage>] - # The base images the layer is found within. - class LayerDetails - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # License information. - # @!attribute [rw] expression - # @return [::String] - # Often a single license can be used to represent the licensing terms. - # Sometimes it is necessary to include a choice of one or more licenses - # or some combination of license identifiers. - # Examples: "LGPL-2.1-only OR MIT", "LGPL-2.1-only AND MIT", - # "GPL-2.0-or-later WITH Bison-exception-2.2". - # @!attribute [rw] comments - # @return [::String] - # Comments - class License - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Digest information. - # @!attribute [rw] algo - # @return [::String] - # `SHA1`, `SHA512` etc. - # @!attribute [rw] digest_bytes - # @return [::String] - # Value of the digest. - class Digest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Kind represents the kinds of notes supported. - module NoteKind - # Default value. This value is unused. - NOTE_KIND_UNSPECIFIED = 0 - - # The note and occurrence represent a package vulnerability. - VULNERABILITY = 1 - - # The note and occurrence assert build provenance. - BUILD = 2 - - # This represents an image basis relationship. - IMAGE = 3 - - # This represents a package installed via a package manager. - PACKAGE = 4 - - # The note and occurrence track deployment events. - DEPLOYMENT = 5 - - # The note and occurrence track the initial discovery status of a resource. - DISCOVERY = 6 - - # This represents a logical "role" that can attest to artifacts. - ATTESTATION = 7 - - # This represents an available package upgrade. - UPGRADE = 8 - - # This represents a Compliance Note - COMPLIANCE = 9 - - # This represents a DSSE attestation Note - DSSE_ATTESTATION = 10 - - # This represents a Vulnerability Assessment. - VULNERABILITY_ASSESSMENT = 11 - - # This represents an SBOM Reference. - SBOM_REFERENCE = 12 - - # This represents a secret. - SECRET = 13 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb deleted file mode 100644 index 9c5f6037ecd1..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/compliance.rb +++ /dev/null @@ -1,107 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # @!attribute [rw] title - # @return [::String] - # The title that identifies this compliance check. - # @!attribute [rw] description - # @return [::String] - # A description about this compliance check. - # @!attribute [rw] version - # @return [::Array<::Grafeas::V1::ComplianceVersion>] - # The OS and config versions the benchmark applies to. - # @!attribute [rw] rationale - # @return [::String] - # A rationale for the existence of this compliance check. - # @!attribute [rw] remediation - # @return [::String] - # A description of remediation steps if the compliance check fails. - # @!attribute [rw] cis_benchmark - # @return [::Grafeas::V1::ComplianceNote::CisBenchmark] - # @!attribute [rw] scan_instructions - # @return [::String] - # Serialized scan instructions with a predefined format. - # @!attribute [rw] impact - # @return [::String] - class ComplianceNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # A compliance check that is a CIS benchmark. - # @!attribute [rw] profile_level - # @return [::Integer] - # @!attribute [rw] severity - # @return [::Grafeas::V1::Severity] - class CisBenchmark - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Describes the CIS benchmark version that is applicable to a given OS and - # os version. - # @!attribute [rw] cpe_uri - # @return [::String] - # The CPE URI (https://cpe.mitre.org/specification/) this benchmark is - # applicable to. - # @!attribute [rw] benchmark_document - # @return [::String] - # The name of the document that defines this benchmark, e.g. "CIS - # Container-Optimized OS". - # @!attribute [rw] version - # @return [::String] - # The version of the benchmark. This is set to the version of the OS-specific - # CIS document the benchmark is defined in. - class ComplianceVersion - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # An indication that the compliance checks in the associated ComplianceNote - # were not satisfied for particular resources or a specified reason. - # @!attribute [rw] non_compliant_files - # @return [::Array<::Grafeas::V1::NonCompliantFile>] - # @!attribute [rw] non_compliance_reason - # @return [::String] - # @!attribute [rw] version - # @return [::Grafeas::V1::ComplianceVersion] - # The OS and config version the benchmark was run on. - class ComplianceOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Details about files that caused a compliance check to fail. - # @!attribute [rw] path - # @return [::String] - # Empty if `display_command` is set. - # @!attribute [rw] display_command - # @return [::String] - # Command to display the non-compliant files. - # @!attribute [rw] reason - # @return [::String] - # Explains why a file is non compliant for a CIS check. - class NonCompliantFile - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb deleted file mode 100644 index 4f3b944949f3..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/cvss.rb +++ /dev/null @@ -1,229 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Common Vulnerability Scoring System version 3. - # For details, see https://www.first.org/cvss/specification-document - # @!attribute [rw] base_score - # @return [::Float] - # The base score is a function of the base metric scores. - # @!attribute [rw] exploitability_score - # @return [::Float] - # @!attribute [rw] impact_score - # @return [::Float] - # @!attribute [rw] attack_vector - # @return [::Grafeas::V1::CVSSv3::AttackVector] - # Base Metrics - # Represents the intrinsic characteristics of a vulnerability that are - # constant over time and across user environments. - # @!attribute [rw] attack_complexity - # @return [::Grafeas::V1::CVSSv3::AttackComplexity] - # @!attribute [rw] privileges_required - # @return [::Grafeas::V1::CVSSv3::PrivilegesRequired] - # @!attribute [rw] user_interaction - # @return [::Grafeas::V1::CVSSv3::UserInteraction] - # @!attribute [rw] scope - # @return [::Grafeas::V1::CVSSv3::Scope] - # @!attribute [rw] confidentiality_impact - # @return [::Grafeas::V1::CVSSv3::Impact] - # @!attribute [rw] integrity_impact - # @return [::Grafeas::V1::CVSSv3::Impact] - # @!attribute [rw] availability_impact - # @return [::Grafeas::V1::CVSSv3::Impact] - class CVSSv3 - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - module AttackVector - ATTACK_VECTOR_UNSPECIFIED = 0 - - ATTACK_VECTOR_NETWORK = 1 - - ATTACK_VECTOR_ADJACENT = 2 - - ATTACK_VECTOR_LOCAL = 3 - - ATTACK_VECTOR_PHYSICAL = 4 - end - - module AttackComplexity - ATTACK_COMPLEXITY_UNSPECIFIED = 0 - - ATTACK_COMPLEXITY_LOW = 1 - - ATTACK_COMPLEXITY_HIGH = 2 - end - - module PrivilegesRequired - PRIVILEGES_REQUIRED_UNSPECIFIED = 0 - - PRIVILEGES_REQUIRED_NONE = 1 - - PRIVILEGES_REQUIRED_LOW = 2 - - PRIVILEGES_REQUIRED_HIGH = 3 - end - - module UserInteraction - USER_INTERACTION_UNSPECIFIED = 0 - - USER_INTERACTION_NONE = 1 - - USER_INTERACTION_REQUIRED = 2 - end - - module Scope - SCOPE_UNSPECIFIED = 0 - - SCOPE_UNCHANGED = 1 - - SCOPE_CHANGED = 2 - end - - module Impact - IMPACT_UNSPECIFIED = 0 - - IMPACT_HIGH = 1 - - IMPACT_LOW = 2 - - IMPACT_NONE = 3 - end - end - - # Common Vulnerability Scoring System. - # For details, see https://www.first.org/cvss/specification-document - # This is a message we will try to use for storing various versions of CVSS - # rather than making a separate proto for storing a specific version. - # @!attribute [rw] base_score - # @return [::Float] - # The base score is a function of the base metric scores. - # @!attribute [rw] exploitability_score - # @return [::Float] - # @!attribute [rw] impact_score - # @return [::Float] - # @!attribute [rw] attack_vector - # @return [::Grafeas::V1::CVSS::AttackVector] - # Base Metrics - # Represents the intrinsic characteristics of a vulnerability that are - # constant over time and across user environments. - # @!attribute [rw] attack_complexity - # @return [::Grafeas::V1::CVSS::AttackComplexity] - # @!attribute [rw] authentication - # @return [::Grafeas::V1::CVSS::Authentication] - # @!attribute [rw] privileges_required - # @return [::Grafeas::V1::CVSS::PrivilegesRequired] - # @!attribute [rw] user_interaction - # @return [::Grafeas::V1::CVSS::UserInteraction] - # @!attribute [rw] scope - # @return [::Grafeas::V1::CVSS::Scope] - # @!attribute [rw] confidentiality_impact - # @return [::Grafeas::V1::CVSS::Impact] - # @!attribute [rw] integrity_impact - # @return [::Grafeas::V1::CVSS::Impact] - # @!attribute [rw] availability_impact - # @return [::Grafeas::V1::CVSS::Impact] - class CVSS - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - module AttackVector - ATTACK_VECTOR_UNSPECIFIED = 0 - - ATTACK_VECTOR_NETWORK = 1 - - ATTACK_VECTOR_ADJACENT = 2 - - ATTACK_VECTOR_LOCAL = 3 - - ATTACK_VECTOR_PHYSICAL = 4 - end - - module AttackComplexity - ATTACK_COMPLEXITY_UNSPECIFIED = 0 - - ATTACK_COMPLEXITY_LOW = 1 - - ATTACK_COMPLEXITY_HIGH = 2 - - ATTACK_COMPLEXITY_MEDIUM = 3 - end - - module Authentication - AUTHENTICATION_UNSPECIFIED = 0 - - AUTHENTICATION_MULTIPLE = 1 - - AUTHENTICATION_SINGLE = 2 - - AUTHENTICATION_NONE = 3 - end - - module PrivilegesRequired - PRIVILEGES_REQUIRED_UNSPECIFIED = 0 - - PRIVILEGES_REQUIRED_NONE = 1 - - PRIVILEGES_REQUIRED_LOW = 2 - - PRIVILEGES_REQUIRED_HIGH = 3 - end - - module UserInteraction - USER_INTERACTION_UNSPECIFIED = 0 - - USER_INTERACTION_NONE = 1 - - USER_INTERACTION_REQUIRED = 2 - end - - module Scope - SCOPE_UNSPECIFIED = 0 - - SCOPE_UNCHANGED = 1 - - SCOPE_CHANGED = 2 - end - - module Impact - IMPACT_UNSPECIFIED = 0 - - IMPACT_HIGH = 1 - - IMPACT_LOW = 2 - - IMPACT_NONE = 3 - - IMPACT_PARTIAL = 4 - - IMPACT_COMPLETE = 5 - end - end - - # CVSS Version. - module CVSSVersion - CVSS_VERSION_UNSPECIFIED = 0 - - CVSS_VERSION_2 = 1 - - CVSS_VERSION_3 = 2 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb deleted file mode 100644 index 0ac1498fd779..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/deployment.rb +++ /dev/null @@ -1,74 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # An artifact that can be deployed in some runtime. - # @!attribute [rw] resource_uri - # @return [::Array<::String>] - # Required. Resource URI for the artifact being deployed. - class DeploymentNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The period during which some deployable was active in a runtime. - # @!attribute [rw] user_email - # @return [::String] - # Identity of the user that triggered this deployment. - # @!attribute [rw] deploy_time - # @return [::Google::Protobuf::Timestamp] - # Required. Beginning of the lifetime of this deployment. - # @!attribute [rw] undeploy_time - # @return [::Google::Protobuf::Timestamp] - # End of the lifetime of this deployment. - # @!attribute [rw] config - # @return [::String] - # Configuration used to create this deployment. - # @!attribute [rw] address - # @return [::String] - # Address of the runtime element hosting this deployment. - # @!attribute [rw] resource_uri - # @return [::Array<::String>] - # Output only. Resource URI for the artifact being deployed taken from - # the deployable field with the same name. - # @!attribute [rw] platform - # @return [::Grafeas::V1::DeploymentOccurrence::Platform] - # Platform hosting this deployment. - class DeploymentOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Types of platforms. - module Platform - # Unknown. - PLATFORM_UNSPECIFIED = 0 - - # Google Container Engine. - GKE = 1 - - # Google App Engine: Flexible Environment. - FLEX = 2 - - # Custom user-defined platform. - CUSTOM = 3 - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb deleted file mode 100644 index afc178d1339c..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/discovery.rb +++ /dev/null @@ -1,195 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # A note that indicates a type of analysis a provider would perform. This note - # exists in a provider's project. A `Discovery` occurrence is created in a - # consumer's project at the start of analysis. - # @!attribute [rw] analysis_kind - # @return [::Grafeas::V1::NoteKind] - # Required. Immutable. The kind of analysis that is handled by this - # discovery. - class DiscoveryNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Provides information about the analysis status of a discovered resource. - # @!attribute [rw] continuous_analysis - # @return [::Grafeas::V1::DiscoveryOccurrence::ContinuousAnalysis] - # Whether the resource is continuously analyzed. - # @!attribute [rw] analysis_status - # @return [::Grafeas::V1::DiscoveryOccurrence::AnalysisStatus] - # The status of discovery for the resource. - # @!attribute [rw] analysis_completed - # @return [::Grafeas::V1::DiscoveryOccurrence::AnalysisCompleted] - # @!attribute [rw] analysis_error - # @return [::Array<::Google::Rpc::Status>] - # Indicates any errors encountered during analysis of a resource. There - # could be 0 or more of these errors. - # @!attribute [rw] analysis_status_error - # @return [::Google::Rpc::Status] - # When an error is encountered this will contain a LocalizedMessage under - # details to show to the user. The LocalizedMessage is output only and - # populated by the API. - # @!attribute [rw] cpe - # @return [::String] - # The CPE of the resource being scanned. - # @!attribute [rw] last_scan_time - # @return [::Google::Protobuf::Timestamp] - # The last time this resource was scanned. - # @!attribute [r] archive_time - # @return [::Google::Protobuf::Timestamp] - # The time occurrences related to this discovery occurrence were archived. - # @!attribute [rw] sbom_status - # @return [::Grafeas::V1::DiscoveryOccurrence::SBOMStatus] - # The status of an SBOM generation. - # @!attribute [rw] vulnerability_attestation - # @return [::Grafeas::V1::DiscoveryOccurrence::VulnerabilityAttestation] - # The status of an vulnerability attestation generation. - # @!attribute [rw] files - # @return [::Array<::Grafeas::V1::DiscoveryOccurrence::File>] - # Files that make up the resource described by the occurrence. - # @!attribute [rw] last_vulnerability_update_time - # @return [::Google::Protobuf::Timestamp] - # The last time vulnerability scan results changed. - class DiscoveryOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Indicates which analysis completed successfully. Multiple types of - # analysis can be performed on a single resource. - # @!attribute [rw] analysis_type - # @return [::Array<::String>] - class AnalysisCompleted - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The status of an SBOM generation. - # @!attribute [rw] sbom_state - # @return [::Grafeas::V1::DiscoveryOccurrence::SBOMStatus::SBOMState] - # The progress of the SBOM generation. - # @!attribute [rw] error - # @return [::String] - # If there was an error generating an SBOM, this will indicate what that - # error was. - class SBOMStatus - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # An enum indicating the progress of the SBOM generation. - module SBOMState - # Default unknown state. - SBOM_STATE_UNSPECIFIED = 0 - - # SBOM scanning is pending. - PENDING = 1 - - # SBOM scanning has completed. - COMPLETE = 2 - end - end - - # The status of an vulnerability attestation generation. - # @!attribute [rw] last_attempt_time - # @return [::Google::Protobuf::Timestamp] - # The last time we attempted to generate an attestation. - # @!attribute [rw] state - # @return [::Grafeas::V1::DiscoveryOccurrence::VulnerabilityAttestation::VulnerabilityAttestationState] - # The success/failure state of the latest attestation attempt. - # @!attribute [rw] error - # @return [::String] - # If failure, the error reason for why the attestation generation failed. - class VulnerabilityAttestation - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # An enum indicating the state of the attestation generation. - module VulnerabilityAttestationState - # Default unknown state. - VULNERABILITY_ATTESTATION_STATE_UNSPECIFIED = 0 - - # Attestation was successfully generated and stored. - SUCCESS = 1 - - # Attestation was unsuccessfully generated and stored. - FAILURE = 2 - end - end - - # @!attribute [rw] name - # @return [::String] - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - class File - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Whether the resource is continuously analyzed. - module ContinuousAnalysis - # Unknown. - CONTINUOUS_ANALYSIS_UNSPECIFIED = 0 - - # The resource is continuously analyzed. - ACTIVE = 1 - - # The resource is ignored for continuous analysis. - INACTIVE = 2 - end - - # Analysis status for a resource. Currently for initial analysis only (not - # updated in continuous analysis). - module AnalysisStatus - # Unknown. - ANALYSIS_STATUS_UNSPECIFIED = 0 - - # Resource is known but no action has been taken yet. - PENDING = 1 - - # Resource is being analyzed. - SCANNING = 2 - - # Analysis has finished successfully. - FINISHED_SUCCESS = 3 - - # Analysis has completed. - COMPLETE = 3 - - # Analysis has finished unsuccessfully, the analysis itself is in a bad - # state. - FINISHED_FAILED = 4 - - # The resource is known not to be supported. - FINISHED_UNSUPPORTED = 5 - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb deleted file mode 100644 index 322be7281007..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/dsse_attestation.rb +++ /dev/null @@ -1,59 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # @!attribute [rw] hint - # @return [::Grafeas::V1::DSSEAttestationNote::DSSEHint] - # DSSEHint hints at the purpose of the attestation authority. - class DSSEAttestationNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # This submessage provides human-readable hints about the purpose of the - # authority. Because the name of a note acts as its resource reference, it is - # important to disambiguate the canonical name of the Note (which might be a - # UUID for security purposes) from "readable" names more suitable for debug - # output. Note that these hints should not be used to look up authorities in - # security sensitive contexts, such as when looking up attestations to - # verify. - # @!attribute [rw] human_readable_name - # @return [::String] - # Required. The human readable name of this attestation authority, for - # example "cloudbuild-prod". - class DSSEHint - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Deprecated. Prefer to use a regular Occurrence, and populate the - # Envelope at the top level of the Occurrence. - # @!attribute [rw] envelope - # @return [::Grafeas::V1::Envelope] - # If doing something security critical, make sure to verify the signatures in - # this metadata. - # @!attribute [rw] statement - # @return [::Grafeas::V1::InTotoStatement] - class DSSEAttestationOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb deleted file mode 100644 index e9e28629e628..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/grafeas.rb +++ /dev/null @@ -1,510 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # An instance of an analysis type that has been found on a resource. - # @!attribute [rw] name - # @return [::String] - # Output only. The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - # @!attribute [rw] resource_uri - # @return [::String] - # 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. - # @!attribute [rw] note_name - # @return [::String] - # 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. - # @!attribute [rw] kind - # @return [::Grafeas::V1::NoteKind] - # Output only. This explicitly denotes which of the occurrence details are - # specified. This field can be used as a filter in list requests. - # @!attribute [rw] remediation - # @return [::String] - # A description of actions that can be taken to remedy the note. - # @!attribute [rw] create_time - # @return [::Google::Protobuf::Timestamp] - # Output only. The time this occurrence was created. - # @!attribute [rw] update_time - # @return [::Google::Protobuf::Timestamp] - # Output only. The time this occurrence was last updated. - # @!attribute [rw] vulnerability - # @return [::Grafeas::V1::VulnerabilityOccurrence] - # Describes a security vulnerability. - # - # Note: The following fields are mutually exclusive: `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] build - # @return [::Grafeas::V1::BuildOccurrence] - # Describes a verifiable build. - # - # Note: The following fields are mutually exclusive: `build`, `vulnerability`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] image - # @return [::Grafeas::V1::ImageOccurrence] - # Describes how this resource derives from the basis in the associated - # note. - # - # Note: The following fields are mutually exclusive: `image`, `vulnerability`, `build`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] package - # @return [::Grafeas::V1::PackageOccurrence] - # Describes the installation of a package on the linked resource. - # - # Note: The following fields are mutually exclusive: `package`, `vulnerability`, `build`, `image`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] deployment - # @return [::Grafeas::V1::DeploymentOccurrence] - # Describes the deployment of an artifact on a runtime. - # - # Note: The following fields are mutually exclusive: `deployment`, `vulnerability`, `build`, `image`, `package`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] discovery - # @return [::Grafeas::V1::DiscoveryOccurrence] - # Describes when a resource was discovered. - # - # Note: The following fields are mutually exclusive: `discovery`, `vulnerability`, `build`, `image`, `package`, `deployment`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] attestation - # @return [::Grafeas::V1::AttestationOccurrence] - # Describes an attestation of an artifact. - # - # Note: The following fields are mutually exclusive: `attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] upgrade - # @return [::Grafeas::V1::UpgradeOccurrence] - # Describes an available package upgrade on the linked resource. - # - # Note: The following fields are mutually exclusive: `upgrade`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] compliance - # @return [::Grafeas::V1::ComplianceOccurrence] - # Describes a compliance violation on a linked resource. - # - # Note: The following fields are mutually exclusive: `compliance`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] dsse_attestation - # @return [::Grafeas::V1::DSSEAttestationOccurrence] - # Describes an attestation of an artifact using dsse. - # - # Note: The following fields are mutually exclusive: `dsse_attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] sbom_reference - # @return [::Grafeas::V1::SBOMReferenceOccurrence] - # Describes a specific SBOM reference occurrences. - # - # Note: The following fields are mutually exclusive: `sbom_reference`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] secret - # @return [::Grafeas::V1::SecretOccurrence] - # Describes a secret. - # - # Note: The following fields are mutually exclusive: `secret`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] envelope - # @return [::Grafeas::V1::Envelope] - # https://github.com/secure-systems-lab/dsse - class Occurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A type of analysis that can be done for a resource. - # @!attribute [rw] name - # @return [::String] - # Output only. The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # @!attribute [rw] short_description - # @return [::String] - # A one sentence description of this note. - # @!attribute [rw] long_description - # @return [::String] - # A detailed description of this note. - # @!attribute [rw] kind - # @return [::Grafeas::V1::NoteKind] - # Output only. The type of analysis. This field can be used as a filter in - # list requests. - # @!attribute [rw] related_url - # @return [::Array<::Grafeas::V1::RelatedUrl>] - # URLs associated with this note. - # @!attribute [rw] expiration_time - # @return [::Google::Protobuf::Timestamp] - # Time of expiration for this note. Empty if note does not expire. - # @!attribute [rw] create_time - # @return [::Google::Protobuf::Timestamp] - # Output only. The time this note was created. This field can be used as a - # filter in list requests. - # @!attribute [rw] update_time - # @return [::Google::Protobuf::Timestamp] - # Output only. The time this note was last updated. This field can be used as - # a filter in list requests. - # @!attribute [rw] related_note_names - # @return [::Array<::String>] - # Other notes related to this note. - # @!attribute [rw] vulnerability - # @return [::Grafeas::V1::VulnerabilityNote] - # A note describing a package vulnerability. - # - # Note: The following fields are mutually exclusive: `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] build - # @return [::Grafeas::V1::BuildNote] - # A note describing build provenance for a verifiable build. - # - # Note: The following fields are mutually exclusive: `build`, `vulnerability`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] image - # @return [::Grafeas::V1::ImageNote] - # A note describing a base image. - # - # Note: The following fields are mutually exclusive: `image`, `vulnerability`, `build`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] package - # @return [::Grafeas::V1::PackageNote] - # A note describing a package hosted by various package managers. - # - # Note: The following fields are mutually exclusive: `package`, `vulnerability`, `build`, `image`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] deployment - # @return [::Grafeas::V1::DeploymentNote] - # A note describing something that can be deployed. - # - # Note: The following fields are mutually exclusive: `deployment`, `vulnerability`, `build`, `image`, `package`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] discovery - # @return [::Grafeas::V1::DiscoveryNote] - # A note describing the initial analysis of a resource. - # - # Note: The following fields are mutually exclusive: `discovery`, `vulnerability`, `build`, `image`, `package`, `deployment`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] attestation - # @return [::Grafeas::V1::AttestationNote] - # A note describing an attestation role. - # - # Note: The following fields are mutually exclusive: `attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] upgrade - # @return [::Grafeas::V1::UpgradeNote] - # A note describing available package upgrades. - # - # Note: The following fields are mutually exclusive: `upgrade`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] compliance - # @return [::Grafeas::V1::ComplianceNote] - # A note describing a compliance check. - # - # Note: The following fields are mutually exclusive: `compliance`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] dsse_attestation - # @return [::Grafeas::V1::DSSEAttestationNote] - # A note describing a dsse attestation note. - # - # Note: The following fields are mutually exclusive: `dsse_attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `vulnerability_assessment`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] vulnerability_assessment - # @return [::Grafeas::V1::VulnerabilityAssessmentNote] - # A note describing a vulnerability assessment. - # - # Note: The following fields are mutually exclusive: `vulnerability_assessment`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] sbom_reference - # @return [::Grafeas::V1::SBOMReferenceNote] - # A note describing an SBOM reference. - # - # Note: The following fields are mutually exclusive: `sbom_reference`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `secret`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] secret - # @return [::Grafeas::V1::SecretNote] - # A note describing a secret. - # - # Note: The following fields are mutually exclusive: `secret`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared. - class Note - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to get an occurrence. - # @!attribute [rw] name - # @return [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - class GetOccurrenceRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to list occurrences. - # @!attribute [rw] parent - # @return [::String] - # The name of the project to list occurrences for in the form of - # `projects/[PROJECT_ID]`. - # @!attribute [rw] filter - # @return [::String] - # The filter expression. - # @!attribute [rw] page_size - # @return [::Integer] - # 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. - # @!attribute [rw] page_token - # @return [::String] - # Token to provide to skip to a particular spot in the list. - # @!attribute [rw] return_partial_success - # @return [::Boolean] - # If set, the request will return all reachable Occurrences - # and report all unreachable regions in the `unreachable` field in - # the response. - # - # Only applicable for requests in the global region. - class ListOccurrencesRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Response for listing occurrences. - # @!attribute [rw] occurrences - # @return [::Array<::Grafeas::V1::Occurrence>] - # The occurrences requested. - # @!attribute [rw] next_page_token - # @return [::String] - # 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. - # @!attribute [rw] unreachable - # @return [::Array<::String>] - # Unreachable regions. Populated for requests from the global region - # when `return_partial_success` is set. - # - # Format: `projects/[PROJECT_ID]/locations/[LOCATION]` - class ListOccurrencesResponse - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to delete an occurrence. - # @!attribute [rw] name - # @return [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - class DeleteOccurrenceRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to create a new occurrence. - # @!attribute [rw] parent - # @return [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the occurrence is to be created. - # @!attribute [rw] occurrence - # @return [::Grafeas::V1::Occurrence] - # The occurrence to create. - class CreateOccurrenceRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to update an occurrence. - # @!attribute [rw] name - # @return [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - # @!attribute [rw] occurrence - # @return [::Grafeas::V1::Occurrence] - # The updated occurrence. - # @!attribute [rw] update_mask - # @return [::Google::Protobuf::FieldMask] - # The fields to update. - class UpdateOccurrenceRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to get a note. - # @!attribute [rw] name - # @return [::String] - # The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - class GetNoteRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to get the note to which the specified occurrence is attached. - # @!attribute [rw] name - # @return [::String] - # The name of the occurrence in the form of - # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. - class GetOccurrenceNoteRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to list notes. - # @!attribute [rw] parent - # @return [::String] - # The name of the project to list notes for in the form of - # `projects/[PROJECT_ID]`. - # @!attribute [rw] filter - # @return [::String] - # The filter expression. - # @!attribute [rw] page_size - # @return [::Integer] - # 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. - # @!attribute [rw] page_token - # @return [::String] - # Token to provide to skip to a particular spot in the list. - # @!attribute [rw] return_partial_success - # @return [::Boolean] - # If set, the request will return all reachable Notes - # and report all unreachable regions in the `unreachable` field in - # the response. - # - # Only applicable for requests in the global region. - class ListNotesRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Response for listing notes. - # @!attribute [rw] notes - # @return [::Array<::Grafeas::V1::Note>] - # The notes requested. - # @!attribute [rw] next_page_token - # @return [::String] - # 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. - # @!attribute [rw] unreachable - # @return [::Array<::String>] - # Unreachable regions. Populated for requests from the global region - # when `return_partial_success` is set. - # - # Format: `projects/[PROJECT_ID]/locations/[LOCATION]` - class ListNotesResponse - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to delete a note. - # @!attribute [rw] name - # @return [::String] - # The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - class DeleteNoteRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to create a new note. - # @!attribute [rw] parent - # @return [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the note is to be created. - # @!attribute [rw] note_id - # @return [::String] - # The ID to use for this note. - # @!attribute [rw] note - # @return [::Grafeas::V1::Note] - # The note to create. - class CreateNoteRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to update a note. - # @!attribute [rw] name - # @return [::String] - # The name of the note in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # @!attribute [rw] note - # @return [::Grafeas::V1::Note] - # The updated note. - # @!attribute [rw] update_mask - # @return [::Google::Protobuf::FieldMask] - # The fields to update. - class UpdateNoteRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to list occurrences for a note. - # @!attribute [rw] name - # @return [::String] - # The name of the note to list occurrences for in the form of - # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. - # @!attribute [rw] filter - # @return [::String] - # The filter expression. - # @!attribute [rw] page_size - # @return [::Integer] - # Number of occurrences to return in the list. - # @!attribute [rw] page_token - # @return [::String] - # Token to provide to skip to a particular spot in the list. - class ListNoteOccurrencesRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Response for listing occurrences for a note. - # @!attribute [rw] occurrences - # @return [::Array<::Grafeas::V1::Occurrence>] - # The occurrences attached to the specified note. - # @!attribute [rw] next_page_token - # @return [::String] - # Token to provide to skip to a particular spot in the list. - class ListNoteOccurrencesResponse - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to create notes in batch. - # @!attribute [rw] parent - # @return [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the notes are to be created. - # @!attribute [rw] notes - # @return [::Google::Protobuf::Map{::String => ::Grafeas::V1::Note}] - # The notes to create. Max allowed length is 1000. - class BatchCreateNotesRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::Grafeas::V1::Note] - class NotesEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Response for creating notes in batch. - # @!attribute [rw] notes - # @return [::Array<::Grafeas::V1::Note>] - # The notes that were created. - class BatchCreateNotesResponse - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Request to create occurrences in batch. - # @!attribute [rw] parent - # @return [::String] - # The name of the project in the form of `projects/[PROJECT_ID]`, under which - # the occurrences are to be created. - # @!attribute [rw] occurrences - # @return [::Array<::Grafeas::V1::Occurrence>] - # The occurrences to create. Max allowed length is 1000. - class BatchCreateOccurrencesRequest - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Response for creating occurrences in batch. - # @!attribute [rw] occurrences - # @return [::Array<::Grafeas::V1::Occurrence>] - # The occurrences that were created. - class BatchCreateOccurrencesResponse - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb deleted file mode 100644 index 546d369f44fc..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/image.rb +++ /dev/null @@ -1,95 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Layer holds metadata specific to a layer of a Docker image. - # @!attribute [rw] directive - # @return [::String] - # Required. The recovered Dockerfile directive used to construct this layer. - # See https://docs.docker.com/engine/reference/builder/ for more information. - # @!attribute [rw] arguments - # @return [::String] - # The recovered arguments to the Dockerfile directive. - class Layer - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A set of properties that uniquely identify a given Docker image. - # @!attribute [rw] v1_name - # @return [::String] - # Required. The layer ID of the final layer in the Docker image's v1 - # representation. - # @!attribute [rw] v2_blob - # @return [::Array<::String>] - # Required. The ordered list of v2 blobs that represent a given image. - # @!attribute [rw] v2_name - # @return [::String] - # Output only. The name of the image's v2 blobs computed via: - # [bottom] := v2_blob[bottom] - # [N] := sha256(v2_blob[N] + " " + v2_name[N+1]) - # Only the name of the final blob is kept. - class Fingerprint - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Basis describes the base image portion (Note) of the DockerImage - # relationship. Linked occurrences are derived from this or an equivalent image - # via: - # FROM - # Or an equivalent reference, e.g., a tag of the resource_url. - # @!attribute [rw] resource_url - # @return [::String] - # Required. Immutable. The resource_url for the resource representing the - # basis of associated occurrence images. - # @!attribute [rw] fingerprint - # @return [::Grafeas::V1::Fingerprint] - # Required. Immutable. The fingerprint of the base image. - class ImageNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Details of the derived image portion of the DockerImage relationship. This - # image would be produced from a Dockerfile with FROM . - # @!attribute [rw] fingerprint - # @return [::Grafeas::V1::Fingerprint] - # Required. The fingerprint of the derived image. - # @!attribute [rw] distance - # @return [::Integer] - # Output only. The number of layers by which this image differs from the - # associated image basis. - # @!attribute [rw] layer_info - # @return [::Array<::Grafeas::V1::Layer>] - # This contains layer-specific metadata, if populated it has length - # "distance" and is ordered with [distance] being the layer immediately - # following the base image and [1] being the final layer. - # @!attribute [rw] base_resource_url - # @return [::String] - # Output only. This contains the base image URL for the derived image - # occurrence. - class ImageOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb deleted file mode 100644 index c808aee223da..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_provenance.rb +++ /dev/null @@ -1,134 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Steps taken to build the artifact. - # For a TaskRun, typically each container corresponds to one step in the - # recipe. - # @!attribute [rw] type - # @return [::String] - # URI indicating what type of recipe was performed. It determines the meaning - # of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. - # @!attribute [rw] defined_in_material - # @return [::Integer] - # Index in materials containing the recipe steps that are not implied by - # recipe.type. For example, if the recipe type were "make", then this would - # point to the source containing the Makefile, not the make program itself. - # Set to -1 if the recipe doesn't come from a material, as zero is default - # unset value for int64. - # @!attribute [rw] entry_point - # @return [::String] - # String identifying the entry point into the build. - # This is often a path to a configuration file and/or a target label within - # that file. The syntax and meaning are defined by recipe.type. For example, - # if the recipe type were "make", then this would reference the directory in - # which to run make as well as which target to use. - # @!attribute [rw] arguments - # @return [::Array<::Google::Protobuf::Any>] - # Collection of all external inputs that influenced the build on top of - # recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe - # type were "make", then this might be the flags passed to make aside from - # the target, which is captured in recipe.entryPoint. Since the arguments - # field can greatly vary in structure, depending on the builder and recipe - # type, this is of form "Any". - # @!attribute [rw] environment - # @return [::Array<::Google::Protobuf::Any>] - # Any other builder-controlled inputs necessary for correctly evaluating the - # recipe. Usually only needed for reproducing the build but not evaluated as - # part of policy. Since the environment field can greatly vary in structure, - # depending on the builder and recipe type, this is of form "Any". - class Recipe - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Indicates that the builder claims certain fields in this message to be - # complete. - # @!attribute [rw] arguments - # @return [::Boolean] - # If true, the builder claims that recipe.arguments is complete, meaning that - # all external inputs are properly captured in the recipe. - # @!attribute [rw] environment - # @return [::Boolean] - # If true, the builder claims that recipe.environment is claimed to be - # complete. - # @!attribute [rw] materials - # @return [::Boolean] - # If true, the builder claims that materials are complete, usually through - # some controls to prevent network access. Sometimes called "hermetic". - class Completeness - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Other properties of the build. - # @!attribute [rw] build_invocation_id - # @return [::String] - # Identifies the particular build invocation, which can be useful for finding - # associated logs or other ad-hoc analysis. The value SHOULD be globally - # unique, per in-toto Provenance spec. - # @!attribute [rw] build_started_on - # @return [::Google::Protobuf::Timestamp] - # The timestamp of when the build started. - # @!attribute [rw] build_finished_on - # @return [::Google::Protobuf::Timestamp] - # The timestamp of when the build completed. - # @!attribute [rw] completeness - # @return [::Grafeas::V1::Completeness] - # Indicates that the builder claims certain fields in this message to be - # complete. - # @!attribute [rw] reproducible - # @return [::Boolean] - # If true, the builder claims that running the recipe on materials will - # produce bit-for-bit identical output. - class Metadata - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] id - # @return [::String] - class BuilderConfig - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] builder_config - # @return [::Grafeas::V1::BuilderConfig] - # @!attribute [rw] recipe - # @return [::Grafeas::V1::Recipe] - # Identifies the configuration used for the build. - # When combined with materials, this SHOULD fully describe the build, - # such that re-running this recipe results in bit-for-bit identical output - # (if the build is reproducible). - # @!attribute [rw] metadata - # @return [::Grafeas::V1::Metadata] - # @!attribute [rw] materials - # @return [::Array<::String>] - # The collection of artifacts that influenced the build including sources, - # dependencies, build tools, base images, and so on. This is considered to be - # incomplete unless metadata.completeness.materials is true. Unset or null is - # equivalent to empty. - class InTotoProvenance - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb deleted file mode 100644 index 290e99770158..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/intoto_statement.rb +++ /dev/null @@ -1,189 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Spec defined at - # https://github.com/in-toto/attestation/tree/main/spec#statement The - # serialized InTotoStatement will be stored as Envelope.payload. - # Envelope.payloadType is always "application/vnd.in-toto+json". - # @!attribute [rw] type - # @return [::String] - # Always `https://in-toto.io/Statement/v0.1`. - # @!attribute [rw] subject - # @return [::Array<::Grafeas::V1::Subject>] - # @!attribute [rw] predicate_type - # @return [::String] - # `https://slsa.dev/provenance/v0.1` for SlsaProvenance. - # @!attribute [rw] provenance - # @return [::Grafeas::V1::InTotoProvenance] - # Note: The following fields are mutually exclusive: `provenance`, `slsa_provenance`, `slsa_provenance_zero_two`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] slsa_provenance - # @return [::Grafeas::V1::SlsaProvenance] - # Note: The following fields are mutually exclusive: `slsa_provenance`, `provenance`, `slsa_provenance_zero_two`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] slsa_provenance_zero_two - # @return [::Grafeas::V1::SlsaProvenanceZeroTwo] - # Note: The following fields are mutually exclusive: `slsa_provenance_zero_two`, `provenance`, `slsa_provenance`. If a field in that set is populated, all other fields in the set will automatically be cleared. - class InTotoStatement - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] name - # @return [::String] - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - # `"": ""` - # Algorithms can be e.g. sha256, sha512 - # See - # https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet - class Subject - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # @!attribute [rw] type - # @return [::String] - # InToto spec defined at - # https://github.com/in-toto/attestation/tree/main/spec#statement - # @!attribute [rw] subject - # @return [::Array<::Grafeas::V1::Subject>] - # @!attribute [rw] predicate_type - # @return [::String] - # @!attribute [rw] predicate - # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::SlsaProvenanceV1] - class InTotoSlsaProvenanceV1 - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Keep in sync with schema at - # https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto - # Builder renamed to ProvenanceBuilder because of Java conflicts. - # @!attribute [rw] build_definition - # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::BuildDefinition] - # @!attribute [rw] run_details - # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::RunDetails] - class SlsaProvenanceV1 - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] build_type - # @return [::String] - # @!attribute [rw] external_parameters - # @return [::Google::Protobuf::Struct] - # @!attribute [rw] internal_parameters - # @return [::Google::Protobuf::Struct] - # @!attribute [rw] resolved_dependencies - # @return [::Array<::Grafeas::V1::InTotoSlsaProvenanceV1::ResourceDescriptor>] - class BuildDefinition - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] name - # @return [::String] - # @!attribute [rw] uri - # @return [::String] - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - # @!attribute [rw] content - # @return [::String] - # @!attribute [rw] download_location - # @return [::String] - # @!attribute [rw] media_type - # @return [::String] - # @!attribute [rw] annotations - # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}] - class ResourceDescriptor - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::Google::Protobuf::Value] - class AnnotationsEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # @!attribute [rw] builder - # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::ProvenanceBuilder] - # @!attribute [rw] metadata - # @return [::Grafeas::V1::InTotoSlsaProvenanceV1::BuildMetadata] - # @!attribute [rw] byproducts - # @return [::Array<::Grafeas::V1::InTotoSlsaProvenanceV1::ResourceDescriptor>] - class RunDetails - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] id - # @return [::String] - # @!attribute [rw] version - # @return [::Google::Protobuf::Map{::String => ::String}] - # @!attribute [rw] builder_dependencies - # @return [::Array<::Grafeas::V1::InTotoSlsaProvenanceV1::ResourceDescriptor>] - class ProvenanceBuilder - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class VersionEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # @!attribute [rw] invocation_id - # @return [::String] - # @!attribute [rw] started_on - # @return [::Google::Protobuf::Timestamp] - # @!attribute [rw] finished_on - # @return [::Google::Protobuf::Timestamp] - class BuildMetadata - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb deleted file mode 100644 index 1b795022499a..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/package.rb +++ /dev/null @@ -1,203 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # This represents a particular channel of distribution for a given package. - # E.g., Debian's jessie-backports dpkg mirror. - # @!attribute [rw] cpe_uri - # @return [::String] - # The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) - # denoting the package manager version distributing a package. - # @!attribute [rw] architecture - # @return [::Grafeas::V1::Architecture] - # The CPU architecture for which packages in this distribution channel were - # built. - # @!attribute [rw] latest_version - # @return [::Grafeas::V1::Version] - # The latest available version of this package in this distribution channel. - # @!attribute [rw] maintainer - # @return [::String] - # A freeform string denoting the maintainer of this package. - # @!attribute [rw] url - # @return [::String] - # The distribution channel-specific homepage for this package. - # @!attribute [rw] description - # @return [::String] - # The distribution channel-specific description of this package. - class Distribution - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # An occurrence of a particular package installation found within a system's - # filesystem. E.g., glibc was found in `/var/lib/dpkg/status`. - # @!attribute [rw] cpe_uri - # @return [::String] - # Deprecated. - # The CPE URI in [CPE format](https://cpe.mitre.org/specification/) - # @!attribute [rw] version - # @return [::Grafeas::V1::Version] - # Deprecated. - # The version installed at this location. - # @!attribute [rw] path - # @return [::String] - # The path from which we gathered that this package/version is installed. - class Location - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # PackageNote represents a particular package version. - # @!attribute [rw] name - # @return [::String] - # The name of the package. - # @!attribute [rw] distribution - # @return [::Array<::Grafeas::V1::Distribution>] - # Deprecated. - # The various channels by which a package is distributed. - # @!attribute [rw] package_type - # @return [::String] - # The type of package; whether native or non native (e.g., ruby gems, - # node.js packages, etc.). - # @!attribute [rw] cpe_uri - # @return [::String] - # The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) - # denoting the package manager version distributing a package. - # The cpe_uri will be blank for language packages. - # @!attribute [rw] architecture - # @return [::Grafeas::V1::Architecture] - # The CPU architecture for which packages in this distribution channel were - # built. Architecture will be blank for language packages. - # @!attribute [rw] version - # @return [::Grafeas::V1::Version] - # The version of the package. - # @!attribute [rw] maintainer - # @return [::String] - # A freeform text denoting the maintainer of this package. - # @!attribute [rw] url - # @return [::String] - # The homepage for this package. - # @!attribute [rw] description - # @return [::String] - # The description of this package. - # @!attribute [rw] license - # @return [::Grafeas::V1::License] - # Licenses that have been declared by the authors of the package. - # @!attribute [rw] digest - # @return [::Array<::Grafeas::V1::Digest>] - # Hash value, typically a file digest, that allows unique - # identification a specific package. - class PackageNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Details on how a particular software package was installed on a system. - # @!attribute [r] name - # @return [::String] - # The name of the installed package. - # @!attribute [rw] location - # @return [::Array<::Grafeas::V1::Location>] - # All of the places within the filesystem versions of this package - # have been found. - # @!attribute [r] package_type - # @return [::String] - # The type of package; whether native or non native (e.g., ruby gems, - # node.js packages, etc.). - # @!attribute [r] cpe_uri - # @return [::String] - # The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) - # denoting the package manager version distributing a package. - # The cpe_uri will be blank for language packages. - # @!attribute [r] architecture - # @return [::Grafeas::V1::Architecture] - # The CPU architecture for which packages in this distribution channel were - # built. Architecture will be blank for language packages. - # @!attribute [rw] license - # @return [::Grafeas::V1::License] - # Licenses that have been declared by the authors of the package. - # @!attribute [r] version - # @return [::Grafeas::V1::Version] - # The version of the package. - class PackageOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Version contains structured information about the version of a package. - # @!attribute [rw] epoch - # @return [::Integer] - # Used to correct mistakes in the version numbering scheme. - # @!attribute [rw] name - # @return [::String] - # Required only when version kind is NORMAL. The main part of the version - # name. - # @!attribute [rw] revision - # @return [::String] - # The iteration of the package build from the above version. - # @!attribute [rw] inclusive - # @return [::Boolean] - # Whether this version is specifying part of an inclusive range. Grafeas - # does not have the capability to specify version ranges; instead we have - # fields that specify start version and end versions. At times this is - # insufficient - we also need to specify whether the version is included in - # the range or is excluded from the range. This boolean is expected to be set - # to true when the version is included in a range. - # @!attribute [rw] kind - # @return [::Grafeas::V1::Version::VersionKind] - # Required. Distinguishes between sentinel MIN/MAX versions and normal - # versions. - # @!attribute [rw] full_name - # @return [::String] - # Human readable version string. This string is of the form - # :- and is only set when kind is NORMAL. - class Version - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Whether this is an ordinary package version or a sentinel MIN/MAX version. - module VersionKind - # Unknown. - VERSION_KIND_UNSPECIFIED = 0 - - # A standard package version. - NORMAL = 1 - - # A special version representing negative infinity. - MINIMUM = 2 - - # A special version representing positive infinity. - MAXIMUM = 3 - end - end - - # Instruction set architectures supported by various package managers. - module Architecture - # Unknown architecture. - ARCHITECTURE_UNSPECIFIED = 0 - - # X86 architecture. - X86 = 1 - - # X64 architecture. - X64 = 2 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb deleted file mode 100644 index a7454aeaabbf..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/provenance.rb +++ /dev/null @@ -1,336 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Provenance of a build. Contains all information needed to verify the full - # details about the build from source to completion. - # @!attribute [rw] id - # @return [::String] - # Required. Unique identifier of the build. - # @!attribute [rw] project_id - # @return [::String] - # ID of the project. - # @!attribute [rw] commands - # @return [::Array<::Grafeas::V1::Command>] - # Commands requested by the build. - # @!attribute [rw] built_artifacts - # @return [::Array<::Grafeas::V1::Artifact>] - # Output of the build. - # @!attribute [rw] create_time - # @return [::Google::Protobuf::Timestamp] - # Time at which the build was created. - # @!attribute [rw] start_time - # @return [::Google::Protobuf::Timestamp] - # Time at which execution of the build was started. - # @!attribute [rw] end_time - # @return [::Google::Protobuf::Timestamp] - # Time at which execution of the build was finished. - # @!attribute [rw] creator - # @return [::String] - # E-mail address of the user who initiated this build. Note that this was the - # user's e-mail address at the time the build was initiated; this address may - # not represent the same end-user for all time. - # @!attribute [rw] logs_uri - # @return [::String] - # URI where any logs for this provenance were written. - # @!attribute [rw] source_provenance - # @return [::Grafeas::V1::Source] - # Details of the Source input to the build. - # @!attribute [rw] trigger_id - # @return [::String] - # Trigger identifier if the build was triggered automatically; empty if not. - # @!attribute [rw] build_options - # @return [::Google::Protobuf::Map{::String => ::String}] - # Special options applied to this build. This is a catch-all field where - # build providers can enter any desired additional details. - # @!attribute [rw] builder_version - # @return [::String] - # Version string of the builder at the time this build was executed. - class BuildProvenance - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class BuildOptionsEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Source describes the location of the source used for the build. - # @!attribute [rw] artifact_storage_source_uri - # @return [::String] - # If provided, the input binary artifacts for the build came from this - # location. - # @!attribute [rw] file_hashes - # @return [::Google::Protobuf::Map{::String => ::Grafeas::V1::FileHashes}] - # Hash(es) of the build source, which can be used to verify that the original - # source integrity was maintained in the build. - # - # The keys to this map are file paths used as build source and the values - # contain the hash values for those files. - # - # If the build source came in a single package such as a gzipped tarfile - # (.tar.gz), the FileHash will be for the single path to that file. - # @!attribute [rw] context - # @return [::Grafeas::V1::SourceContext] - # If provided, the source code used for the build came from this location. - # @!attribute [rw] additional_contexts - # @return [::Array<::Grafeas::V1::SourceContext>] - # If provided, some of the source code used for the build may be found in - # these locations, in the case where the source repository had multiple - # remotes or submodules. This list will not include the context specified in - # the context field. - class Source - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::Grafeas::V1::FileHashes] - class FileHashesEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Container message for hashes of byte content of files, used in source - # messages to verify integrity of source input to the build. - # @!attribute [rw] file_hash - # @return [::Array<::Grafeas::V1::Hash>] - # Required. Collection of file hashes. - class FileHashes - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Container message for hash values. - # @!attribute [rw] type - # @return [::String] - # Required. The type of hash that was performed, e.g. "SHA-256". - # @!attribute [rw] value - # @return [::String] - # Required. The hash value. - class Hash - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Command describes a step performed as part of the build pipeline. - # @!attribute [rw] name - # @return [::String] - # Required. Name of the command, as presented on the command line, or if the - # command is packaged as a Docker container, as presented to `docker pull`. - # @!attribute [rw] env - # @return [::Array<::String>] - # Environment variables set before running this command. - # @!attribute [rw] args - # @return [::Array<::String>] - # Command-line arguments used when executing this command. - # @!attribute [rw] dir - # @return [::String] - # Working directory (relative to project source root) used when running this - # command. - # @!attribute [rw] id - # @return [::String] - # Optional unique identifier for this command, used in wait_for to reference - # this command as a dependency. - # @!attribute [rw] wait_for - # @return [::Array<::String>] - # The ID(s) of the command(s) that this command depends on. - class Command - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Artifact describes a build product. - # @!attribute [rw] checksum - # @return [::String] - # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a - # container. - # @!attribute [rw] id - # @return [::String] - # Artifact ID, if any; for container images, this will be a URL by digest - # like `gcr.io/projectID/imagename@sha256:123456`. - # @!attribute [rw] names - # @return [::Array<::String>] - # Related artifact names. This may be the path to a binary or jar file, or in - # the case of a container build, the name used to push the container image to - # Google Container Registry, as presented to `docker push`. Note that a - # single Artifact ID can have multiple names, for example if two tags are - # applied to one image. - class Artifact - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A SourceContext is a reference to a tree of files. A SourceContext together - # with a path point to a unique revision of a single file or directory. - # @!attribute [rw] cloud_repo - # @return [::Grafeas::V1::CloudRepoSourceContext] - # A SourceContext referring to a revision in a Google Cloud Source Repo. - # - # Note: The following fields are mutually exclusive: `cloud_repo`, `gerrit`, `git`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] gerrit - # @return [::Grafeas::V1::GerritSourceContext] - # A SourceContext referring to a Gerrit project. - # - # Note: The following fields are mutually exclusive: `gerrit`, `cloud_repo`, `git`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] git - # @return [::Grafeas::V1::GitSourceContext] - # A SourceContext referring to any third party Git repo (e.g., GitHub). - # - # Note: The following fields are mutually exclusive: `git`, `cloud_repo`, `gerrit`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] labels - # @return [::Google::Protobuf::Map{::String => ::String}] - # Labels with user defined metadata. - class SourceContext - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class LabelsEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # An alias to a repo revision. - # @!attribute [rw] kind - # @return [::Grafeas::V1::AliasContext::Kind] - # The alias kind. - # @!attribute [rw] name - # @return [::String] - # The alias name. - class AliasContext - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # The type of an alias. - module Kind - # Unknown. - KIND_UNSPECIFIED = 0 - - # Git tag. - FIXED = 1 - - # Git branch. - MOVABLE = 2 - - # Used to specify non-standard aliases. For example, if a Git repo has a - # ref named "refs/foo/bar". - OTHER = 4 - end - end - - # A CloudRepoSourceContext denotes a particular revision in a Google Cloud - # Source Repo. - # @!attribute [rw] repo_id - # @return [::Grafeas::V1::RepoId] - # The ID of the repo. - # @!attribute [rw] revision_id - # @return [::String] - # A revision ID. - # - # Note: The following fields are mutually exclusive: `revision_id`, `alias_context`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] alias_context - # @return [::Grafeas::V1::AliasContext] - # An alias, which may be a branch or tag. - # - # Note: The following fields are mutually exclusive: `alias_context`, `revision_id`. If a field in that set is populated, all other fields in the set will automatically be cleared. - class CloudRepoSourceContext - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A SourceContext referring to a Gerrit project. - # @!attribute [rw] host_uri - # @return [::String] - # The URI of a running Gerrit instance. - # @!attribute [rw] gerrit_project - # @return [::String] - # The full project name within the host. Projects may be nested, so - # "project/subproject" is a valid project name. The "repo name" is the - # hostURI/project. - # @!attribute [rw] revision_id - # @return [::String] - # A revision (commit) ID. - # - # Note: The following fields are mutually exclusive: `revision_id`, `alias_context`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] alias_context - # @return [::Grafeas::V1::AliasContext] - # An alias, which may be a branch or tag. - # - # Note: The following fields are mutually exclusive: `alias_context`, `revision_id`. If a field in that set is populated, all other fields in the set will automatically be cleared. - class GerritSourceContext - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A GitSourceContext denotes a particular revision in a third party Git - # repository (e.g., GitHub). - # @!attribute [rw] url - # @return [::String] - # Git repository URL. - # @!attribute [rw] revision_id - # @return [::String] - # Git commit hash. - class GitSourceContext - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A unique identifier for a Cloud Repo. - # @!attribute [rw] project_repo_id - # @return [::Grafeas::V1::ProjectRepoId] - # A combination of a project ID and a repo name. - # - # Note: The following fields are mutually exclusive: `project_repo_id`, `uid`. If a field in that set is populated, all other fields in the set will automatically be cleared. - # @!attribute [rw] uid - # @return [::String] - # A server-assigned, globally unique identifier. - # - # Note: The following fields are mutually exclusive: `uid`, `project_repo_id`. If a field in that set is populated, all other fields in the set will automatically be cleared. - class RepoId - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Selects a repo using a Google Cloud Platform project ID (e.g., - # winged-cargo-31) and a repo name within that project. - # @!attribute [rw] project_id - # @return [::String] - # The ID of the project. - # @!attribute [rw] repo_name - # @return [::String] - # The name of the repo. Leave empty for the default repo. - class ProjectRepoId - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb deleted file mode 100644 index 368497cf719b..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/risk.rb +++ /dev/null @@ -1,57 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # @!attribute [rw] cisa_kev - # @return [::Grafeas::V1::CISAKnownExploitedVulnerabilities] - # CISA maintains the authoritative source of vulnerabilities that have been - # exploited in the wild. - # @!attribute [rw] epss - # @return [::Grafeas::V1::ExploitPredictionScoringSystem] - # The Exploit Prediction Scoring System (EPSS) estimates the likelihood - # (probability) that a software vulnerability will be exploited in the wild. - class Risk - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] known_ransomware_campaign_use - # @return [::String] - # Whether the vulnerability is known to have been leveraged as part of a - # ransomware campaign. - class CISAKnownExploitedVulnerabilities - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] percentile - # @return [::Float] - # The percentile of the current score, the proportion of all scored - # vulnerabilities with the same or a lower EPSS score - # @!attribute [rw] score - # @return [::Float] - # The EPSS score representing the probability [0-1] of exploitation in the - # wild in the next 30 days - class ExploitPredictionScoringSystem - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb deleted file mode 100644 index c058bcfa65f6..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/sbom.rb +++ /dev/null @@ -1,105 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # The note representing an SBOM reference. - # @!attribute [rw] format - # @return [::String] - # The format that SBOM takes. E.g. may be spdx, cyclonedx, etc... - # @!attribute [rw] version - # @return [::String] - # The version of the format that the SBOM takes. E.g. if the format - # is spdx, the version may be 2.3. - class SBOMReferenceNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The occurrence representing an SBOM reference as applied to a specific - # resource. The occurrence follows the DSSE specification. See - # https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more - # details. - # @!attribute [rw] payload - # @return [::Grafeas::V1::SbomReferenceIntotoPayload] - # The actual payload that contains the SBOM reference data. - # @!attribute [rw] payload_type - # @return [::String] - # The kind of payload that SbomReferenceIntotoPayload takes. Since it's in - # the intoto format, this value is expected to be - # 'application/vnd.in-toto+json'. - # @!attribute [rw] signatures - # @return [::Array<::Grafeas::V1::EnvelopeSignature>] - # The signatures over the payload. - class SBOMReferenceOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The actual payload that contains the SBOM Reference data. - # The payload follows the intoto statement specification. See - # https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md - # for more details. - # @!attribute [rw] type - # @return [::String] - # Identifier for the schema of the Statement. - # @!attribute [rw] predicate_type - # @return [::String] - # URI identifying the type of the Predicate. - # @!attribute [rw] subject - # @return [::Array<::Grafeas::V1::Subject>] - # Set of software artifacts that the attestation applies to. Each element - # represents a single software artifact. - # @!attribute [rw] predicate - # @return [::Grafeas::V1::SbomReferenceIntotoPredicate] - # Additional parameters of the Predicate. Includes the actual data about the - # SBOM. - class SbomReferenceIntotoPayload - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # A predicate which describes the SBOM being referenced. - # @!attribute [rw] referrer_id - # @return [::String] - # The person or system referring this predicate to the consumer. - # @!attribute [rw] location - # @return [::String] - # The location of the SBOM. - # @!attribute [rw] mime_type - # @return [::String] - # The mime type of the SBOM. - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - # A map of algorithm to digest of the contents of the SBOM. - class SbomReferenceIntotoPredicate - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb deleted file mode 100644 index 19111283e758..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/secret.rb +++ /dev/null @@ -1,165 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # The note representing a secret. - class SecretNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The occurrence provides details of a secret. - # @!attribute [rw] kind - # @return [::Grafeas::V1::SecretKind] - # Type of secret. - # @!attribute [rw] locations - # @return [::Array<::Grafeas::V1::SecretLocation>] - # Locations where the secret is detected. - # @!attribute [rw] statuses - # @return [::Array<::Grafeas::V1::SecretStatus>] - # Status of the secret. - # @!attribute [rw] data - # @return [::Google::Protobuf::Any] - # Scan result of the secret. - # @!attribute [rw] digest - # @return [::Grafeas::V1::Digest] - # Hash value, typically a digest for the secret data, that allows unique - # identification of a specific secret. - class SecretOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The location of the secret. - # @!attribute [rw] file_location - # @return [::Grafeas::V1::FileLocation] - # The secret is found from a file. - class SecretLocation - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The status of the secret with a timestamp. - # @!attribute [rw] status - # @return [::Grafeas::V1::SecretStatus::Status] - # The status of the secret. - # @!attribute [rw] update_time - # @return [::Google::Protobuf::Timestamp] - # The time the secret status was last updated. - # @!attribute [rw] message - # @return [::String] - # Optional message about the status code. - class SecretStatus - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # The status of the secret. - module Status - # Unspecified - STATUS_UNSPECIFIED = 0 - - # The status of the secret is unknown. - UNKNOWN = 1 - - # The secret is valid. - VALID = 2 - - # The secret is invalid. - INVALID = 3 - end - end - - # Kind of secret. - module SecretKind - # Unspecified - SECRET_KIND_UNSPECIFIED = 0 - - # The secret kind is unknown. - SECRET_KIND_UNKNOWN = 1 - - # A Google Cloud service account key per: - # https://cloud.google.com/iam/docs/creating-managing-service-account-keys - SECRET_KIND_GCP_SERVICE_ACCOUNT_KEY = 2 - - # A Google Cloud API key per: - # https://cloud.google.com/docs/authentication/api-keys - SECRET_KIND_GCP_API_KEY = 3 - - # A Google Cloud OAuth2 client credentials per: - # https://developers.google.com/identity/protocols/oauth2 - SECRET_KIND_GCP_OAUTH2_CLIENT_CREDENTIALS = 4 - - # A Google Cloud OAuth2 access token per: - # https://cloud.google.com/docs/authentication/token-types#access - SECRET_KIND_GCP_OAUTH2_ACCESS_TOKEN = 5 - - # An Anthropic Admin API key. - SECRET_KIND_ANTHROPIC_ADMIN_API_KEY = 6 - - # An Anthropic API key. - SECRET_KIND_ANTHROPIC_API_KEY = 7 - - # An Azure access token. - SECRET_KIND_AZURE_ACCESS_TOKEN = 8 - - # An Azure Identity Platform ID token. - SECRET_KIND_AZURE_IDENTITY_TOKEN = 9 - - # A Docker Hub personal access token. - SECRET_KIND_DOCKER_HUB_PERSONAL_ACCESS_TOKEN = 10 - - # A GitHub App refresh token. - SECRET_KIND_GITHUB_APP_REFRESH_TOKEN = 11 - - # A GitHub App server-to-server token. - SECRET_KIND_GITHUB_APP_SERVER_TO_SERVER_TOKEN = 12 - - # A GitHub App user-to-server token. - SECRET_KIND_GITHUB_APP_USER_TO_SERVER_TOKEN = 13 - - # A GitHub personal access token (classic). - SECRET_KIND_GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN = 14 - - # A GitHub fine-grained personal access token. - SECRET_KIND_GITHUB_FINE_GRAINED_PERSONAL_ACCESS_TOKEN = 15 - - # A GitHub OAuth token. - SECRET_KIND_GITHUB_OAUTH_TOKEN = 16 - - # A Hugging Face API key. - SECRET_KIND_HUGGINGFACE_API_KEY = 17 - - # An OpenAI API key. - SECRET_KIND_OPENAI_API_KEY = 18 - - # A Perplexity API key. - SECRET_KIND_PERPLEXITY_API_KEY = 19 - - # A Stripe secret key. - SECRET_KIND_STRIPE_SECRET_KEY = 20 - - # A Stripe restricted key. - SECRET_KIND_STRIPE_RESTRICTED_KEY = 21 - - # A Stripe webhook secret. - SECRET_KIND_STRIPE_WEBHOOK_SECRET = 22 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb deleted file mode 100644 index 49d42db38b43..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/severity.rb +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # Note provider assigned severity/impact ranking. - module Severity - # Unknown. - SEVERITY_UNSPECIFIED = 0 - - # Minimal severity. - MINIMAL = 1 - - # Low severity. - LOW = 2 - - # Medium severity. - MEDIUM = 3 - - # High severity. - HIGH = 4 - - # Critical severity. - CRITICAL = 5 - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb deleted file mode 100644 index de245b5e9238..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance.rb +++ /dev/null @@ -1,152 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # @!attribute [rw] builder - # @return [::Grafeas::V1::SlsaProvenance::SlsaBuilder] - # @!attribute [rw] recipe - # @return [::Grafeas::V1::SlsaProvenance::SlsaRecipe] - # Identifies the configuration used for the build. - # When combined with materials, this SHOULD fully describe the build, - # such that re-running this recipe results in bit-for-bit identical output - # (if the build is reproducible). - # @!attribute [rw] metadata - # @return [::Grafeas::V1::SlsaProvenance::SlsaMetadata] - # @!attribute [rw] materials - # @return [::Array<::Grafeas::V1::SlsaProvenance::Material>] - # The collection of artifacts that influenced the build including sources, - # dependencies, build tools, base images, and so on. This is considered to be - # incomplete unless metadata.completeness.materials is true. Unset or null is - # equivalent to empty. - class SlsaProvenance - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Steps taken to build the artifact. - # For a TaskRun, typically each container corresponds to one step in the - # recipe. - # @!attribute [rw] type - # @return [::String] - # URI indicating what type of recipe was performed. It determines the - # meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and - # materials. - # @!attribute [rw] defined_in_material - # @return [::Integer] - # Index in materials containing the recipe steps that are not implied by - # recipe.type. For example, if the recipe type were "make", then this would - # point to the source containing the Makefile, not the make program itself. - # Set to -1 if the recipe doesn't come from a material, as zero is default - # unset value for int64. - # @!attribute [rw] entry_point - # @return [::String] - # String identifying the entry point into the build. - # This is often a path to a configuration file and/or a target label within - # that file. The syntax and meaning are defined by recipe.type. For - # example, if the recipe type were "make", then this would reference the - # directory in which to run make as well as which target to use. - # @!attribute [rw] arguments - # @return [::Google::Protobuf::Any] - # Collection of all external inputs that influenced the build on top of - # recipe.definedInMaterial and recipe.entryPoint. For example, if the - # recipe type were "make", then this might be the flags passed to make - # aside from the target, which is captured in recipe.entryPoint. Depending - # on the recipe Type, the structure may be different. - # @!attribute [rw] environment - # @return [::Google::Protobuf::Any] - # Any other builder-controlled inputs necessary for correctly evaluating - # the recipe. Usually only needed for reproducing the build but not - # evaluated as part of policy. Depending on the recipe Type, the structure - # may be different. - class SlsaRecipe - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Indicates that the builder claims certain fields in this message to be - # complete. - # @!attribute [rw] arguments - # @return [::Boolean] - # If true, the builder claims that recipe.arguments is complete, meaning - # that all external inputs are properly captured in the recipe. - # @!attribute [rw] environment - # @return [::Boolean] - # If true, the builder claims that recipe.environment is claimed to be - # complete. - # @!attribute [rw] materials - # @return [::Boolean] - # If true, the builder claims that materials are complete, usually through - # some controls to prevent network access. Sometimes called "hermetic". - class SlsaCompleteness - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Other properties of the build. - # @!attribute [rw] build_invocation_id - # @return [::String] - # Identifies the particular build invocation, which can be useful for - # finding associated logs or other ad-hoc analysis. The value SHOULD be - # globally unique, per in-toto Provenance spec. - # @!attribute [rw] build_started_on - # @return [::Google::Protobuf::Timestamp] - # The timestamp of when the build started. - # @!attribute [rw] build_finished_on - # @return [::Google::Protobuf::Timestamp] - # The timestamp of when the build completed. - # @!attribute [rw] completeness - # @return [::Grafeas::V1::SlsaProvenance::SlsaCompleteness] - # Indicates that the builder claims certain fields in this message to be - # complete. - # @!attribute [rw] reproducible - # @return [::Boolean] - # If true, the builder claims that running the recipe on materials will - # produce bit-for-bit identical output. - class SlsaMetadata - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] id - # @return [::String] - class SlsaBuilder - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] uri - # @return [::String] - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - class Material - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb deleted file mode 100644 index 8cbf519a6aea..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/slsa_provenance_zero_two.rb +++ /dev/null @@ -1,131 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # @!attribute [rw] builder - # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaBuilder] - # @!attribute [rw] build_type - # @return [::String] - # @!attribute [rw] invocation - # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaInvocation] - # @!attribute [rw] build_config - # @return [::Google::Protobuf::Struct] - # @!attribute [rw] metadata - # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaMetadata] - # @!attribute [rw] materials - # @return [::Array<::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaMaterial>] - class SlsaProvenanceZeroTwo - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Identifies the entity that executed the recipe, which is trusted to have - # correctly performed the operation and populated this provenance. - # @!attribute [rw] id - # @return [::String] - class SlsaBuilder - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The collection of artifacts that influenced the build including sources, - # dependencies, build tools, base images, and so on. - # @!attribute [rw] uri - # @return [::String] - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - class SlsaMaterial - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Identifies the event that kicked off the build. - # @!attribute [rw] config_source - # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaConfigSource] - # @!attribute [rw] parameters - # @return [::Google::Protobuf::Struct] - # @!attribute [rw] environment - # @return [::Google::Protobuf::Struct] - class SlsaInvocation - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Describes where the config file that kicked off the build came from. - # This is effectively a pointer to the source where buildConfig came from. - # @!attribute [rw] uri - # @return [::String] - # @!attribute [rw] digest - # @return [::Google::Protobuf::Map{::String => ::String}] - # @!attribute [rw] entry_point - # @return [::String] - class SlsaConfigSource - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] key - # @return [::String] - # @!attribute [rw] value - # @return [::String] - class DigestEntry - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # Other properties of the build. - # @!attribute [rw] build_invocation_id - # @return [::String] - # @!attribute [rw] build_started_on - # @return [::Google::Protobuf::Timestamp] - # @!attribute [rw] build_finished_on - # @return [::Google::Protobuf::Timestamp] - # @!attribute [rw] completeness - # @return [::Grafeas::V1::SlsaProvenanceZeroTwo::SlsaCompleteness] - # @!attribute [rw] reproducible - # @return [::Boolean] - class SlsaMetadata - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Indicates that the builder claims certain fields in this message to be - # complete. - # @!attribute [rw] parameters - # @return [::Boolean] - # @!attribute [rw] environment - # @return [::Boolean] - # @!attribute [rw] materials - # @return [::Boolean] - class SlsaCompleteness - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb deleted file mode 100644 index d5353ac7f060..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/upgrade.rb +++ /dev/null @@ -1,148 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # An Upgrade Note represents a potential upgrade of a package to a given - # version. For each package version combination (i.e. bash 4.0, bash 4.1, - # bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field - # represents the information related to the update. - # @!attribute [rw] package - # @return [::String] - # Required for non-Windows OS. The package this Upgrade is for. - # @!attribute [rw] version - # @return [::Grafeas::V1::Version] - # Required for non-Windows OS. The version of the package in machine + human - # readable form. - # @!attribute [rw] distributions - # @return [::Array<::Grafeas::V1::UpgradeDistribution>] - # Metadata about the upgrade for each specific operating system. - # @!attribute [rw] windows_update - # @return [::Grafeas::V1::WindowsUpdate] - # Required for Windows OS. Represents the metadata about the Windows update. - class UpgradeNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The Upgrade Distribution represents metadata about the Upgrade for each - # operating system (CPE). Some distributions have additional metadata around - # updates, classifying them into various categories and severities. - # @!attribute [rw] cpe_uri - # @return [::String] - # Required - The specific operating system this metadata applies to. See - # https://cpe.mitre.org/specification/. - # @!attribute [rw] classification - # @return [::String] - # The operating system classification of this Upgrade, as specified by the - # upstream operating system upgrade feed. For Windows the classification is - # one of the category_ids listed at - # https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85) - # @!attribute [rw] severity - # @return [::String] - # The severity as specified by the upstream operating system. - # @!attribute [rw] cve - # @return [::Array<::String>] - # The cve tied to this Upgrade. - class UpgradeDistribution - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Windows Update represents the metadata about the update for the Windows - # operating system. The fields in this message come from the Windows Update API - # documented at - # https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate. - # @!attribute [rw] identity - # @return [::Grafeas::V1::WindowsUpdate::Identity] - # Required - The unique identifier for the update. - # @!attribute [rw] title - # @return [::String] - # The localized title of the update. - # @!attribute [rw] description - # @return [::String] - # The localized description of the update. - # @!attribute [rw] categories - # @return [::Array<::Grafeas::V1::WindowsUpdate::Category>] - # The list of categories to which the update belongs. - # @!attribute [rw] kb_article_ids - # @return [::Array<::String>] - # The Microsoft Knowledge Base article IDs that are associated with the - # update. - # @!attribute [rw] support_url - # @return [::String] - # The hyperlink to the support information for the update. - # @!attribute [rw] last_published_timestamp - # @return [::Google::Protobuf::Timestamp] - # The last published timestamp of the update. - class WindowsUpdate - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # The unique identifier of the update. - # @!attribute [rw] update_id - # @return [::String] - # The revision independent identifier of the update. - # @!attribute [rw] revision - # @return [::Integer] - # The revision number of the update. - class Identity - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # The category to which the update belongs. - # @!attribute [rw] category_id - # @return [::String] - # The identifier of the category. - # @!attribute [rw] name - # @return [::String] - # The localized name of the category. - class Category - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - - # An Upgrade Occurrence represents that a specific resource_url could install a - # specific upgrade. This presence is supplied via local sources (i.e. it is - # present in the mirror and the running system has noticed its availability). - # For Windows, both distribution and windows_update contain information for the - # Windows update. - # @!attribute [rw] package - # @return [::String] - # Required for non-Windows OS. The package this Upgrade is for. - # @!attribute [rw] parsed_version - # @return [::Grafeas::V1::Version] - # Required for non-Windows OS. The version of the package in a machine + - # human readable form. - # @!attribute [rw] distribution - # @return [::Grafeas::V1::UpgradeDistribution] - # Metadata about the upgrade for available for the specific operating system - # for the resource_url. This allows efficient filtering, as well as - # making it easier to use the occurrence. - # @!attribute [rw] windows_update - # @return [::Grafeas::V1::WindowsUpdate] - # Required for Windows OS. Represents the metadata about the Windows update. - class UpgradeOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb deleted file mode 100644 index d0cf29a1341c..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vex.rb +++ /dev/null @@ -1,237 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # A single VulnerabilityAssessmentNote represents - # one particular product's vulnerability assessment for one CVE. - # @!attribute [rw] title - # @return [::String] - # The title of the note. E.g. `Vex-Debian-11.4` - # @!attribute [rw] short_description - # @return [::String] - # A one sentence description of this Vex. - # @!attribute [rw] long_description - # @return [::String] - # A detailed description of this Vex. - # @!attribute [rw] language_code - # @return [::String] - # Identifies the language used by this document, - # corresponding to IETF BCP 47 / RFC 5646. - # @!attribute [rw] publisher - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Publisher] - # Publisher details of this Note. - # @!attribute [rw] product - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Product] - # The product affected by this vex. - # @!attribute [rw] assessment - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment] - # Represents a vulnerability assessment for the product. - class VulnerabilityAssessmentNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Publisher contains information about the publisher of - # this Note. - # (-- api-linter: core::0123::resource-annotation=disabled - # aip.dev/not-precedent: Publisher is not a separate resource. --) - # @!attribute [rw] name - # @return [::String] - # Name of the publisher. - # Examples: 'Google', 'Google Cloud Platform'. - # @!attribute [rw] issuing_authority - # @return [::String] - # Provides information about the authority of the issuing party to - # release the document, in particular, the party's constituency and - # responsibilities or other obligations. - # @!attribute [rw] publisher_namespace - # @return [::String] - # The context or namespace. - # Contains a URL which is under control of the issuing party and can - # be used as a globally unique identifier for that issuing party. - # Example: https://csaf.io - class Publisher - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Product contains information about a product and how to uniquely identify - # it. - # (-- api-linter: core::0123::resource-annotation=disabled - # aip.dev/not-precedent: Product is not a separate resource. --) - # @!attribute [rw] name - # @return [::String] - # Name of the product. - # @!attribute [rw] id - # @return [::String] - # Token that identifies a product so that it can be referred to from other - # parts in the document. There is no predefined format as long as it - # uniquely identifies a group in the context of the current document. - # @!attribute [rw] generic_uri - # @return [::String] - # Contains a URI which is vendor-specific. - # Example: The artifact repository URL of an image. - class Product - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # Assessment provides all information that is related to a single - # vulnerability for this product. - # @!attribute [rw] cve - # @deprecated This field is deprecated and may be removed in the next major version update. - # @return [::String] - # Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) - # tracking number for the vulnerability. - # Deprecated: Use vulnerability_id instead to denote CVEs. - # @!attribute [rw] vulnerability_id - # @return [::String] - # The vulnerability identifier for this Assessment. Will hold one of - # common identifiers e.g. CVE, GHSA etc. - # @!attribute [rw] short_description - # @return [::String] - # A one sentence description of this Vex. - # @!attribute [rw] long_description - # @return [::String] - # A detailed description of this Vex. - # @!attribute [rw] related_uris - # @return [::Array<::Grafeas::V1::RelatedUrl>] - # Holds a list of references associated with this vulnerability item and - # assessment. These uris have additional information about the - # vulnerability and the assessment itself. E.g. Link to a document which - # details how this assessment concluded the state of this vulnerability. - # @!attribute [rw] state - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::State] - # Provides the state of this Vulnerability assessment. - # @!attribute [rw] impacts - # @return [::Array<::String>] - # Contains information about the impact of this vulnerability, - # this will change with time. - # @!attribute [rw] justification - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Justification] - # Justification provides the justification when the state of the - # assessment if NOT_AFFECTED. - # @!attribute [rw] remediations - # @return [::Array<::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Remediation>] - # Specifies details on how to handle (and presumably, fix) a vulnerability. - class Assessment - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Justification provides the justification when the state of the - # assessment if NOT_AFFECTED. - # @!attribute [rw] justification_type - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Justification::JustificationType] - # The justification type for this vulnerability. - # @!attribute [rw] details - # @return [::String] - # Additional details on why this justification was chosen. - class Justification - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # Provides the type of justification. - module JustificationType - # JUSTIFICATION_TYPE_UNSPECIFIED. - JUSTIFICATION_TYPE_UNSPECIFIED = 0 - - # The vulnerable component is not present in the product. - COMPONENT_NOT_PRESENT = 1 - - # The vulnerable code is not present. Typically this case - # occurs when source code is configured or built in a way that excludes - # the vulnerable code. - VULNERABLE_CODE_NOT_PRESENT = 2 - - # The vulnerable code can not be executed. - # Typically this case occurs when the product includes the vulnerable - # code but does not call or use the vulnerable code. - VULNERABLE_CODE_NOT_IN_EXECUTE_PATH = 3 - - # The vulnerable code cannot be controlled by an attacker to exploit - # the vulnerability. - VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY = 4 - - # The product includes built-in protections or features that prevent - # exploitation of the vulnerability. These built-in protections cannot - # be subverted by the attacker and cannot be configured or disabled by - # the user. These mitigations completely prevent exploitation based on - # known attack vectors. - INLINE_MITIGATIONS_ALREADY_EXIST = 5 - end - end - - # Specifies details on how to handle (and presumably, fix) a vulnerability. - # @!attribute [rw] remediation_type - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Remediation::RemediationType] - # The type of remediation that can be applied. - # @!attribute [rw] details - # @return [::String] - # Contains a comprehensive human-readable discussion of the remediation. - # @!attribute [rw] remediation_uri - # @return [::Grafeas::V1::RelatedUrl] - # Contains the URL where to obtain the remediation. - class Remediation - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # The type of remediation that can be applied. - module RemediationType - # No remediation type specified. - REMEDIATION_TYPE_UNSPECIFIED = 0 - - # A MITIGATION is available. - MITIGATION = 1 - - # No fix is planned. - NO_FIX_PLANNED = 2 - - # Not available. - NONE_AVAILABLE = 3 - - # A vendor fix is available. - VENDOR_FIX = 4 - - # A workaround is available. - WORKAROUND = 5 - end - end - - # Provides the state of this Vulnerability assessment. - module State - # No state is specified. - STATE_UNSPECIFIED = 0 - - # This product is known to be affected by this vulnerability. - AFFECTED = 1 - - # This product is known to be not affected by this vulnerability. - NOT_AFFECTED = 2 - - # This product contains a fix for this vulnerability. - FIXED = 3 - - # It is not known yet whether these versions are or are not affected - # by the vulnerability. However, it is still under investigation. - UNDER_INVESTIGATION = 4 - end - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb b/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb deleted file mode 100644 index ac71249361dc..000000000000 --- a/owl-bot-staging/grafeas-v1/proto_docs/grafeas/v1/vulnerability.rb +++ /dev/null @@ -1,314 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - - -module Grafeas - module V1 - # A security vulnerability that can be found in resources. - # @!attribute [rw] cvss_score - # @return [::Float] - # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 - # where 0 indicates low severity and 10 indicates high severity. - # @!attribute [rw] severity - # @return [::Grafeas::V1::Severity] - # The note provider assigned severity of this vulnerability. - # @!attribute [rw] details - # @return [::Array<::Grafeas::V1::VulnerabilityNote::Detail>] - # Details of all known distros and packages affected by this vulnerability. - # @!attribute [rw] cvss_v3 - # @return [::Grafeas::V1::CVSSv3] - # The full description of the CVSSv3 for this vulnerability. - # @!attribute [rw] windows_details - # @return [::Array<::Grafeas::V1::VulnerabilityNote::WindowsDetail>] - # Windows details get their own format because the information format and - # model don't match a normal detail. Specifically Windows updates are done as - # patches, thus Windows vulnerabilities really are a missing package, rather - # than a package being at an incorrect version. - # @!attribute [rw] source_update_time - # @return [::Google::Protobuf::Timestamp] - # The time this information was last changed at the source. This is an - # upstream timestamp from the underlying information source - e.g. Ubuntu - # security tracker. - # @!attribute [rw] cvss_version - # @return [::Grafeas::V1::CVSSVersion] - # CVSS version used to populate cvss_score and severity. - # @!attribute [rw] cvss_v2 - # @return [::Grafeas::V1::CVSS] - # The full description of the v2 CVSS for this vulnerability. - class VulnerabilityNote - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # A detail for a distro and package affected by this vulnerability and its - # associated fix (if one is available). - # @!attribute [rw] severity_name - # @return [::String] - # The distro assigned severity of this vulnerability. - # @!attribute [rw] description - # @return [::String] - # A vendor-specific description of this vulnerability. - # @!attribute [rw] package_type - # @return [::String] - # The type of package; whether native or non native (e.g., ruby gems, - # node.js packages, etc.). - # @!attribute [rw] affected_cpe_uri - # @return [::String] - # Required. The [CPE URI](https://cpe.mitre.org/specification/) this - # vulnerability affects. - # @!attribute [rw] affected_package - # @return [::String] - # Required. The package this vulnerability affects. - # @!attribute [rw] affected_version_start - # @return [::Grafeas::V1::Version] - # The version number at the start of an interval in which this - # vulnerability exists. A vulnerability can affect a package between - # version numbers that are disjoint sets of intervals (example: - # [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be - # represented in its own Detail. If a specific affected version is provided - # by a vulnerability database, affected_version_start and - # affected_version_end will be the same in that Detail. - # @!attribute [rw] affected_version_end - # @return [::Grafeas::V1::Version] - # The version number at the end of an interval in which this vulnerability - # exists. A vulnerability can affect a package between version numbers - # that are disjoint sets of intervals (example: [1.0.0-1.1.0], - # [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its - # own Detail. If a specific affected version is provided by a vulnerability - # database, affected_version_start and affected_version_end will be the - # same in that Detail. - # @!attribute [rw] fixed_cpe_uri - # @return [::String] - # The distro recommended [CPE URI](https://cpe.mitre.org/specification/) - # to update to that contains a fix for this vulnerability. It is possible - # for this to be different from the affected_cpe_uri. - # @!attribute [rw] fixed_package - # @return [::String] - # The distro recommended package to update to that contains a fix for this - # vulnerability. It is possible for this to be different from the - # affected_package. - # @!attribute [rw] fixed_version - # @return [::Grafeas::V1::Version] - # The distro recommended version to update to that contains a - # fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no - # such version is yet available. - # @!attribute [rw] is_obsolete - # @return [::Boolean] - # Whether this detail is obsolete. Occurrences are expected not to point to - # obsolete details. - # @!attribute [rw] source_update_time - # @return [::Google::Protobuf::Timestamp] - # The time this information was last changed at the source. This is an - # upstream timestamp from the underlying information source - e.g. Ubuntu - # security tracker. - # @!attribute [rw] source - # @return [::String] - # The source from which the information in this Detail was obtained. - # @!attribute [rw] vendor - # @return [::String] - # The name of the vendor of the product. - class Detail - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # @!attribute [rw] cpe_uri - # @return [::String] - # Required. The [CPE URI](https://cpe.mitre.org/specification/) this - # vulnerability affects. - # @!attribute [rw] name - # @return [::String] - # Required. The name of this vulnerability. - # @!attribute [rw] description - # @return [::String] - # The description of this vulnerability. - # @!attribute [rw] fixing_kbs - # @return [::Array<::Grafeas::V1::VulnerabilityNote::WindowsDetail::KnowledgeBase>] - # Required. The names of the KBs which have hotfixes to mitigate this - # vulnerability. Note that there may be multiple hotfixes (and thus - # multiple KBs) that mitigate a given vulnerability. Currently any listed - # KBs presence is considered a fix. - class WindowsDetail - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # @!attribute [rw] name - # @return [::String] - # The KB name (generally of the form KB[0-9]+ (e.g., KB123456)). - # @!attribute [rw] url - # @return [::String] - # A link to the KB in the [Windows update catalog] - # (https://www.catalog.update.microsoft.com/). - class KnowledgeBase - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - end - - # An occurrence of a severity vulnerability on a resource. - # @!attribute [rw] type - # @return [::String] - # The type of package; whether native or non native (e.g., ruby gems, node.js - # packages, etc.). - # @!attribute [rw] severity - # @return [::Grafeas::V1::Severity] - # Output only. The note provider assigned severity of this vulnerability. - # @!attribute [rw] cvss_score - # @return [::Float] - # Output only. The CVSS score of this vulnerability. CVSS score is on a - # scale of 0 - 10 where 0 indicates low severity and 10 indicates high - # severity. - # @!attribute [rw] cvssv3 - # @return [::Grafeas::V1::CVSS] - # The cvss v3 score for the vulnerability. - # @!attribute [rw] package_issue - # @return [::Array<::Grafeas::V1::VulnerabilityOccurrence::PackageIssue>] - # Required. The set of affected locations and their fixes (if available) - # within the associated resource. - # @!attribute [rw] short_description - # @return [::String] - # Output only. A one sentence description of this vulnerability. - # @!attribute [rw] long_description - # @return [::String] - # Output only. A detailed description of this vulnerability. - # @!attribute [rw] related_urls - # @return [::Array<::Grafeas::V1::RelatedUrl>] - # Output only. URLs related to this vulnerability. - # @!attribute [rw] effective_severity - # @return [::Grafeas::V1::Severity] - # The distro assigned severity for this vulnerability when it is available, - # otherwise this is the note provider assigned severity. - # - # When there are multiple PackageIssues for this vulnerability, they can have - # different effective severities because some might be provided by the distro - # while others are provided by the language ecosystem for a language pack. - # For this reason, it is advised to use the effective severity on the - # PackageIssue level. In the case where multiple PackageIssues have differing - # effective severities, this field should be the highest severity for any of - # the PackageIssues. - # @!attribute [rw] fix_available - # @return [::Boolean] - # Output only. Whether at least one of the affected packages has a fix - # available. - # @!attribute [rw] cvss_version - # @return [::Grafeas::V1::CVSSVersion] - # Output only. CVSS version used to populate cvss_score and severity. - # @!attribute [rw] cvss_v2 - # @return [::Grafeas::V1::CVSS] - # The cvss v2 score for the vulnerability. - # @!attribute [rw] vex_assessment - # @return [::Grafeas::V1::VulnerabilityOccurrence::VexAssessment] - # @!attribute [rw] extra_details - # @return [::String] - # Occurrence-specific extra details about the vulnerability. - # @!attribute [rw] risk - # @return [::Grafeas::V1::Risk] - # Risk information about the vulnerability, such as CISA, EPSS, etc. - class VulnerabilityOccurrence - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - - # A detail for a distro and package this vulnerability occurrence was found - # in and its associated fix (if one is available). - # @!attribute [rw] affected_cpe_uri - # @return [::String] - # Required. The [CPE URI](https://cpe.mitre.org/specification/) this - # vulnerability was found in. - # @!attribute [rw] affected_package - # @return [::String] - # Required. The package this vulnerability was found in. - # @!attribute [rw] affected_version - # @return [::Grafeas::V1::Version] - # Required. The version of the package that is installed on the resource - # affected by this vulnerability. - # @!attribute [rw] fixed_cpe_uri - # @return [::String] - # The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability - # was fixed in. It is possible for this to be different from the - # affected_cpe_uri. - # @!attribute [rw] fixed_package - # @return [::String] - # The package this vulnerability was fixed in. It is possible for this to - # be different from the affected_package. - # @!attribute [rw] fixed_version - # @return [::Grafeas::V1::Version] - # Required. The version of the package this vulnerability was fixed in. - # Setting this to VersionKind.MAXIMUM means no fix is yet available. - # @!attribute [rw] fix_available - # @return [::Boolean] - # Output only. Whether a fix is available for this package. - # @!attribute [rw] package_type - # @return [::String] - # The type of package (e.g. OS, MAVEN, GO). - # @!attribute [r] effective_severity - # @return [::Grafeas::V1::Severity] - # The distro or language system assigned severity for this vulnerability - # when that is available and note provider assigned severity when it is not - # available. - # @!attribute [rw] file_location - # @return [::Array<::Grafeas::V1::FileLocation>] - # The location at which this package was found. - class PackageIssue - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - - # VexAssessment provides all publisher provided Vex information that is - # related to this vulnerability. - # @!attribute [rw] cve - # @deprecated This field is deprecated and may be removed in the next major version update. - # @return [::String] - # Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) - # tracking number for the vulnerability. - # Deprecated: Use vulnerability_id instead to denote CVEs. - # @!attribute [rw] vulnerability_id - # @return [::String] - # The vulnerability identifier for this Assessment. Will hold one of - # common identifiers e.g. CVE, GHSA etc. - # @!attribute [rw] related_uris - # @return [::Array<::Grafeas::V1::RelatedUrl>] - # Holds a list of references associated with this vulnerability item and - # assessment. - # @!attribute [rw] note_name - # @return [::String] - # The VulnerabilityAssessment note from which this VexAssessment was - # generated. - # This will be of the form: `projects/[PROJECT_ID]/notes/[NOTE_ID]`. - # (-- api-linter: core::0122::name-suffix=disabled - # aip.dev/not-precedent: The suffix is kept for consistency. --) - # @!attribute [rw] state - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::State] - # Provides the state of this Vulnerability assessment. - # @!attribute [rw] impacts - # @return [::Array<::String>] - # Contains information about the impact of this vulnerability, - # this will change with time. - # @!attribute [rw] remediations - # @return [::Array<::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Remediation>] - # Specifies details on how to handle (and presumably, fix) a vulnerability. - # @!attribute [rw] justification - # @return [::Grafeas::V1::VulnerabilityAssessmentNote::Assessment::Justification] - # Justification provides the justification when the state of the - # assessment if NOT_AFFECTED. - class VexAssessment - include ::Google::Protobuf::MessageExts - extend ::Google::Protobuf::MessageExts::ClassMethods - end - end - end -end diff --git a/owl-bot-staging/grafeas-v1/snippets/Gemfile b/owl-bot-staging/grafeas-v1/snippets/Gemfile deleted file mode 100644 index 549551d9d158..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/Gemfile +++ /dev/null @@ -1,32 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -source "https://rubygems.org" - -if ENV["GOOGLE_CLOUD_SAMPLES_TEST"] == "master" - gem "grafeas-v1", path: "../" -else - gem "grafeas-v1" -end - -group :test do - gem "google-style", "~> 1.26.1" - gem "minitest", "~> 5.16" - gem "minitest-focus", "~> 1.1" - gem "minitest-hooks", "~> 1.5" -end diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb deleted file mode 100644 index 3dca19f5e30c..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_notes.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_BatchCreateNotes_sync] -require "grafeas/v1" - -## -# Snippet for the batch_create_notes call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#batch_create_notes. -# -def batch_create_notes - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::BatchCreateNotesRequest.new - - # Call the batch_create_notes method. - result = client.batch_create_notes request - - # The returned object is of type Grafeas::V1::BatchCreateNotesResponse. - p result -end -# [END containeranalysis_v1_generated_Grafeas_BatchCreateNotes_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb deleted file mode 100644 index 7fb0e10e68bd..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/batch_create_occurrences.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_BatchCreateOccurrences_sync] -require "grafeas/v1" - -## -# Snippet for the batch_create_occurrences call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#batch_create_occurrences. -# -def batch_create_occurrences - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::BatchCreateOccurrencesRequest.new - - # Call the batch_create_occurrences method. - result = client.batch_create_occurrences request - - # The returned object is of type Grafeas::V1::BatchCreateOccurrencesResponse. - p result -end -# [END containeranalysis_v1_generated_Grafeas_BatchCreateOccurrences_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb deleted file mode 100644 index 78afb9c5c326..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/create_note.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_CreateNote_sync] -require "grafeas/v1" - -## -# Snippet for the create_note call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#create_note. -# -def create_note - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::CreateNoteRequest.new - - # Call the create_note method. - result = client.create_note request - - # The returned object is of type Grafeas::V1::Note. - p result -end -# [END containeranalysis_v1_generated_Grafeas_CreateNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb deleted file mode 100644 index f096444c8a9a..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/create_occurrence.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_CreateOccurrence_sync] -require "grafeas/v1" - -## -# Snippet for the create_occurrence call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#create_occurrence. -# -def create_occurrence - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::CreateOccurrenceRequest.new - - # Call the create_occurrence method. - result = client.create_occurrence request - - # The returned object is of type Grafeas::V1::Occurrence. - p result -end -# [END containeranalysis_v1_generated_Grafeas_CreateOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb deleted file mode 100644 index 130f3650ad78..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_note.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_DeleteNote_sync] -require "grafeas/v1" - -## -# Snippet for the delete_note call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#delete_note. -# -def delete_note - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::DeleteNoteRequest.new - - # Call the delete_note method. - result = client.delete_note request - - # The returned object is of type Google::Protobuf::Empty. - p result -end -# [END containeranalysis_v1_generated_Grafeas_DeleteNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb deleted file mode 100644 index 345a7bafaffb..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/delete_occurrence.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_DeleteOccurrence_sync] -require "grafeas/v1" - -## -# Snippet for the delete_occurrence call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#delete_occurrence. -# -def delete_occurrence - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::DeleteOccurrenceRequest.new - - # Call the delete_occurrence method. - result = client.delete_occurrence request - - # The returned object is of type Google::Protobuf::Empty. - p result -end -# [END containeranalysis_v1_generated_Grafeas_DeleteOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb deleted file mode 100644 index fb90bd7d7bf7..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_note.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_GetNote_sync] -require "grafeas/v1" - -## -# Snippet for the get_note call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#get_note. -# -def get_note - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::GetNoteRequest.new - - # Call the get_note method. - result = client.get_note request - - # The returned object is of type Grafeas::V1::Note. - p result -end -# [END containeranalysis_v1_generated_Grafeas_GetNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb deleted file mode 100644 index 34efaee3033e..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_GetOccurrence_sync] -require "grafeas/v1" - -## -# Snippet for the get_occurrence call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#get_occurrence. -# -def get_occurrence - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::GetOccurrenceRequest.new - - # Call the get_occurrence method. - result = client.get_occurrence request - - # The returned object is of type Grafeas::V1::Occurrence. - p result -end -# [END containeranalysis_v1_generated_Grafeas_GetOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb deleted file mode 100644 index eb5c20b49106..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/get_occurrence_note.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_GetOccurrenceNote_sync] -require "grafeas/v1" - -## -# Snippet for the get_occurrence_note call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#get_occurrence_note. -# -def get_occurrence_note - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::GetOccurrenceNoteRequest.new - - # Call the get_occurrence_note method. - result = client.get_occurrence_note request - - # The returned object is of type Grafeas::V1::Note. - p result -end -# [END containeranalysis_v1_generated_Grafeas_GetOccurrenceNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb deleted file mode 100644 index 176aadb8a24c..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_note_occurrences.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_ListNoteOccurrences_sync] -require "grafeas/v1" - -## -# Snippet for the list_note_occurrences call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#list_note_occurrences. -# -def list_note_occurrences - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::ListNoteOccurrencesRequest.new - - # Call the list_note_occurrences method. - result = client.list_note_occurrences request - - # The returned object is of type Gapic::PagedEnumerable. You can iterate - # over elements, and API calls will be issued to fetch pages as needed. - result.each do |item| - # Each element is of type ::Grafeas::V1::Occurrence. - p item - end -end -# [END containeranalysis_v1_generated_Grafeas_ListNoteOccurrences_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb deleted file mode 100644 index 75a6d5fed888..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_notes.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_ListNotes_sync] -require "grafeas/v1" - -## -# Snippet for the list_notes call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#list_notes. -# -def list_notes - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::ListNotesRequest.new - - # Call the list_notes method. - result = client.list_notes request - - # The returned object is of type Gapic::PagedEnumerable. You can iterate - # over elements, and API calls will be issued to fetch pages as needed. - result.each do |item| - # Each element is of type ::Grafeas::V1::Note. - p item - end -end -# [END containeranalysis_v1_generated_Grafeas_ListNotes_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb deleted file mode 100644 index e23051faf761..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/list_occurrences.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_ListOccurrences_sync] -require "grafeas/v1" - -## -# Snippet for the list_occurrences call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#list_occurrences. -# -def list_occurrences - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::ListOccurrencesRequest.new - - # Call the list_occurrences method. - result = client.list_occurrences request - - # The returned object is of type Gapic::PagedEnumerable. You can iterate - # over elements, and API calls will be issued to fetch pages as needed. - result.each do |item| - # Each element is of type ::Grafeas::V1::Occurrence. - p item - end -end -# [END containeranalysis_v1_generated_Grafeas_ListOccurrences_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb deleted file mode 100644 index 7744b6a35993..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/update_note.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_UpdateNote_sync] -require "grafeas/v1" - -## -# Snippet for the update_note call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#update_note. -# -def update_note - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::UpdateNoteRequest.new - - # Call the update_note method. - result = client.update_note request - - # The returned object is of type Grafeas::V1::Note. - p result -end -# [END containeranalysis_v1_generated_Grafeas_UpdateNote_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb b/owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb deleted file mode 100644 index 8f2301dba810..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/grafeas/update_occurrence.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -# [START containeranalysis_v1_generated_Grafeas_UpdateOccurrence_sync] -require "grafeas/v1" - -## -# Snippet for the update_occurrence call in the Grafeas service -# -# This snippet has been automatically generated and should be regarded as a code -# template only. It will require modifications to work: -# - It may require correct/in-range values for request initialization. -# - It may require specifying regional endpoints when creating the service -# client as shown in https://cloud.google.com/ruby/docs/reference. -# -# This is an auto-generated example demonstrating basic usage of -# Grafeas::V1::Grafeas::Client#update_occurrence. -# -def update_occurrence - # Create a client object. The client can be reused for multiple calls. - client = Grafeas::V1::Grafeas::Client.new - - # Create a request. To set request fields, pass in keyword arguments. - request = Grafeas::V1::UpdateOccurrenceRequest.new - - # Call the update_occurrence method. - result = client.update_occurrence request - - # The returned object is of type Grafeas::V1::Occurrence. - p result -end -# [END containeranalysis_v1_generated_Grafeas_UpdateOccurrence_sync] diff --git a/owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json b/owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json deleted file mode 100644 index 75b0689c6fff..000000000000 --- a/owl-bot-staging/grafeas-v1/snippets/snippet_metadata_grafeas.v1.json +++ /dev/null @@ -1,575 +0,0 @@ -{ - "client_library": { - "name": "grafeas-v1", - "version": "", - "language": "RUBY", - "apis": [ - { - "id": "grafeas.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "region_tag": "containeranalysis_v1_generated_Grafeas_GetOccurrence_sync", - "title": "Snippet for the get_occurrence call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#get_occurrence.", - "file": "grafeas/get_occurrence.rb", - "language": "RUBY", - "client_method": { - "short_name": "get_occurrence", - "full_name": "::Grafeas::V1::Grafeas::Client#get_occurrence", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::GetOccurrenceRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Occurrence", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "GetOccurrence", - "full_name": "grafeas.v1.Grafeas.GetOccurrence", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_ListOccurrences_sync", - "title": "Snippet for the list_occurrences call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#list_occurrences.", - "file": "grafeas/list_occurrences.rb", - "language": "RUBY", - "client_method": { - "short_name": "list_occurrences", - "full_name": "::Grafeas::V1::Grafeas::Client#list_occurrences", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::ListOccurrencesRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::ListOccurrencesResponse", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "ListOccurrences", - "full_name": "grafeas.v1.Grafeas.ListOccurrences", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 50, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_DeleteOccurrence_sync", - "title": "Snippet for the delete_occurrence call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#delete_occurrence.", - "file": "grafeas/delete_occurrence.rb", - "language": "RUBY", - "client_method": { - "short_name": "delete_occurrence", - "full_name": "::Grafeas::V1::Grafeas::Client#delete_occurrence", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::DeleteOccurrenceRequest", - "name": "request" - } - ], - "result_type": "::Google::Protobuf::Empty", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "DeleteOccurrence", - "full_name": "grafeas.v1.Grafeas.DeleteOccurrence", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_CreateOccurrence_sync", - "title": "Snippet for the create_occurrence call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#create_occurrence.", - "file": "grafeas/create_occurrence.rb", - "language": "RUBY", - "client_method": { - "short_name": "create_occurrence", - "full_name": "::Grafeas::V1::Grafeas::Client#create_occurrence", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::CreateOccurrenceRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Occurrence", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "CreateOccurrence", - "full_name": "grafeas.v1.Grafeas.CreateOccurrence", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_BatchCreateOccurrences_sync", - "title": "Snippet for the batch_create_occurrences call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#batch_create_occurrences.", - "file": "grafeas/batch_create_occurrences.rb", - "language": "RUBY", - "client_method": { - "short_name": "batch_create_occurrences", - "full_name": "::Grafeas::V1::Grafeas::Client#batch_create_occurrences", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::BatchCreateOccurrencesRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::BatchCreateOccurrencesResponse", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "BatchCreateOccurrences", - "full_name": "grafeas.v1.Grafeas.BatchCreateOccurrences", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_UpdateOccurrence_sync", - "title": "Snippet for the update_occurrence call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#update_occurrence.", - "file": "grafeas/update_occurrence.rb", - "language": "RUBY", - "client_method": { - "short_name": "update_occurrence", - "full_name": "::Grafeas::V1::Grafeas::Client#update_occurrence", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::UpdateOccurrenceRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Occurrence", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "UpdateOccurrence", - "full_name": "grafeas.v1.Grafeas.UpdateOccurrence", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_GetOccurrenceNote_sync", - "title": "Snippet for the get_occurrence_note call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#get_occurrence_note.", - "file": "grafeas/get_occurrence_note.rb", - "language": "RUBY", - "client_method": { - "short_name": "get_occurrence_note", - "full_name": "::Grafeas::V1::Grafeas::Client#get_occurrence_note", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::GetOccurrenceNoteRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Note", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "GetOccurrenceNote", - "full_name": "grafeas.v1.Grafeas.GetOccurrenceNote", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_GetNote_sync", - "title": "Snippet for the get_note call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#get_note.", - "file": "grafeas/get_note.rb", - "language": "RUBY", - "client_method": { - "short_name": "get_note", - "full_name": "::Grafeas::V1::Grafeas::Client#get_note", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::GetNoteRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Note", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "GetNote", - "full_name": "grafeas.v1.Grafeas.GetNote", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_ListNotes_sync", - "title": "Snippet for the list_notes call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#list_notes.", - "file": "grafeas/list_notes.rb", - "language": "RUBY", - "client_method": { - "short_name": "list_notes", - "full_name": "::Grafeas::V1::Grafeas::Client#list_notes", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::ListNotesRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::ListNotesResponse", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "ListNotes", - "full_name": "grafeas.v1.Grafeas.ListNotes", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 50, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_DeleteNote_sync", - "title": "Snippet for the delete_note call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#delete_note.", - "file": "grafeas/delete_note.rb", - "language": "RUBY", - "client_method": { - "short_name": "delete_note", - "full_name": "::Grafeas::V1::Grafeas::Client#delete_note", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::DeleteNoteRequest", - "name": "request" - } - ], - "result_type": "::Google::Protobuf::Empty", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "DeleteNote", - "full_name": "grafeas.v1.Grafeas.DeleteNote", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_CreateNote_sync", - "title": "Snippet for the create_note call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#create_note.", - "file": "grafeas/create_note.rb", - "language": "RUBY", - "client_method": { - "short_name": "create_note", - "full_name": "::Grafeas::V1::Grafeas::Client#create_note", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::CreateNoteRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Note", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "CreateNote", - "full_name": "grafeas.v1.Grafeas.CreateNote", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_BatchCreateNotes_sync", - "title": "Snippet for the batch_create_notes call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#batch_create_notes.", - "file": "grafeas/batch_create_notes.rb", - "language": "RUBY", - "client_method": { - "short_name": "batch_create_notes", - "full_name": "::Grafeas::V1::Grafeas::Client#batch_create_notes", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::BatchCreateNotesRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::BatchCreateNotesResponse", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "BatchCreateNotes", - "full_name": "grafeas.v1.Grafeas.BatchCreateNotes", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_UpdateNote_sync", - "title": "Snippet for the update_note call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#update_note.", - "file": "grafeas/update_note.rb", - "language": "RUBY", - "client_method": { - "short_name": "update_note", - "full_name": "::Grafeas::V1::Grafeas::Client#update_note", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::UpdateNoteRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::Note", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "UpdateNote", - "full_name": "grafeas.v1.Grafeas.UpdateNote", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 46, - "type": "FULL" - } - ] - }, - { - "region_tag": "containeranalysis_v1_generated_Grafeas_ListNoteOccurrences_sync", - "title": "Snippet for the list_note_occurrences call in the Grafeas service", - "description": "This is an auto-generated example demonstrating basic usage of Grafeas::V1::Grafeas::Client#list_note_occurrences.", - "file": "grafeas/list_note_occurrences.rb", - "language": "RUBY", - "client_method": { - "short_name": "list_note_occurrences", - "full_name": "::Grafeas::V1::Grafeas::Client#list_note_occurrences", - "async": false, - "parameters": [ - { - "type": "::Grafeas::V1::ListNoteOccurrencesRequest", - "name": "request" - } - ], - "result_type": "::Grafeas::V1::ListNoteOccurrencesResponse", - "client": { - "short_name": "Grafeas::Client", - "full_name": "::Grafeas::V1::Grafeas::Client" - }, - "method": { - "short_name": "ListNoteOccurrences", - "full_name": "grafeas.v1.Grafeas.ListNoteOccurrences", - "service": { - "short_name": "Grafeas", - "full_name": "grafeas.v1.Grafeas" - } - } - }, - "canonical": true, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 20, - "end": 50, - "type": "FULL" - } - ] - } - ] -} \ No newline at end of file diff --git a/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb b/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb deleted file mode 100644 index c1ca7ff02579..000000000000 --- a/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_paths_test.rb +++ /dev/null @@ -1,79 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "helper" - -require "gapic/grpc/service_stub" - -require "grafeas/v1/grafeas" - -class ::Grafeas::V1::Grafeas::ClientPathsTest < Minitest::Test - class DummyStub - def endpoint - "endpoint.example.com" - end - - def universe_domain - "example.com" - end - - def stub_logger - nil - end - - def logger - nil - end - end - - def test_note_path - grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - ::Gapic::ServiceStub.stub :new, DummyStub.new do - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - path = client.note_path project: "value0", note: "value1" - assert_equal "projects/value0/notes/value1", path - end - end - - def test_occurrence_path - grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - ::Gapic::ServiceStub.stub :new, DummyStub.new do - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - path = client.occurrence_path project: "value0", occurrence: "value1" - assert_equal "projects/value0/occurrences/value1", path - end - end - - def test_project_path - grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - ::Gapic::ServiceStub.stub :new, DummyStub.new do - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - path = client.project_path project: "value0" - assert_equal "projects/value0", path - end - end -end diff --git a/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb b/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb deleted file mode 100644 index 87615088c6ce..000000000000 --- a/owl-bot-staging/grafeas-v1/test/grafeas/v1/grafeas_test.rb +++ /dev/null @@ -1,971 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "helper" - -require "gapic/grpc/service_stub" - -require "grafeas/v1/grafeas_pb" -require "grafeas/v1/grafeas" - -class ::Grafeas::V1::Grafeas::ClientTest < Minitest::Test - class ClientStub - attr_accessor :call_rpc_count, :requests - - def initialize response, operation, &block - @response = response - @operation = operation - @block = block - @call_rpc_count = 0 - @requests = [] - end - - def call_rpc *args, **kwargs - @call_rpc_count += 1 - - @requests << @block&.call(*args, **kwargs) - - catch :response do - yield @response, @operation if block_given? - @response - end - end - - def endpoint - "endpoint.example.com" - end - - def universe_domain - "example.com" - end - - def stub_logger - nil - end - - def logger - nil - end - end - - def test_get_occurrence - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Occurrence.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - - get_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :get_occurrence, name - assert_kind_of ::Grafeas::V1::GetOccurrenceRequest, request - assert_equal "hello world", request["name"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, get_occurrence_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.get_occurrence({ name: name }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.get_occurrence name: name do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.get_occurrence ::Grafeas::V1::GetOccurrenceRequest.new(name: name) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.get_occurrence({ name: name }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.get_occurrence(::Grafeas::V1::GetOccurrenceRequest.new(name: name), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, get_occurrence_client_stub.call_rpc_count - end - end - - def test_list_occurrences - # Create GRPC objects. - grpc_response = ::Grafeas::V1::ListOccurrencesResponse.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - parent = "hello world" - filter = "hello world" - page_size = 42 - page_token = "hello world" - return_partial_success = true - - list_occurrences_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :list_occurrences, name - assert_kind_of ::Grafeas::V1::ListOccurrencesRequest, request - assert_equal "hello world", request["parent"] - assert_equal "hello world", request["filter"] - assert_equal 42, request["page_size"] - assert_equal "hello world", request["page_token"] - assert_equal true, request["return_partial_success"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, list_occurrences_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.list_occurrences({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.list_occurrences parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.list_occurrences ::Grafeas::V1::ListOccurrencesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.list_occurrences({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, grpc_options) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.list_occurrences(::Grafeas::V1::ListOccurrencesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), grpc_options) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, list_occurrences_client_stub.call_rpc_count - end - end - - def test_delete_occurrence - # Create GRPC objects. - grpc_response = ::Google::Protobuf::Empty.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - - delete_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :delete_occurrence, name - assert_kind_of ::Grafeas::V1::DeleteOccurrenceRequest, request - assert_equal "hello world", request["name"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, delete_occurrence_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.delete_occurrence({ name: name }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.delete_occurrence name: name do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.delete_occurrence ::Grafeas::V1::DeleteOccurrenceRequest.new(name: name) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.delete_occurrence({ name: name }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.delete_occurrence(::Grafeas::V1::DeleteOccurrenceRequest.new(name: name), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, delete_occurrence_client_stub.call_rpc_count - end - end - - def test_create_occurrence - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Occurrence.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - parent = "hello world" - occurrence = {} - - create_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :create_occurrence, name - assert_kind_of ::Grafeas::V1::CreateOccurrenceRequest, request - assert_equal "hello world", request["parent"] - assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Occurrence), request["occurrence"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, create_occurrence_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.create_occurrence({ parent: parent, occurrence: occurrence }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.create_occurrence parent: parent, occurrence: occurrence do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.create_occurrence ::Grafeas::V1::CreateOccurrenceRequest.new(parent: parent, occurrence: occurrence) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.create_occurrence({ parent: parent, occurrence: occurrence }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.create_occurrence(::Grafeas::V1::CreateOccurrenceRequest.new(parent: parent, occurrence: occurrence), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, create_occurrence_client_stub.call_rpc_count - end - end - - def test_batch_create_occurrences - # Create GRPC objects. - grpc_response = ::Grafeas::V1::BatchCreateOccurrencesResponse.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - parent = "hello world" - occurrences = [{}] - - batch_create_occurrences_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :batch_create_occurrences, name - assert_kind_of ::Grafeas::V1::BatchCreateOccurrencesRequest, request - assert_equal "hello world", request["parent"] - assert_kind_of ::Grafeas::V1::Occurrence, request["occurrences"].first - refute_nil options - end - - Gapic::ServiceStub.stub :new, batch_create_occurrences_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.batch_create_occurrences({ parent: parent, occurrences: occurrences }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.batch_create_occurrences parent: parent, occurrences: occurrences do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.batch_create_occurrences ::Grafeas::V1::BatchCreateOccurrencesRequest.new(parent: parent, occurrences: occurrences) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.batch_create_occurrences({ parent: parent, occurrences: occurrences }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.batch_create_occurrences(::Grafeas::V1::BatchCreateOccurrencesRequest.new(parent: parent, occurrences: occurrences), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, batch_create_occurrences_client_stub.call_rpc_count - end - end - - def test_update_occurrence - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Occurrence.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - occurrence = {} - update_mask = {} - - update_occurrence_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :update_occurrence, name - assert_kind_of ::Grafeas::V1::UpdateOccurrenceRequest, request - assert_equal "hello world", request["name"] - assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Occurrence), request["occurrence"] - assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, update_occurrence_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.update_occurrence({ name: name, occurrence: occurrence, update_mask: update_mask }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.update_occurrence name: name, occurrence: occurrence, update_mask: update_mask do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.update_occurrence ::Grafeas::V1::UpdateOccurrenceRequest.new(name: name, occurrence: occurrence, update_mask: update_mask) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.update_occurrence({ name: name, occurrence: occurrence, update_mask: update_mask }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.update_occurrence(::Grafeas::V1::UpdateOccurrenceRequest.new(name: name, occurrence: occurrence, update_mask: update_mask), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, update_occurrence_client_stub.call_rpc_count - end - end - - def test_get_occurrence_note - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Note.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - - get_occurrence_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :get_occurrence_note, name - assert_kind_of ::Grafeas::V1::GetOccurrenceNoteRequest, request - assert_equal "hello world", request["name"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, get_occurrence_note_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.get_occurrence_note({ name: name }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.get_occurrence_note name: name do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.get_occurrence_note ::Grafeas::V1::GetOccurrenceNoteRequest.new(name: name) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.get_occurrence_note({ name: name }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.get_occurrence_note(::Grafeas::V1::GetOccurrenceNoteRequest.new(name: name), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, get_occurrence_note_client_stub.call_rpc_count - end - end - - def test_get_note - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Note.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - - get_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :get_note, name - assert_kind_of ::Grafeas::V1::GetNoteRequest, request - assert_equal "hello world", request["name"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, get_note_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.get_note({ name: name }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.get_note name: name do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.get_note ::Grafeas::V1::GetNoteRequest.new(name: name) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.get_note({ name: name }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.get_note(::Grafeas::V1::GetNoteRequest.new(name: name), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, get_note_client_stub.call_rpc_count - end - end - - def test_list_notes - # Create GRPC objects. - grpc_response = ::Grafeas::V1::ListNotesResponse.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - parent = "hello world" - filter = "hello world" - page_size = 42 - page_token = "hello world" - return_partial_success = true - - list_notes_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :list_notes, name - assert_kind_of ::Grafeas::V1::ListNotesRequest, request - assert_equal "hello world", request["parent"] - assert_equal "hello world", request["filter"] - assert_equal 42, request["page_size"] - assert_equal "hello world", request["page_token"] - assert_equal true, request["return_partial_success"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, list_notes_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.list_notes({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.list_notes parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.list_notes ::Grafeas::V1::ListNotesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.list_notes({ parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success }, grpc_options) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.list_notes(::Grafeas::V1::ListNotesRequest.new(parent: parent, filter: filter, page_size: page_size, page_token: page_token, return_partial_success: return_partial_success), grpc_options) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, list_notes_client_stub.call_rpc_count - end - end - - def test_delete_note - # Create GRPC objects. - grpc_response = ::Google::Protobuf::Empty.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - - delete_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :delete_note, name - assert_kind_of ::Grafeas::V1::DeleteNoteRequest, request - assert_equal "hello world", request["name"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, delete_note_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.delete_note({ name: name }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.delete_note name: name do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.delete_note ::Grafeas::V1::DeleteNoteRequest.new(name: name) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.delete_note({ name: name }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.delete_note(::Grafeas::V1::DeleteNoteRequest.new(name: name), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, delete_note_client_stub.call_rpc_count - end - end - - def test_create_note - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Note.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - parent = "hello world" - note_id = "hello world" - note = {} - - create_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :create_note, name - assert_kind_of ::Grafeas::V1::CreateNoteRequest, request - assert_equal "hello world", request["parent"] - assert_equal "hello world", request["note_id"] - assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Note), request["note"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, create_note_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.create_note({ parent: parent, note_id: note_id, note: note }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.create_note parent: parent, note_id: note_id, note: note do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.create_note ::Grafeas::V1::CreateNoteRequest.new(parent: parent, note_id: note_id, note: note) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.create_note({ parent: parent, note_id: note_id, note: note }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.create_note(::Grafeas::V1::CreateNoteRequest.new(parent: parent, note_id: note_id, note: note), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, create_note_client_stub.call_rpc_count - end - end - - def test_batch_create_notes - # Create GRPC objects. - grpc_response = ::Grafeas::V1::BatchCreateNotesResponse.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - parent = "hello world" - notes = {} - - batch_create_notes_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :batch_create_notes, name - assert_kind_of ::Grafeas::V1::BatchCreateNotesRequest, request - assert_equal "hello world", request["parent"] - assert_equal({}, request["notes"].to_h) - refute_nil options - end - - Gapic::ServiceStub.stub :new, batch_create_notes_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.batch_create_notes({ parent: parent, notes: notes }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.batch_create_notes parent: parent, notes: notes do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.batch_create_notes ::Grafeas::V1::BatchCreateNotesRequest.new(parent: parent, notes: notes) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.batch_create_notes({ parent: parent, notes: notes }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.batch_create_notes(::Grafeas::V1::BatchCreateNotesRequest.new(parent: parent, notes: notes), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, batch_create_notes_client_stub.call_rpc_count - end - end - - def test_update_note - # Create GRPC objects. - grpc_response = ::Grafeas::V1::Note.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - note = {} - update_mask = {} - - update_note_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :update_note, name - assert_kind_of ::Grafeas::V1::UpdateNoteRequest, request - assert_equal "hello world", request["name"] - assert_equal Gapic::Protobuf.coerce({}, to: ::Grafeas::V1::Note), request["note"] - assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, update_note_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.update_note({ name: name, note: note, update_mask: update_mask }) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.update_note name: name, note: note, update_mask: update_mask do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.update_note ::Grafeas::V1::UpdateNoteRequest.new(name: name, note: note, update_mask: update_mask) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.update_note({ name: name, note: note, update_mask: update_mask }, grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.update_note(::Grafeas::V1::UpdateNoteRequest.new(name: name, note: note, update_mask: update_mask), grpc_options) do |response, operation| - assert_equal grpc_response, response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, update_note_client_stub.call_rpc_count - end - end - - def test_list_note_occurrences - # Create GRPC objects. - grpc_response = ::Grafeas::V1::ListNoteOccurrencesResponse.new - grpc_operation = GRPC::ActiveCall::Operation.new nil - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - grpc_options = {} - - # Create request parameters for a unary method. - name = "hello world" - filter = "hello world" - page_size = 42 - page_token = "hello world" - - list_note_occurrences_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| - assert_equal :list_note_occurrences, name - assert_kind_of ::Grafeas::V1::ListNoteOccurrencesRequest, request - assert_equal "hello world", request["name"] - assert_equal "hello world", request["filter"] - assert_equal 42, request["page_size"] - assert_equal "hello world", request["page_token"] - refute_nil options - end - - Gapic::ServiceStub.stub :new, list_note_occurrences_client_stub do - # Create client - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - - # Use hash object - client.list_note_occurrences({ name: name, filter: filter, page_size: page_size, page_token: page_token }) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use named arguments - client.list_note_occurrences name: name, filter: filter, page_size: page_size, page_token: page_token do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use protobuf object - client.list_note_occurrences ::Grafeas::V1::ListNoteOccurrencesRequest.new(name: name, filter: filter, page_size: page_size, page_token: page_token) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use hash object with options - client.list_note_occurrences({ name: name, filter: filter, page_size: page_size, page_token: page_token }, grpc_options) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Use protobuf object with options - client.list_note_occurrences(::Grafeas::V1::ListNoteOccurrencesRequest.new(name: name, filter: filter, page_size: page_size, page_token: page_token), grpc_options) do |response, operation| - assert_kind_of Gapic::PagedEnumerable, response - assert_equal grpc_response, response.response - assert_equal grpc_operation, operation - end - - # Verify method calls - assert_equal 5, list_note_occurrences_client_stub.call_rpc_count - end - end - - def test_configure - grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure - - client = block_config = config = nil - dummy_stub = ClientStub.new nil, nil - Gapic::ServiceStub.stub :new, dummy_stub do - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = grpc_channel - end - end - - config = client.configure do |c| - block_config = c - end - - assert_same block_config, config - assert_kind_of ::Grafeas::V1::Grafeas::Client::Configuration, config - end - - def test_credentials - key = OpenSSL::PKey::RSA.new 2048 - cred_json = { - "private_key" => key.to_pem, - "client_email" => "app@developer.gserviceaccount.com", - "type" => "service_account" - } - key_file = StringIO.new cred_json.to_json - creds = Google::Auth::ServiceAccountCredentials.make_creds({ json_key_io: key_file }) - - dummy_stub = ClientStub.new nil, nil - Gapic::ServiceStub.stub :new, dummy_stub do - client = ::Grafeas::V1::Grafeas::Client.new do |config| - config.credentials = creds - end - assert_kind_of ::Grafeas::V1::Grafeas::Client, client - assert_equal creds, client.configure.credentials - end - end -end diff --git a/owl-bot-staging/grafeas-v1/test/helper.rb b/owl-bot-staging/grafeas-v1/test/helper.rb deleted file mode 100644 index f0e715458fa2..000000000000 --- a/owl-bot-staging/grafeas-v1/test/helper.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -# Copyright 2026 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 -# -# https://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. - -# Auto-generated by gapic-generator-ruby. DO NOT EDIT! - -require "minitest/autorun" -require "minitest/focus" -require "minitest/rg" - -require "grpc" - -require "ostruct"