grafeas-client 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -2
  3. data/README.md +4 -4
  4. data/lib/grafeas/client/version.rb +1 -2
  5. metadata +12 -73
  6. data/AUTHENTICATION.md +0 -199
  7. data/lib/grafeas.rb +0 -154
  8. data/lib/grafeas/v1.rb +0 -155
  9. data/lib/grafeas/v1/attestation_pb.rb +0 -27
  10. data/lib/grafeas/v1/build_pb.rb +0 -23
  11. data/lib/grafeas/v1/common_pb.rb +0 -34
  12. data/lib/grafeas/v1/credentials.rb +0 -37
  13. data/lib/grafeas/v1/cvss_pb.rb +0 -67
  14. data/lib/grafeas/v1/deployment_pb.rb +0 -35
  15. data/lib/grafeas/v1/discovery_pb.rb +0 -40
  16. data/lib/grafeas/v1/doc/google/protobuf/any.rb +0 -131
  17. data/lib/grafeas/v1/doc/google/protobuf/empty.rb +0 -29
  18. data/lib/grafeas/v1/doc/google/protobuf/field_mask.rb +0 -222
  19. data/lib/grafeas/v1/doc/google/protobuf/timestamp.rb +0 -113
  20. data/lib/grafeas/v1/doc/google/rpc/status.rb +0 -87
  21. data/lib/grafeas/v1/doc/grafeas/v1/attestation.rb +0 -64
  22. data/lib/grafeas/v1/doc/grafeas/v1/build.rb +0 -44
  23. data/lib/grafeas/v1/doc/grafeas/v1/common.rb +0 -105
  24. data/lib/grafeas/v1/doc/grafeas/v1/cvss.rb +0 -104
  25. data/lib/grafeas/v1/doc/grafeas/v1/deployment.rb +0 -64
  26. data/lib/grafeas/v1/doc/grafeas/v1/discovery.rb +0 -76
  27. data/lib/grafeas/v1/doc/grafeas/v1/grafeas.rb +0 -322
  28. data/lib/grafeas/v1/doc/grafeas/v1/image.rb +0 -79
  29. data/lib/grafeas/v1/doc/grafeas/v1/package.rb +0 -125
  30. data/lib/grafeas/v1/doc/grafeas/v1/provenance.rb +0 -248
  31. data/lib/grafeas/v1/doc/grafeas/v1/vulnerability.rb +0 -214
  32. data/lib/grafeas/v1/grafeas_client.rb +0 -961
  33. data/lib/grafeas/v1/grafeas_client_config.json +0 -96
  34. data/lib/grafeas/v1/grafeas_pb.rb +0 -163
  35. data/lib/grafeas/v1/grafeas_services_pb.rb +0 -86
  36. data/lib/grafeas/v1/image_pb.rb +0 -36
  37. data/lib/grafeas/v1/package_pb.rb +0 -59
  38. data/lib/grafeas/v1/provenance_pb.rb +0 -116
  39. data/lib/grafeas/v1/vulnerability_pb.rb +0 -81
@@ -1,248 +0,0 @@
1
- # Copyright 2019 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Grafeas
17
- module V1
18
- # Provenance of a build. Contains all information needed to verify the full
19
- # details about the build from source to completion.
20
- # @!attribute [rw] id
21
- # @return [String]
22
- # Required. Unique identifier of the build.
23
- # @!attribute [rw] project_id
24
- # @return [String]
25
- # ID of the project.
26
- # @!attribute [rw] commands
27
- # @return [Array<Grafeas::V1::Command>]
28
- # Commands requested by the build.
29
- # @!attribute [rw] built_artifacts
30
- # @return [Array<Grafeas::V1::Artifact>]
31
- # Output of the build.
32
- # @!attribute [rw] create_time
33
- # @return [Google::Protobuf::Timestamp]
34
- # Time at which the build was created.
35
- # @!attribute [rw] start_time
36
- # @return [Google::Protobuf::Timestamp]
37
- # Time at which execution of the build was started.
38
- # @!attribute [rw] end_time
39
- # @return [Google::Protobuf::Timestamp]
40
- # Time at which execution of the build was finished.
41
- # @!attribute [rw] creator
42
- # @return [String]
43
- # E-mail address of the user who initiated this build. Note that this was the
44
- # user's e-mail address at the time the build was initiated; this address may
45
- # not represent the same end-user for all time.
46
- # @!attribute [rw] logs_uri
47
- # @return [String]
48
- # URI where any logs for this provenance were written.
49
- # @!attribute [rw] source_provenance
50
- # @return [Grafeas::V1::Source]
51
- # Details of the Source input to the build.
52
- # @!attribute [rw] trigger_id
53
- # @return [String]
54
- # Trigger identifier if the build was triggered automatically; empty if not.
55
- # @!attribute [rw] build_options
56
- # @return [Hash{String => String}]
57
- # Special options applied to this build. This is a catch-all field where
58
- # build providers can enter any desired additional details.
59
- # @!attribute [rw] builder_version
60
- # @return [String]
61
- # Version string of the builder at the time this build was executed.
62
- class BuildProvenance; end
63
-
64
- # Source describes the location of the source used for the build.
65
- # @!attribute [rw] artifact_storage_source_uri
66
- # @return [String]
67
- # If provided, the input binary artifacts for the build came from this
68
- # location.
69
- # @!attribute [rw] file_hashes
70
- # @return [Hash{String => Grafeas::V1::FileHashes}]
71
- # Hash(es) of the build source, which can be used to verify that the original
72
- # source integrity was maintained in the build.
73
- #
74
- # The keys to this map are file paths used as build source and the values
75
- # contain the hash values for those files.
76
- #
77
- # If the build source came in a single package such as a gzipped tarfile
78
- # (.tar.gz), the FileHash will be for the single path to that file.
79
- # @!attribute [rw] context
80
- # @return [Grafeas::V1::SourceContext]
81
- # If provided, the source code used for the build came from this location.
82
- # @!attribute [rw] additional_contexts
83
- # @return [Array<Grafeas::V1::SourceContext>]
84
- # If provided, some of the source code used for the build may be found in
85
- # these locations, in the case where the source repository had multiple
86
- # remotes or submodules. This list will not include the context specified in
87
- # the context field.
88
- class Source; end
89
-
90
- # Container message for hashes of byte content of files, used in source
91
- # messages to verify integrity of source input to the build.
92
- # @!attribute [rw] file_hash
93
- # @return [Array<Grafeas::V1::Hash>]
94
- # Required. Collection of file hashes.
95
- class FileHashes; end
96
-
97
- # Container message for hash values.
98
- # @!attribute [rw] type
99
- # @return [String]
100
- # Required. The type of hash that was performed, e.g. "SHA-256".
101
- # @!attribute [rw] value
102
- # @return [String]
103
- # Required. The hash value.
104
- class Hash; end
105
-
106
- # Command describes a step performed as part of the build pipeline.
107
- # @!attribute [rw] name
108
- # @return [String]
109
- # Required. Name of the command, as presented on the command line, or if the
110
- # command is packaged as a Docker container, as presented to `docker pull`.
111
- # @!attribute [rw] env
112
- # @return [Array<String>]
113
- # Environment variables set before running this command.
114
- # @!attribute [rw] args
115
- # @return [Array<String>]
116
- # Command-line arguments used when executing this command.
117
- # @!attribute [rw] dir
118
- # @return [String]
119
- # Working directory (relative to project source root) used when running this
120
- # command.
121
- # @!attribute [rw] id
122
- # @return [String]
123
- # Optional unique identifier for this command, used in wait_for to reference
124
- # this command as a dependency.
125
- # @!attribute [rw] wait_for
126
- # @return [Array<String>]
127
- # The ID(s) of the command(s) that this command depends on.
128
- class Command; end
129
-
130
- # Artifact describes a build product.
131
- # @!attribute [rw] checksum
132
- # @return [String]
133
- # Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
134
- # container.
135
- # @!attribute [rw] id
136
- # @return [String]
137
- # Artifact ID, if any; for container images, this will be a URL by digest
138
- # like `gcr.io/projectID/imagename@sha256:123456`.
139
- # @!attribute [rw] names
140
- # @return [Array<String>]
141
- # Related artifact names. This may be the path to a binary or jar file, or in
142
- # the case of a container build, the name used to push the container image to
143
- # Google Container Registry, as presented to `docker push`. Note that a
144
- # single Artifact ID can have multiple names, for example if two tags are
145
- # applied to one image.
146
- class Artifact; end
147
-
148
- # A SourceContext is a reference to a tree of files. A SourceContext together
149
- # with a path point to a unique revision of a single file or directory.
150
- # @!attribute [rw] cloud_repo
151
- # @return [Grafeas::V1::CloudRepoSourceContext]
152
- # A SourceContext referring to a revision in a Google Cloud Source Repo.
153
- # @!attribute [rw] gerrit
154
- # @return [Grafeas::V1::GerritSourceContext]
155
- # A SourceContext referring to a Gerrit project.
156
- # @!attribute [rw] git
157
- # @return [Grafeas::V1::GitSourceContext]
158
- # A SourceContext referring to any third party Git repo (e.g., GitHub).
159
- # @!attribute [rw] labels
160
- # @return [Hash{String => String}]
161
- # Labels with user defined metadata.
162
- class SourceContext; end
163
-
164
- # An alias to a repo revision.
165
- # @!attribute [rw] kind
166
- # @return [Grafeas::V1::AliasContext::Kind]
167
- # The alias kind.
168
- # @!attribute [rw] name
169
- # @return [String]
170
- # The alias name.
171
- class AliasContext
172
- # The type of an alias.
173
- module Kind
174
- # Unknown.
175
- KIND_UNSPECIFIED = 0
176
-
177
- # Git tag.
178
- FIXED = 1
179
-
180
- # Git branch.
181
- MOVABLE = 2
182
-
183
- # Used to specify non-standard aliases. For example, if a Git repo has a
184
- # ref named "refs/foo/bar".
185
- OTHER = 4
186
- end
187
- end
188
-
189
- # A CloudRepoSourceContext denotes a particular revision in a Google Cloud
190
- # Source Repo.
191
- # @!attribute [rw] repo_id
192
- # @return [Grafeas::V1::RepoId]
193
- # The ID of the repo.
194
- # @!attribute [rw] revision_id
195
- # @return [String]
196
- # A revision ID.
197
- # @!attribute [rw] alias_context
198
- # @return [Grafeas::V1::AliasContext]
199
- # An alias, which may be a branch or tag.
200
- class CloudRepoSourceContext; end
201
-
202
- # A SourceContext referring to a Gerrit project.
203
- # @!attribute [rw] host_uri
204
- # @return [String]
205
- # The URI of a running Gerrit instance.
206
- # @!attribute [rw] gerrit_project
207
- # @return [String]
208
- # The full project name within the host. Projects may be nested, so
209
- # "project/subproject" is a valid project name. The "repo name" is the
210
- # hostURI/project.
211
- # @!attribute [rw] revision_id
212
- # @return [String]
213
- # A revision (commit) ID.
214
- # @!attribute [rw] alias_context
215
- # @return [Grafeas::V1::AliasContext]
216
- # An alias, which may be a branch or tag.
217
- class GerritSourceContext; end
218
-
219
- # A GitSourceContext denotes a particular revision in a third party Git
220
- # repository (e.g., GitHub).
221
- # @!attribute [rw] url
222
- # @return [String]
223
- # Git repository URL.
224
- # @!attribute [rw] revision_id
225
- # @return [String]
226
- # Git commit hash.
227
- class GitSourceContext; end
228
-
229
- # A unique identifier for a Cloud Repo.
230
- # @!attribute [rw] project_repo_id
231
- # @return [Grafeas::V1::ProjectRepoId]
232
- # A combination of a project ID and a repo name.
233
- # @!attribute [rw] uid
234
- # @return [String]
235
- # A server-assigned, globally unique identifier.
236
- class RepoId; end
237
-
238
- # Selects a repo using a Google Cloud Platform project ID (e.g.,
239
- # winged-cargo-31) and a repo name within that project.
240
- # @!attribute [rw] project_id
241
- # @return [String]
242
- # The ID of the project.
243
- # @!attribute [rw] repo_name
244
- # @return [String]
245
- # The name of the repo. Leave empty for the default repo.
246
- class ProjectRepoId; end
247
- end
248
- end
@@ -1,214 +0,0 @@
1
- # Copyright 2019 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Grafeas
17
- module V1
18
- # A security vulnerability that can be found in resources.
19
- # @!attribute [rw] cvss_score
20
- # @return [Float]
21
- # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
22
- # where 0 indicates low severity and 10 indicates high severity.
23
- # @!attribute [rw] severity
24
- # @return [Grafeas::V1::Severity]
25
- # The note provider assigned severity of this vulnerability.
26
- # @!attribute [rw] details
27
- # @return [Array<Grafeas::V1::VulnerabilityNote::Detail>]
28
- # Details of all known distros and packages affected by this vulnerability.
29
- # @!attribute [rw] cvss_v3
30
- # @return [Grafeas::V1::CVSSv3]
31
- # The full description of the CVSSv3 for this vulnerability.
32
- # @!attribute [rw] windows_details
33
- # @return [Array<Grafeas::V1::VulnerabilityNote::WindowsDetail>]
34
- # Windows details get their own format because the information format and
35
- # model don't match a normal detail. Specifically Windows updates are done as
36
- # patches, thus Windows vulnerabilities really are a missing package, rather
37
- # than a package being at an incorrect version.
38
- class VulnerabilityNote
39
- # A detail for a distro and package affected by this vulnerability and its
40
- # associated fix (if one is available).
41
- # @!attribute [rw] severity_name
42
- # @return [String]
43
- # The distro assigned severity of this vulnerability.
44
- # @!attribute [rw] description
45
- # @return [String]
46
- # A vendor-specific description of this vulnerability.
47
- # @!attribute [rw] package_type
48
- # @return [String]
49
- # The type of package; whether native or non native (e.g., ruby gems,
50
- # node.js packages, etc.).
51
- # @!attribute [rw] affected_cpe_uri
52
- # @return [String]
53
- # Required. The [CPE URI](https://cpe.mitre.org/specification/) this
54
- # vulnerability affects.
55
- # @!attribute [rw] affected_package
56
- # @return [String]
57
- # Required. The package this vulnerability affects.
58
- # @!attribute [rw] affected_version_start
59
- # @return [Grafeas::V1::Version]
60
- # The version number at the start of an interval in which this
61
- # vulnerability exists. A vulnerability can affect a package between
62
- # version numbers that are disjoint sets of intervals (example:
63
- # [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
64
- # represented in its own Detail. If a specific affected version is provided
65
- # by a vulnerability database, affected_version_start and
66
- # affected_version_end will be the same in that Detail.
67
- # @!attribute [rw] affected_version_end
68
- # @return [Grafeas::V1::Version]
69
- # The version number at the end of an interval in which this vulnerability
70
- # exists. A vulnerability can affect a package between version numbers
71
- # that are disjoint sets of intervals (example: [1.0.0-1.1.0],
72
- # [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
73
- # own Detail. If a specific affected version is provided by a vulnerability
74
- # database, affected_version_start and affected_version_end will be the
75
- # same in that Detail.
76
- # @!attribute [rw] fixed_cpe_uri
77
- # @return [String]
78
- # The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
79
- # to update to that contains a fix for this vulnerability. It is possible
80
- # for this to be different from the affected_cpe_uri.
81
- # @!attribute [rw] fixed_package
82
- # @return [String]
83
- # The distro recommended package to update to that contains a fix for this
84
- # vulnerability. It is possible for this to be different from the
85
- # affected_package.
86
- # @!attribute [rw] fixed_version
87
- # @return [Grafeas::V1::Version]
88
- # The distro recommended version to update to that contains a
89
- # fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
90
- # such version is yet available.
91
- # @!attribute [rw] is_obsolete
92
- # @return [true, false]
93
- # Whether this detail is obsolete. Occurrences are expected not to point to
94
- # obsolete details.
95
- class Detail; end
96
-
97
- # @!attribute [rw] cpe_uri
98
- # @return [String]
99
- # Required. The [CPE URI](https://cpe.mitre.org/specification/) this
100
- # vulnerability affects.
101
- # @!attribute [rw] name
102
- # @return [String]
103
- # Required. The name of this vulnerability.
104
- # @!attribute [rw] description
105
- # @return [String]
106
- # The description of this vulnerability.
107
- # @!attribute [rw] fixing_kbs
108
- # @return [Array<Grafeas::V1::VulnerabilityNote::WindowsDetail::KnowledgeBase>]
109
- # Required. The names of the KBs which have hotfixes to mitigate this
110
- # vulnerability. Note that there may be multiple hotfixes (and thus
111
- # multiple KBs) that mitigate a given vulnerability. Currently any listed
112
- # KBs presence is considered a fix.
113
- class WindowsDetail
114
- # @!attribute [rw] name
115
- # @return [String]
116
- # The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
117
- # @!attribute [rw] url
118
- # @return [String]
119
- # A link to the KB in the [Windows update catalog]
120
- # (https://www.catalog.update.microsoft.com/).
121
- class KnowledgeBase; end
122
- end
123
- end
124
-
125
- # An occurrence of a severity vulnerability on a resource.
126
- # @!attribute [rw] type
127
- # @return [String]
128
- # The type of package; whether native or non native (e.g., ruby gems, node.js
129
- # packages, etc.).
130
- # @!attribute [rw] severity
131
- # @return [Grafeas::V1::Severity]
132
- # Output only. The note provider assigned severity of this vulnerability.
133
- # @!attribute [rw] cvss_score
134
- # @return [Float]
135
- # Output only. The CVSS score of this vulnerability. CVSS score is on a
136
- # scale of 0 - 10 where 0 indicates low severity and 10 indicates high
137
- # severity.
138
- # @!attribute [rw] package_issue
139
- # @return [Array<Grafeas::V1::VulnerabilityOccurrence::PackageIssue>]
140
- # Required. The set of affected locations and their fixes (if available)
141
- # within the associated resource.
142
- # @!attribute [rw] short_description
143
- # @return [String]
144
- # Output only. A one sentence description of this vulnerability.
145
- # @!attribute [rw] long_description
146
- # @return [String]
147
- # Output only. A detailed description of this vulnerability.
148
- # @!attribute [rw] related_urls
149
- # @return [Array<Grafeas::V1::RelatedUrl>]
150
- # Output only. URLs related to this vulnerability.
151
- # @!attribute [rw] effective_severity
152
- # @return [Grafeas::V1::Severity]
153
- # The distro assigned severity for this vulnerability when it is available,
154
- # and note provider assigned severity when distro has not yet assigned a
155
- # severity for this vulnerability.
156
- # @!attribute [rw] fix_available
157
- # @return [true, false]
158
- # Output only. Whether at least one of the affected packages has a fix
159
- # available.
160
- class VulnerabilityOccurrence
161
- # A detail for a distro and package this vulnerability occurrence was found
162
- # in and its associated fix (if one is available).
163
- # @!attribute [rw] affected_cpe_uri
164
- # @return [String]
165
- # Required. The [CPE URI](https://cpe.mitre.org/specification/) this
166
- # vulnerability was found in.
167
- # @!attribute [rw] affected_package
168
- # @return [String]
169
- # Required. The package this vulnerability was found in.
170
- # @!attribute [rw] affected_version
171
- # @return [Grafeas::V1::Version]
172
- # Required. The version of the package that is installed on the resource
173
- # affected by this vulnerability.
174
- # @!attribute [rw] fixed_cpe_uri
175
- # @return [String]
176
- # The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability
177
- # was fixed in. It is possible for this to be different from the
178
- # affected_cpe_uri.
179
- # @!attribute [rw] fixed_package
180
- # @return [String]
181
- # The package this vulnerability was fixed in. It is possible for this to
182
- # be different from the affected_package.
183
- # @!attribute [rw] fixed_version
184
- # @return [Grafeas::V1::Version]
185
- # Required. The version of the package this vulnerability was fixed in.
186
- # Setting this to VersionKind.MAXIMUM means no fix is yet available.
187
- # @!attribute [rw] fix_available
188
- # @return [true, false]
189
- # Output only. Whether a fix is available for this package.
190
- class PackageIssue; end
191
- end
192
-
193
- # Note provider assigned severity/impact ranking.
194
- module Severity
195
- # Unknown.
196
- SEVERITY_UNSPECIFIED = 0
197
-
198
- # Minimal severity.
199
- MINIMAL = 1
200
-
201
- # Low severity.
202
- LOW = 2
203
-
204
- # Medium severity.
205
- MEDIUM = 3
206
-
207
- # High severity.
208
- HIGH = 4
209
-
210
- # Critical severity.
211
- CRITICAL = 5
212
- end
213
- end
214
- end