grafeas-v1 1.2.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 765f71ee1f820ff24854e38d4b13a739a407180d4466e45d23e4450c4e9f124c
4
- data.tar.gz: 3a3de502ddc7e5d58013c001f56e7f68a610af024877045d90fa1b57d941e7f3
3
+ metadata.gz: 6e77eb2f8f06c7c44ee5b80b5cab7661f4a10d4f9fd13bb4cbef386b08cecf37
4
+ data.tar.gz: b226bfcc17f8cb2ad5fd17fbb6c2ea9c8679d078c8f1a755a1c261e1629cf9ad
5
5
  SHA512:
6
- metadata.gz: 7a1dc5f8bee9d1d1728d69ef64d90f603d3c4da162ffdee852045605102c7dadfc5db2a09736cfe4bc30f12bc0841842526de14cf75453d782a10bcdf591d757
7
- data.tar.gz: 3deca38b4736014bd271a735754caf751a453678d6164a6118b347ef8e0dd5d094528d9f314e6b6e13518427ba5f5d81d48f70ed5ba980eb6d12613c4031eec3
6
+ metadata.gz: 579d9cc32f2c093dded26110321ad8ba53bdd78b2324632691c0eba850d11243f3a4a1d7d762451c2b2fb29cedcde6f6a35950063846d1fa0dd46f5f8e9dd66b
7
+ data.tar.gz: 8ed1916c7f270f120a1b3c6ec973554142b020dc668ce7d571d37768d0eba87328a4e9dd8df52b9e4c3c66ed5c0d9525ee45c2ee65fae7ef414850fe7bc770c2
data/README.md CHANGED
@@ -74,7 +74,7 @@ To browse ready to use code samples check [Google Cloud Samples](https://cloud.g
74
74
 
75
75
  ## Supported Ruby Versions
76
76
 
77
- This library is supported on Ruby 2.7+.
77
+ This library is supported on Ruby 3.0+.
78
78
 
79
79
  Google provides official support for Ruby versions that are actively supported
80
80
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -1545,6 +1545,13 @@ module Grafeas
1545
1545
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1546
1546
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1547
1547
  # * (`nil`) indicating no credentials
1548
+ #
1549
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
1550
+ # external source for authentication to Google Cloud, you must validate it before
1551
+ # providing it to a Google API client library. Providing an unvalidated credential
1552
+ # configuration to Google APIs can compromise the security of your systems and data.
1553
+ # For more information, refer to [Validate credential configurations from external
1554
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
1548
1555
  # @return [::Object]
1549
1556
  # @!attribute [rw] scope
1550
1557
  # The OAuth scopes
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Grafeas
21
21
  module V1
22
- VERSION = "1.2.0"
22
+ VERSION = "1.3.0"
23
23
  end
24
24
  end
@@ -53,21 +53,33 @@ module Google
53
53
  # @!attribute [rw] null_value
54
54
  # @return [::Google::Protobuf::NullValue]
55
55
  # Represents a null value.
56
+ #
57
+ # 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.
56
58
  # @!attribute [rw] number_value
57
59
  # @return [::Float]
58
60
  # Represents a double value.
61
+ #
62
+ # 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.
59
63
  # @!attribute [rw] string_value
60
64
  # @return [::String]
61
65
  # Represents a string value.
66
+ #
67
+ # 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.
62
68
  # @!attribute [rw] bool_value
63
69
  # @return [::Boolean]
64
70
  # Represents a boolean value.
71
+ #
72
+ # 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.
65
73
  # @!attribute [rw] struct_value
66
74
  # @return [::Google::Protobuf::Struct]
67
75
  # Represents a structured value.
76
+ #
77
+ # 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.
68
78
  # @!attribute [rw] list_value
69
79
  # @return [::Google::Protobuf::ListValue]
70
80
  # Represents a repeated `Value`.
81
+ #
82
+ # 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.
71
83
  class Value
72
84
  include ::Google::Protobuf::MessageExts
73
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -50,37 +50,59 @@ module Grafeas
50
50
  # @!attribute [rw] vulnerability
51
51
  # @return [::Grafeas::V1::VulnerabilityOccurrence]
52
52
  # Describes a security vulnerability.
53
+ #
54
+ # Note: The following fields are mutually exclusive: `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.
53
55
  # @!attribute [rw] build
54
56
  # @return [::Grafeas::V1::BuildOccurrence]
55
57
  # Describes a verifiable build.
58
+ #
59
+ # Note: The following fields are mutually exclusive: `build`, `vulnerability`, `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.
56
60
  # @!attribute [rw] image
57
61
  # @return [::Grafeas::V1::ImageOccurrence]
58
62
  # Describes how this resource derives from the basis in the associated
59
63
  # note.
64
+ #
65
+ # Note: The following fields are mutually exclusive: `image`, `vulnerability`, `build`, `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.
60
66
  # @!attribute [rw] package
61
67
  # @return [::Grafeas::V1::PackageOccurrence]
62
68
  # Describes the installation of a package on the linked resource.
69
+ #
70
+ # Note: The following fields are mutually exclusive: `package`, `vulnerability`, `build`, `image`, `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.
63
71
  # @!attribute [rw] deployment
64
72
  # @return [::Grafeas::V1::DeploymentOccurrence]
65
73
  # Describes the deployment of an artifact on a runtime.
74
+ #
75
+ # Note: The following fields are mutually exclusive: `deployment`, `vulnerability`, `build`, `image`, `package`, `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.
66
76
  # @!attribute [rw] discovery
67
77
  # @return [::Grafeas::V1::DiscoveryOccurrence]
68
78
  # Describes when a resource was discovered.
79
+ #
80
+ # Note: The following fields are mutually exclusive: `discovery`, `vulnerability`, `build`, `image`, `package`, `deployment`, `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.
69
81
  # @!attribute [rw] attestation
70
82
  # @return [::Grafeas::V1::AttestationOccurrence]
71
83
  # Describes an attestation of an artifact.
84
+ #
85
+ # Note: The following fields are mutually exclusive: `attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `upgrade`, `compliance`, `dsse_attestation`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
72
86
  # @!attribute [rw] upgrade
73
87
  # @return [::Grafeas::V1::UpgradeOccurrence]
74
88
  # Describes an available package upgrade on the linked resource.
89
+ #
90
+ # Note: The following fields are mutually exclusive: `upgrade`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `compliance`, `dsse_attestation`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
75
91
  # @!attribute [rw] compliance
76
92
  # @return [::Grafeas::V1::ComplianceOccurrence]
77
93
  # Describes a compliance violation on a linked resource.
94
+ #
95
+ # Note: The following fields are mutually exclusive: `compliance`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `dsse_attestation`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
78
96
  # @!attribute [rw] dsse_attestation
79
97
  # @return [::Grafeas::V1::DSSEAttestationOccurrence]
80
98
  # Describes an attestation of an artifact using dsse.
99
+ #
100
+ # Note: The following fields are mutually exclusive: `dsse_attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
81
101
  # @!attribute [rw] sbom_reference
82
102
  # @return [::Grafeas::V1::SBOMReferenceOccurrence]
83
103
  # Describes a specific SBOM reference occurrences.
104
+ #
105
+ # Note: The following fields are mutually exclusive: `sbom_reference`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`. If a field in that set is populated, all other fields in the set will automatically be cleared.
84
106
  # @!attribute [rw] envelope
85
107
  # @return [::Grafeas::V1::Envelope]
86
108
  # https://github.com/secure-systems-lab/dsse
@@ -124,39 +146,63 @@ module Grafeas
124
146
  # @!attribute [rw] vulnerability
125
147
  # @return [::Grafeas::V1::VulnerabilityNote]
126
148
  # A note describing a package vulnerability.
149
+ #
150
+ # Note: The following fields are mutually exclusive: `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.
127
151
  # @!attribute [rw] build
128
152
  # @return [::Grafeas::V1::BuildNote]
129
153
  # A note describing build provenance for a verifiable build.
154
+ #
155
+ # Note: The following fields are mutually exclusive: `build`, `vulnerability`, `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.
130
156
  # @!attribute [rw] image
131
157
  # @return [::Grafeas::V1::ImageNote]
132
158
  # A note describing a base image.
159
+ #
160
+ # Note: The following fields are mutually exclusive: `image`, `vulnerability`, `build`, `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.
133
161
  # @!attribute [rw] package
134
162
  # @return [::Grafeas::V1::PackageNote]
135
163
  # A note describing a package hosted by various package managers.
164
+ #
165
+ # Note: The following fields are mutually exclusive: `package`, `vulnerability`, `build`, `image`, `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.
136
166
  # @!attribute [rw] deployment
137
167
  # @return [::Grafeas::V1::DeploymentNote]
138
168
  # A note describing something that can be deployed.
169
+ #
170
+ # Note: The following fields are mutually exclusive: `deployment`, `vulnerability`, `build`, `image`, `package`, `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.
139
171
  # @!attribute [rw] discovery
140
172
  # @return [::Grafeas::V1::DiscoveryNote]
141
173
  # A note describing the initial analysis of a resource.
174
+ #
175
+ # Note: The following fields are mutually exclusive: `discovery`, `vulnerability`, `build`, `image`, `package`, `deployment`, `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.
142
176
  # @!attribute [rw] attestation
143
177
  # @return [::Grafeas::V1::AttestationNote]
144
178
  # A note describing an attestation role.
179
+ #
180
+ # Note: The following fields are mutually exclusive: `attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `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.
145
181
  # @!attribute [rw] upgrade
146
182
  # @return [::Grafeas::V1::UpgradeNote]
147
183
  # A note describing available package upgrades.
184
+ #
185
+ # Note: The following fields are mutually exclusive: `upgrade`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `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.
148
186
  # @!attribute [rw] compliance
149
187
  # @return [::Grafeas::V1::ComplianceNote]
150
188
  # A note describing a compliance check.
189
+ #
190
+ # Note: The following fields are mutually exclusive: `compliance`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `dsse_attestation`, `vulnerability_assessment`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
151
191
  # @!attribute [rw] dsse_attestation
152
192
  # @return [::Grafeas::V1::DSSEAttestationNote]
153
193
  # A note describing a dsse attestation note.
194
+ #
195
+ # Note: The following fields are mutually exclusive: `dsse_attestation`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `vulnerability_assessment`, `sbom_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
154
196
  # @!attribute [rw] vulnerability_assessment
155
197
  # @return [::Grafeas::V1::VulnerabilityAssessmentNote]
156
198
  # A note describing a vulnerability assessment.
199
+ #
200
+ # Note: The following fields are mutually exclusive: `vulnerability_assessment`, `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.
157
201
  # @!attribute [rw] sbom_reference
158
202
  # @return [::Grafeas::V1::SBOMReferenceNote]
159
203
  # A note describing an SBOM reference.
204
+ #
205
+ # Note: The following fields are mutually exclusive: `sbom_reference`, `vulnerability`, `build`, `image`, `package`, `deployment`, `discovery`, `attestation`, `upgrade`, `compliance`, `dsse_attestation`, `vulnerability_assessment`. If a field in that set is populated, all other fields in the set will automatically be cleared.
160
206
  class Note
161
207
  include ::Google::Protobuf::MessageExts
162
208
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -33,10 +33,13 @@ module Grafeas
33
33
  # `https://slsa.dev/provenance/v0.1` for SlsaProvenance.
34
34
  # @!attribute [rw] provenance
35
35
  # @return [::Grafeas::V1::InTotoProvenance]
36
+ # 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.
36
37
  # @!attribute [rw] slsa_provenance
37
38
  # @return [::Grafeas::V1::SlsaProvenance]
39
+ # 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.
38
40
  # @!attribute [rw] slsa_provenance_zero_two
39
41
  # @return [::Grafeas::V1::SlsaProvenanceZeroTwo]
42
+ # 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.
40
43
  class InTotoStatement
41
44
  include ::Google::Protobuf::MessageExts
42
45
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -190,12 +190,18 @@ module Grafeas
190
190
  # @!attribute [rw] cloud_repo
191
191
  # @return [::Grafeas::V1::CloudRepoSourceContext]
192
192
  # A SourceContext referring to a revision in a Google Cloud Source Repo.
193
+ #
194
+ # 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.
193
195
  # @!attribute [rw] gerrit
194
196
  # @return [::Grafeas::V1::GerritSourceContext]
195
197
  # A SourceContext referring to a Gerrit project.
198
+ #
199
+ # 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.
196
200
  # @!attribute [rw] git
197
201
  # @return [::Grafeas::V1::GitSourceContext]
198
202
  # A SourceContext referring to any third party Git repo (e.g., GitHub).
203
+ #
204
+ # 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.
199
205
  # @!attribute [rw] labels
200
206
  # @return [::Google::Protobuf::Map{::String => ::String}]
201
207
  # Labels with user defined metadata.
@@ -249,9 +255,13 @@ module Grafeas
249
255
  # @!attribute [rw] revision_id
250
256
  # @return [::String]
251
257
  # A revision ID.
258
+ #
259
+ # 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.
252
260
  # @!attribute [rw] alias_context
253
261
  # @return [::Grafeas::V1::AliasContext]
254
262
  # An alias, which may be a branch or tag.
263
+ #
264
+ # 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.
255
265
  class CloudRepoSourceContext
256
266
  include ::Google::Protobuf::MessageExts
257
267
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -269,9 +279,13 @@ module Grafeas
269
279
  # @!attribute [rw] revision_id
270
280
  # @return [::String]
271
281
  # A revision (commit) ID.
282
+ #
283
+ # 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.
272
284
  # @!attribute [rw] alias_context
273
285
  # @return [::Grafeas::V1::AliasContext]
274
286
  # An alias, which may be a branch or tag.
287
+ #
288
+ # 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.
275
289
  class GerritSourceContext
276
290
  include ::Google::Protobuf::MessageExts
277
291
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -294,9 +308,13 @@ module Grafeas
294
308
  # @!attribute [rw] project_repo_id
295
309
  # @return [::Grafeas::V1::ProjectRepoId]
296
310
  # A combination of a project ID and a repo name.
311
+ #
312
+ # 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.
297
313
  # @!attribute [rw] uid
298
314
  # @return [::String]
299
315
  # A server-assigned, globally unique identifier.
316
+ #
317
+ # 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.
300
318
  class RepoId
301
319
  include ::Google::Protobuf::MessageExts
302
320
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grafeas-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 2025-01-29 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.24.0
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.24.0
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -121,7 +120,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
121
120
  licenses:
122
121
  - Apache-2.0
123
122
  metadata: {}
124
- post_install_message:
125
123
  rdoc_options: []
126
124
  require_paths:
127
125
  - lib
@@ -129,15 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
127
  requirements:
130
128
  - - ">="
131
129
  - !ruby/object:Gem::Version
132
- version: '2.7'
130
+ version: '3.0'
133
131
  required_rubygems_version: !ruby/object:Gem::Requirement
134
132
  requirements:
135
133
  - - ">="
136
134
  - !ruby/object:Gem::Version
137
135
  version: '0'
138
136
  requirements: []
139
- rubygems_version: 3.5.23
140
- signing_key:
137
+ rubygems_version: 3.6.2
141
138
  specification_version: 4
142
139
  summary: An implementation of the Grafeas API, which stores, and enables querying
143
140
  and retrieval of critical metadata about all of your software artifacts.