public String requestSbom()

in src/main/java/com/amazon/inspector/jenkins/amazoninspectorbuildstep/models/requests/SdkRequests.java [45:87]


    public String requestSbom(String sbom) {
        SdkHttpClient client = ApacheHttpClient.builder().build();
        String workingProfileName = awsProfileName;
        AmazonWebServicesCredentials workingCredential = awsCredential;
        String workingOidc = oidc;
        boolean retry = true;

        while (true) {
            try {
                InspectorScanClient scanClient = InspectorScanClient.builder()
                        .region(Region.of(region))
                        .httpClient(client)
                        .credentialsProvider(getCredentialProvider(workingProfileName, workingOidc, workingCredential))
                        .overrideConfiguration(ClientOverrideConfiguration.builder()
                        .putHeader("Accept-Encoding", "gzip")
                        .build())
                        .build();

                JsonNodeParser jsonNodeParser = JsonNodeParser.create();
                DocumentUnmarshaller unmarshaller = new DocumentUnmarshaller();
                Document document = jsonNodeParser.parse(sbom).visit(unmarshaller);

                ScanSbomRequest request = ScanSbomRequest.builder()
                        .sbom(document)
                        .outputFormat(OutputFormat.CYCLONE_DX_1_5)
                        .build();
                ScanSbomResponse response = scanClient.scanSbom(request);
                return response.sbom().toString();
            } catch (Exception e) {
                AmazonInspectorBuilder.logger.println(e);
                if (!retry) {
                    throw e;
                }

                retry = false;
                AmazonInspectorBuilder.logger.println("An issue occurred while authenticating, attempting to " +
                        "authenticate with default credential provider chain");
                workingProfileName = "default";
                workingCredential = null;
                workingOidc = null;
            }
        }
    }