grafeas 0.3.1 → 1.0.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -3
  3. data/LICENSE.md +203 -0
  4. data/MIGRATING.md +366 -0
  5. data/README.md +28 -25
  6. data/lib/grafeas.rb +36 -117
  7. data/lib/grafeas/version.rb +6 -2
  8. metadata +49 -80
  9. data/AUTHENTICATION.md +0 -172
  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 -964
  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