private DeregisterPackageVersionResponse deletePackageVersion()

in aws-panorama-packageversion/src/main/java/software/amazon/panorama/packageversion/DeleteHandler.java [48:78]


    private DeregisterPackageVersionResponse deletePackageVersion(
            final DeregisterPackageVersionRequest request,
            final ProxyClient<PanoramaClient> proxyClient) {
        DeregisterPackageVersionResponse deletePackageVersionResponse;
        try {
            deletePackageVersionResponse = proxyClient.injectCredentialsAndInvokeV2(
                    request, proxyClient.client()::deregisterPackageVersion);
        } catch (final PanoramaException e) {
            logger.error(String.format("API Exception is thrown from Panorama service. PackageId: %s, PackageVersion: %s, PatchVersion: %s. Request: %s",
                    request.packageId(), request.packageVersion(), request.patchVersion(), request.toString()));
            throw PanoramaExceptionTranslator.translateForAPIException(e,
                    OPERATION,
                    ResourceModel.TYPE_NAME,
                    String.format("%s-%s-%s", request.packageId(), request.packageVersion(), request.patchVersion()),
                    request.toString());
        } catch (final AwsServiceException e) {
            /*
             * While the handler contract states that the handler must always return a progress event,
             * you may throw any instance of BaseHandlerException, as the wrapper map it to a progress event.
             * Each BaseHandlerException maps to a specific error code, and you should map service exceptions as closely as possible
             * to more specific error codes
             */
            logger.error(String.format("Exception happened when deregistering PackageVersion. PackageId: %s, PackageVersion: %s, PatchVersion: %s. Request: %s",
                    request.packageId(), request.packageVersion(), request.patchVersion(), request.toString()));
            throw new CfnGeneralServiceException(OPERATION, e);
        }

        logger.info(String.format("%s successfully deleted for PackageId: %s, PackageVersion: %s, PatchVersion: %s",
                ResourceModel.TYPE_NAME, request.packageId(), request.packageVersion(), request.patchVersion()));
        return deletePackageVersionResponse;
    }