use of io.grafeas.v1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class HighVulnerabilitiesForImage method findHighSeverityVulnerabilitiesForImage.
// Retrieve a list of vulnerability occurrences with a severity level of 'HIGH' or greater
public static List<Occurrence> findHighSeverityVulnerabilitiesForImage(String resourceUrl, String projectId) throws IOException {
// String resourceUrl = "https://gcr.io/project/image@sha256:123";
// String projectId = "my-project-id";
final String projectName = ProjectName.format(projectId);
String filterStr = String.format("kind=\"VULNERABILITY\" AND resourceUrl=\"%s\"", resourceUrl);
// Initialize client that will be used to send requests. After completing all of your requests,
// call the "close" method on the client to safely clean up any remaining background resources.
GrafeasClient client = ContainerAnalysisClient.create().getGrafeasClient();
LinkedList<Occurrence> vulnerabilitylist = new LinkedList<Occurrence>();
for (Occurrence o : client.listOccurrences(projectName, filterStr).iterateAll()) {
Severity severity = o.getVulnerability().getEffectiveSeverity();
if (severity == Severity.HIGH || severity == Severity.CRITICAL) {
vulnerabilitylist.add(o);
}
}
return vulnerabilitylist;
}
use of io.grafeas.v1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class OccurrencesForNote method getOccurrencesForNote.
// Retrieves all the Occurrences associated with a specified Note
// Here, all Occurrences are printed and counted
public static int getOccurrencesForNote(String noteId, String projectId) throws IOException, InterruptedException {
// String noteId = "my-note";
// String projectId = "my-project-id";
final NoteName noteName = NoteName.of(projectId, noteId);
ListNoteOccurrencesRequest request = ListNoteOccurrencesRequest.newBuilder().setName(noteName.toString()).build();
// Initialize client that will be used to send requests. After completing all of your requests,
// call the "close" method on the client to safely clean up any remaining background resources.
GrafeasClient client = ContainerAnalysisClient.create().getGrafeasClient();
int i = 0;
for (Occurrence o : client.listNoteOccurrences(request).iterateAll()) {
// Write custom code to process each Occurrence here
System.out.println(o.getName());
i = i + 1;
}
return i;
}
use of io.grafeas.v1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class SamplesTest method testFindVulnerabilitiesForImage.
@Test
public void testFindVulnerabilitiesForImage() throws Exception {
List<Occurrence> result = VulnerabilityOccurrencesForImage.findVulnerabilityOccurrencesForImage(imageUrl, PROJECT_ID);
assertEquals(result.size(), 0);
Occurrence o = CreateOccurrence.createOccurrence(imageUrl, noteId, PROJECT_ID, PROJECT_ID);
int tries = 0;
do {
result = VulnerabilityOccurrencesForImage.findVulnerabilityOccurrencesForImage(imageUrl, PROJECT_ID);
sleep(SLEEP_TIME);
tries += 1;
} while (result.size() != 1 && tries < TRY_LIMIT);
assertEquals(result.size(), 1);
// clean up
String[] nameArr = o.getName().split("/");
String occId = nameArr[nameArr.length - 1];
DeleteOccurrence.deleteOccurrence(occId, PROJECT_ID);
}
use of io.grafeas.v1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class SamplesTest method testCreateOccurrence.
@Test
public void testCreateOccurrence() throws Exception {
Occurrence o = CreateOccurrence.createOccurrence(imageUrl, noteId, PROJECT_ID, PROJECT_ID);
String[] nameArr = o.getName().split("/");
String occId = nameArr[nameArr.length - 1];
Occurrence retrieved = GetOccurrence.getOccurrence(occId, PROJECT_ID);
assertEquals(o.getName(), retrieved.getName());
// clean up
DeleteOccurrence.deleteOccurrence(occId, PROJECT_ID);
}
use of io.grafeas.v1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class GetOccurrence method getOccurrence.
// Retrieves and prints a specified Occurrence from the server
public static Occurrence getOccurrence(String occurrenceId, String projectId) throws IOException, InterruptedException {
// String occurrenceId = "123-456-789";
// String projectId = "my-project-id";
final OccurrenceName occurrenceName = OccurrenceName.of(projectId, occurrenceId);
// Initialize client that will be used to send requests. After completing all of your requests,
// call the "close" method on the client to safely clean up any remaining background resources.
GrafeasClient client = ContainerAnalysisClient.create().getGrafeasClient();
Occurrence occ = client.getOccurrence(occurrenceName);
System.out.println(occ);
return occ;
}
Aggregations