grafeas 0.2.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -3
  3. data/LICENSE.md +201 -0
  4. data/MIGRATING.md +366 -0
  5. data/README.md +89 -27
  6. data/lib/grafeas.rb +36 -117
  7. data/lib/grafeas/version.rb +6 -2
  8. metadata +50 -81
  9. data/AUTHENTICATION.md +0 -177
  10. data/LICENSE +0 -201
  11. data/lib/grafeas/v1.rb +0 -155
  12. data/lib/grafeas/v1/attestation_pb.rb +0 -27
  13. data/lib/grafeas/v1/build_pb.rb +0 -23
  14. data/lib/grafeas/v1/common_pb.rb +0 -35
  15. data/lib/grafeas/v1/credentials.rb +0 -37
  16. data/lib/grafeas/v1/cvss_pb.rb +0 -67
  17. data/lib/grafeas/v1/deployment_pb.rb +0 -35
  18. data/lib/grafeas/v1/discovery_pb.rb +0 -43
  19. data/lib/grafeas/v1/doc/google/protobuf/any.rb +0 -131
  20. data/lib/grafeas/v1/doc/google/protobuf/empty.rb +0 -29
  21. data/lib/grafeas/v1/doc/google/protobuf/field_mask.rb +0 -222
  22. data/lib/grafeas/v1/doc/google/protobuf/timestamp.rb +0 -113
  23. data/lib/grafeas/v1/doc/google/rpc/status.rb +0 -39
  24. data/lib/grafeas/v1/doc/grafeas/v1/attestation.rb +0 -64
  25. data/lib/grafeas/v1/doc/grafeas/v1/build.rb +0 -44
  26. data/lib/grafeas/v1/doc/grafeas/v1/common.rb +0 -108
  27. data/lib/grafeas/v1/doc/grafeas/v1/cvss.rb +0 -104
  28. data/lib/grafeas/v1/doc/grafeas/v1/deployment.rb +0 -64
  29. data/lib/grafeas/v1/doc/grafeas/v1/discovery.rb +0 -82
  30. data/lib/grafeas/v1/doc/grafeas/v1/grafeas.rb +0 -328
  31. data/lib/grafeas/v1/doc/grafeas/v1/image.rb +0 -79
  32. data/lib/grafeas/v1/doc/grafeas/v1/package.rb +0 -125
  33. data/lib/grafeas/v1/doc/grafeas/v1/provenance.rb +0 -248
  34. data/lib/grafeas/v1/doc/grafeas/v1/upgrade.rb +0 -126
  35. data/lib/grafeas/v1/doc/grafeas/v1/vulnerability.rb +0 -223
  36. data/lib/grafeas/v1/grafeas_client.rb +0 -961
  37. data/lib/grafeas/v1/grafeas_client_config.json +0 -96
  38. data/lib/grafeas/v1/grafeas_pb.rb +0 -168
  39. data/lib/grafeas/v1/grafeas_services_pb.rb +0 -86
  40. data/lib/grafeas/v1/image_pb.rb +0 -36
  41. data/lib/grafeas/v1/package_pb.rb +0 -59
  42. data/lib/grafeas/v1/provenance_pb.rb +0 -116
  43. data/lib/grafeas/v1/upgrade_pb.rb +0 -56
  44. data/lib/grafeas/v1/vulnerability_pb.rb +0 -84
@@ -1,64 +0,0 @@
1
- # Copyright 2020 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
- # An artifact that can be deployed in some runtime.
19
- # @!attribute [rw] resource_uri
20
- # @return [Array<String>]
21
- # Required. Resource URI for the artifact being deployed.
22
- class DeploymentNote; end
23
-
24
- # The period during which some deployable was active in a runtime.
25
- # @!attribute [rw] user_email
26
- # @return [String]
27
- # Identity of the user that triggered this deployment.
28
- # @!attribute [rw] deploy_time
29
- # @return [Google::Protobuf::Timestamp]
30
- # Required. Beginning of the lifetime of this deployment.
31
- # @!attribute [rw] undeploy_time
32
- # @return [Google::Protobuf::Timestamp]
33
- # End of the lifetime of this deployment.
34
- # @!attribute [rw] config
35
- # @return [String]
36
- # Configuration used to create this deployment.
37
- # @!attribute [rw] address
38
- # @return [String]
39
- # Address of the runtime element hosting this deployment.
40
- # @!attribute [rw] resource_uri
41
- # @return [Array<String>]
42
- # Output only. Resource URI for the artifact being deployed taken from
43
- # the deployable field with the same name.
44
- # @!attribute [rw] platform
45
- # @return [Grafeas::V1::DeploymentOccurrence::Platform]
46
- # Platform hosting this deployment.
47
- class DeploymentOccurrence
48
- # Types of platforms.
49
- module Platform
50
- # Unknown.
51
- PLATFORM_UNSPECIFIED = 0
52
-
53
- # Google Container Engine.
54
- GKE = 1
55
-
56
- # Google App Engine: Flexible Environment.
57
- FLEX = 2
58
-
59
- # Custom user-defined platform.
60
- CUSTOM = 3
61
- end
62
- end
63
- end
64
- end
@@ -1,82 +0,0 @@
1
- # Copyright 2020 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 note that indicates a type of analysis a provider would perform. This note
19
- # exists in a provider's project. A `Discovery` occurrence is created in a
20
- # consumer's project at the start of analysis.
21
- # @!attribute [rw] analysis_kind
22
- # @return [Grafeas::V1::NoteKind]
23
- # Required. Immutable. The kind of analysis that is handled by this
24
- # discovery.
25
- class DiscoveryNote; end
26
-
27
- # Provides information about the analysis status of a discovered resource.
28
- # @!attribute [rw] continuous_analysis
29
- # @return [Grafeas::V1::DiscoveryOccurrence::ContinuousAnalysis]
30
- # Whether the resource is continuously analyzed.
31
- # @!attribute [rw] analysis_status
32
- # @return [Grafeas::V1::DiscoveryOccurrence::AnalysisStatus]
33
- # The status of discovery for the resource.
34
- # @!attribute [rw] analysis_status_error
35
- # @return [Google::Rpc::Status]
36
- # When an error is encountered this will contain a LocalizedMessage under
37
- # details to show to the user. The LocalizedMessage is output only and
38
- # populated by the API.
39
- # @!attribute [rw] cpe
40
- # @return [String]
41
- # The CPE of the resource being scanned.
42
- # @!attribute [rw] last_scan_time
43
- # @return [Google::Protobuf::Timestamp]
44
- # The last time this resource was scanned.
45
- class DiscoveryOccurrence
46
- # Analysis status for a resource. Currently for initial analysis only (not
47
- # updated in continuous analysis).
48
- module AnalysisStatus
49
- # Unknown.
50
- ANALYSIS_STATUS_UNSPECIFIED = 0
51
-
52
- # Resource is known but no action has been taken yet.
53
- PENDING = 1
54
-
55
- # Resource is being analyzed.
56
- SCANNING = 2
57
-
58
- # Analysis has finished successfully.
59
- FINISHED_SUCCESS = 3
60
-
61
- # Analysis has finished unsuccessfully, the analysis itself is in a bad
62
- # state.
63
- FINISHED_FAILED = 4
64
-
65
- # The resource is known not to be supported
66
- FINISHED_UNSUPPORTED = 5
67
- end
68
-
69
- # Whether the resource is continuously analyzed.
70
- module ContinuousAnalysis
71
- # Unknown.
72
- CONTINUOUS_ANALYSIS_UNSPECIFIED = 0
73
-
74
- # The resource is continuously analyzed.
75
- ACTIVE = 1
76
-
77
- # The resource is ignored for continuous analysis.
78
- INACTIVE = 2
79
- end
80
- end
81
- end
82
- end
@@ -1,328 +0,0 @@
1
- # Copyright 2020 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
- # An instance of an analysis type that has been found on a resource.
19
- # @!attribute [rw] name
20
- # @return [String]
21
- # Output only. The name of the occurrence in the form of
22
- # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
23
- # @!attribute [rw] resource_uri
24
- # @return [String]
25
- # Required. Immutable. A URI that represents the resource for which the
26
- # occurrence applies. For example,
27
- # `https://gcr.io/project/image@sha256:123abc` for a Docker image.
28
- # @!attribute [rw] note_name
29
- # @return [String]
30
- # Required. Immutable. The analysis note associated with this occurrence, in
31
- # the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
32
- # used as a filter in list requests.
33
- # @!attribute [rw] kind
34
- # @return [Grafeas::V1::NoteKind]
35
- # Output only. This explicitly denotes which of the occurrence details are
36
- # specified. This field can be used as a filter in list requests.
37
- # @!attribute [rw] remediation
38
- # @return [String]
39
- # A description of actions that can be taken to remedy the note.
40
- # @!attribute [rw] create_time
41
- # @return [Google::Protobuf::Timestamp]
42
- # Output only. The time this occurrence was created.
43
- # @!attribute [rw] update_time
44
- # @return [Google::Protobuf::Timestamp]
45
- # Output only. The time this occurrence was last updated.
46
- # @!attribute [rw] vulnerability
47
- # @return [Grafeas::V1::VulnerabilityOccurrence]
48
- # Describes a security vulnerability.
49
- # @!attribute [rw] build
50
- # @return [Grafeas::V1::BuildOccurrence]
51
- # Describes a verifiable build.
52
- # @!attribute [rw] image
53
- # @return [Grafeas::V1::ImageOccurrence]
54
- # Describes how this resource derives from the basis in the associated
55
- # note.
56
- # @!attribute [rw] package
57
- # @return [Grafeas::V1::PackageOccurrence]
58
- # Describes the installation of a package on the linked resource.
59
- # @!attribute [rw] deployment
60
- # @return [Grafeas::V1::DeploymentOccurrence]
61
- # Describes the deployment of an artifact on a runtime.
62
- # @!attribute [rw] discovery
63
- # @return [Grafeas::V1::DiscoveryOccurrence]
64
- # Describes when a resource was discovered.
65
- # @!attribute [rw] attestation
66
- # @return [Grafeas::V1::AttestationOccurrence]
67
- # Describes an attestation of an artifact.
68
- # @!attribute [rw] upgrade
69
- # @return [Grafeas::V1::UpgradeOccurrence]
70
- # Describes an available package upgrade on the linked resource.
71
- class Occurrence; end
72
-
73
- # A type of analysis that can be done for a resource.
74
- # @!attribute [rw] name
75
- # @return [String]
76
- # Output only. The name of the note in the form of
77
- # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
78
- # @!attribute [rw] short_description
79
- # @return [String]
80
- # A one sentence description of this note.
81
- # @!attribute [rw] long_description
82
- # @return [String]
83
- # A detailed description of this note.
84
- # @!attribute [rw] kind
85
- # @return [Grafeas::V1::NoteKind]
86
- # Output only. The type of analysis. This field can be used as a filter in
87
- # list requests.
88
- # @!attribute [rw] related_url
89
- # @return [Array<Grafeas::V1::RelatedUrl>]
90
- # URLs associated with this note.
91
- # @!attribute [rw] expiration_time
92
- # @return [Google::Protobuf::Timestamp]
93
- # Time of expiration for this note. Empty if note does not expire.
94
- # @!attribute [rw] create_time
95
- # @return [Google::Protobuf::Timestamp]
96
- # Output only. The time this note was created. This field can be used as a
97
- # filter in list requests.
98
- # @!attribute [rw] update_time
99
- # @return [Google::Protobuf::Timestamp]
100
- # Output only. The time this note was last updated. This field can be used as
101
- # a filter in list requests.
102
- # @!attribute [rw] related_note_names
103
- # @return [Array<String>]
104
- # Other notes related to this note.
105
- # @!attribute [rw] vulnerability
106
- # @return [Grafeas::V1::VulnerabilityNote]
107
- # A note describing a package vulnerability.
108
- # @!attribute [rw] build
109
- # @return [Grafeas::V1::BuildNote]
110
- # A note describing build provenance for a verifiable build.
111
- # @!attribute [rw] image
112
- # @return [Grafeas::V1::ImageNote]
113
- # A note describing a base image.
114
- # @!attribute [rw] package
115
- # @return [Grafeas::V1::PackageNote]
116
- # A note describing a package hosted by various package managers.
117
- # @!attribute [rw] deployment
118
- # @return [Grafeas::V1::DeploymentNote]
119
- # A note describing something that can be deployed.
120
- # @!attribute [rw] discovery
121
- # @return [Grafeas::V1::DiscoveryNote]
122
- # A note describing the initial analysis of a resource.
123
- # @!attribute [rw] attestation
124
- # @return [Grafeas::V1::AttestationNote]
125
- # A note describing an attestation role.
126
- # @!attribute [rw] upgrade
127
- # @return [Grafeas::V1::UpgradeNote]
128
- # A note describing available package upgrades.
129
- class Note; end
130
-
131
- # Request to get an occurrence.
132
- # @!attribute [rw] name
133
- # @return [String]
134
- # The name of the occurrence in the form of
135
- # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
136
- class GetOccurrenceRequest; end
137
-
138
- # Request to list occurrences.
139
- # @!attribute [rw] parent
140
- # @return [String]
141
- # The name of the project to list occurrences for in the form of
142
- # `projects/[PROJECT_ID]`.
143
- # @!attribute [rw] filter
144
- # @return [String]
145
- # The filter expression.
146
- # @!attribute [rw] page_size
147
- # @return [Integer]
148
- # Number of occurrences to return in the list. Must be positive. Max allowed
149
- # page size is 1000. If not specified, page size defaults to 20.
150
- # @!attribute [rw] page_token
151
- # @return [String]
152
- # Token to provide to skip to a particular spot in the list.
153
- class ListOccurrencesRequest; end
154
-
155
- # Response for listing occurrences.
156
- # @!attribute [rw] occurrences
157
- # @return [Array<Grafeas::V1::Occurrence>]
158
- # The occurrences requested.
159
- # @!attribute [rw] next_page_token
160
- # @return [String]
161
- # The next pagination token in the list response. It should be used as
162
- # `page_token` for the following request. An empty value means no more
163
- # results.
164
- class ListOccurrencesResponse; end
165
-
166
- # Request to delete an occurrence.
167
- # @!attribute [rw] name
168
- # @return [String]
169
- # The name of the occurrence in the form of
170
- # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
171
- class DeleteOccurrenceRequest; end
172
-
173
- # Request to create a new occurrence.
174
- # @!attribute [rw] parent
175
- # @return [String]
176
- # The name of the project in the form of `projects/[PROJECT_ID]`, under which
177
- # the occurrence is to be created.
178
- # @!attribute [rw] occurrence
179
- # @return [Grafeas::V1::Occurrence]
180
- # The occurrence to create.
181
- class CreateOccurrenceRequest; end
182
-
183
- # Request to update an occurrence.
184
- # @!attribute [rw] name
185
- # @return [String]
186
- # The name of the occurrence in the form of
187
- # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
188
- # @!attribute [rw] occurrence
189
- # @return [Grafeas::V1::Occurrence]
190
- # The updated occurrence.
191
- # @!attribute [rw] update_mask
192
- # @return [Google::Protobuf::FieldMask]
193
- # The fields to update.
194
- class UpdateOccurrenceRequest; end
195
-
196
- # Request to get a note.
197
- # @!attribute [rw] name
198
- # @return [String]
199
- # The name of the note in the form of
200
- # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
201
- class GetNoteRequest; end
202
-
203
- # Request to get the note to which the specified occurrence is attached.
204
- # @!attribute [rw] name
205
- # @return [String]
206
- # The name of the occurrence in the form of
207
- # `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
208
- class GetOccurrenceNoteRequest; end
209
-
210
- # Request to list notes.
211
- # @!attribute [rw] parent
212
- # @return [String]
213
- # The name of the project to list notes for in the form of
214
- # `projects/[PROJECT_ID]`.
215
- # @!attribute [rw] filter
216
- # @return [String]
217
- # The filter expression.
218
- # @!attribute [rw] page_size
219
- # @return [Integer]
220
- # Number of notes to return in the list. Must be positive. Max allowed page
221
- # size is 1000. If not specified, page size defaults to 20.
222
- # @!attribute [rw] page_token
223
- # @return [String]
224
- # Token to provide to skip to a particular spot in the list.
225
- class ListNotesRequest; end
226
-
227
- # Response for listing notes.
228
- # @!attribute [rw] notes
229
- # @return [Array<Grafeas::V1::Note>]
230
- # The notes requested.
231
- # @!attribute [rw] next_page_token
232
- # @return [String]
233
- # The next pagination token in the list response. It should be used as
234
- # `page_token` for the following request. An empty value means no more
235
- # results.
236
- class ListNotesResponse; end
237
-
238
- # Request to delete a note.
239
- # @!attribute [rw] name
240
- # @return [String]
241
- # The name of the note in the form of
242
- # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
243
- class DeleteNoteRequest; end
244
-
245
- # Request to create a new note.
246
- # @!attribute [rw] parent
247
- # @return [String]
248
- # The name of the project in the form of `projects/[PROJECT_ID]`, under which
249
- # the note is to be created.
250
- # @!attribute [rw] note_id
251
- # @return [String]
252
- # The ID to use for this note.
253
- # @!attribute [rw] note
254
- # @return [Grafeas::V1::Note]
255
- # The note to create.
256
- class CreateNoteRequest; end
257
-
258
- # Request to update a note.
259
- # @!attribute [rw] name
260
- # @return [String]
261
- # The name of the note in the form of
262
- # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
263
- # @!attribute [rw] note
264
- # @return [Grafeas::V1::Note]
265
- # The updated note.
266
- # @!attribute [rw] update_mask
267
- # @return [Google::Protobuf::FieldMask]
268
- # The fields to update.
269
- class UpdateNoteRequest; end
270
-
271
- # Request to list occurrences for a note.
272
- # @!attribute [rw] name
273
- # @return [String]
274
- # The name of the note to list occurrences for in the form of
275
- # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
276
- # @!attribute [rw] filter
277
- # @return [String]
278
- # The filter expression.
279
- # @!attribute [rw] page_size
280
- # @return [Integer]
281
- # Number of occurrences to return in the list.
282
- # @!attribute [rw] page_token
283
- # @return [String]
284
- # Token to provide to skip to a particular spot in the list.
285
- class ListNoteOccurrencesRequest; end
286
-
287
- # Response for listing occurrences for a note.
288
- # @!attribute [rw] occurrences
289
- # @return [Array<Grafeas::V1::Occurrence>]
290
- # The occurrences attached to the specified note.
291
- # @!attribute [rw] next_page_token
292
- # @return [String]
293
- # Token to provide to skip to a particular spot in the list.
294
- class ListNoteOccurrencesResponse; end
295
-
296
- # Request to create notes in batch.
297
- # @!attribute [rw] parent
298
- # @return [String]
299
- # The name of the project in the form of `projects/[PROJECT_ID]`, under which
300
- # the notes are to be created.
301
- # @!attribute [rw] notes
302
- # @return [Hash{String => Grafeas::V1::Note}]
303
- # The notes to create. Max allowed length is 1000.
304
- class BatchCreateNotesRequest; end
305
-
306
- # Response for creating notes in batch.
307
- # @!attribute [rw] notes
308
- # @return [Array<Grafeas::V1::Note>]
309
- # The notes that were created.
310
- class BatchCreateNotesResponse; end
311
-
312
- # Request to create occurrences in batch.
313
- # @!attribute [rw] parent
314
- # @return [String]
315
- # The name of the project in the form of `projects/[PROJECT_ID]`, under which
316
- # the occurrences are to be created.
317
- # @!attribute [rw] occurrences
318
- # @return [Array<Grafeas::V1::Occurrence>]
319
- # The occurrences to create. Max allowed length is 1000.
320
- class BatchCreateOccurrencesRequest; end
321
-
322
- # Response for creating occurrences in batch.
323
- # @!attribute [rw] occurrences
324
- # @return [Array<Grafeas::V1::Occurrence>]
325
- # The occurrences that were created.
326
- class BatchCreateOccurrencesResponse; end
327
- end
328
- end