Google Container Analysis: Node.js Client
Container Analysis API client for Node.js
A comprehensive list of changes in each version may be found in the CHANGELOG .
- Google Container Analysis Node.js Client API Reference
- Google Container Analysis Documentation
- github.com/googleapis/nodejs-containeranalysis
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained .
Table of contents:
Quickstart
Before you begin
- Select or create a Cloud Platform project .
- Enable billing for your project .
- Enable the Google Container Analysis API .
- Set up authentication with a service account so you can access the API from your local workstation.
Installing the client library
npm install @google-cloud/containeranalysis
Using the client library
/**
* TODO(developer): Uncomment these variables before running the sample
*/
// const projectId = 'your-project-id', // Your GCP Project ID
// const noteId = 'my-note-id' // Id of the note
// Import the library and create a client
const {ContainerAnalysisClient} = require(' @google-cloud/containeranalysis
');
const client = new ContainerAnalysisClient
();
// Fetch an instance of a Grafeas client:
// see: https://googleapis.dev/nodejs/grafeas/latest
const grafeasClient = client. getGrafeasClient
();
// Construct request
// Associate the Note with a metadata type
// https://cloud.google.com/container-registry/docs/container-analysis#supported_metadata_types
// Here, we use the type "vulnerabiltity"
const formattedParent = grafeasClient. projectPath
(projectId);
// Creates and returns a new Note
const [note] = await grafeasClient.createNote({
parent: formattedParent,
noteId: noteId,
note: {
vulnerability: {
details: [
{
affectedCpeUri: 'foo.uri',
affectedPackage: 'foo',
minAffectedVersion: {
kind: 'MINIMUM',
},
fixedVersion: {
kind: 'MAXIMUM',
},
},
],
},
},
});
console.log(`Note ${note.name} created.`);
Samples
Samples are in the samples/
directory. Each sample's README.md
has instructions for running its sample.
Sample | Source Code | Try it |
---|---|---|
Create Note
|
source code | ![]() |
Create Occurrence
|
source code | ![]() |
Delete Note
|
source code | ![]() |
Delete Occurrence
|
source code | ![]() |
Get Discovery Info
|
source code | ![]() |
Get Note
|
source code | ![]() |
Get Occurrence
|
source code | ![]() |
Get High Vulnerabilities for Image
|
source code | ![]() |
Occurrence PubSub
|
source code | ![]() |
Occurrences for Image
|
source code | ![]() |
Occurrences for Note
|
source code | ![]() |
Poll Discovery Occurrence Finished
|
source code | ![]() |
Quickstart
|
source code | ![]() |
Vulnerability Occurrences for Image
|
source code | ![]() |
The Google Container Analysis Node.js Client API Reference documentation also contains samples.
Supported Node.js Versions
Our client libraries follow the Node.js release schedule . Libraries are compatible with all current active and maintenance versions of Node.js.
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed via npm dist-tags
.
The dist-tags follow the naming convention legacy-(version)
.
Legacy Node.js versions are supported as a best effort:
- Legacy versions will not be tested in continuous integration.
- Some security patches may not be able to be backported.
- Dependencies will not be kept up-to-date, and features will not be backported.
Legacy tags available
-
legacy-8
: install client libraries from this dist-tag for versions compatible with Node.js 8.
Versioning
This library follows Semantic Versioning .
This library is considered to be General Availability (GA). This means it is stable; the code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against GAlibraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide .
Please note that this README.md
, the samples/README.md
,
and a variety of configuration files in this repository (including .nycrc
and tsconfig.json
)
are generated from a central template. To edit one of these files, make an edit
to its templates in directory
.
License
Apache Version 2.0
See LICENSE