Search in sources :

Example 1 with UndeleteCertificateAuthorityRequest

use of com.google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest in project java-security-private-ca by googleapis.

the class UndeleteCertificateAuthority method undeleteCertificateAuthority.

// Restore a deleted CA, if still within the grace period of 30 days.
public static void undeleteCertificateAuthority(String project, String location, String pool_Id, String certificateAuthorityName) throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // clean up any remaining background resources.
    try (CertificateAuthorityServiceClient certificateAuthorityServiceClient = CertificateAuthorityServiceClient.create()) {
        String certificateAuthorityParent = CertificateAuthorityName.of(project, location, pool_Id, certificateAuthorityName).toString();
        // Confirm if the CA is in DELETED stage.
        if (getCurrentState(certificateAuthorityServiceClient, certificateAuthorityParent) != State.DELETED) {
            System.out.println("CA is not deleted !");
            return;
        }
        // Create the Request.
        UndeleteCertificateAuthorityRequest undeleteCertificateAuthorityRequest = UndeleteCertificateAuthorityRequest.newBuilder().setName(certificateAuthorityParent).build();
        // Undelete the CA.
        ApiFuture<Operation> futureCall = certificateAuthorityServiceClient.undeleteCertificateAuthorityCallable().futureCall(undeleteCertificateAuthorityRequest);
        Operation response = futureCall.get(5, TimeUnit.SECONDS);
        // Confirm if the CA is DISABLED.
        if (response.hasError() || getCurrentState(certificateAuthorityServiceClient, certificateAuthorityParent) != State.DISABLED) {
            System.out.println("Unable to restore the Certificate Authority! Please try again !" + response.getError());
            return;
        }
        // The CA will be in the DISABLED state. Enable before use.
        System.out.println("Successfully restored the Certificate Authority ! " + certificateAuthorityName);
    }
}
Also used : UndeleteCertificateAuthorityRequest(com.google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest) CertificateAuthorityServiceClient(com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient) Operation(com.google.longrunning.Operation)

Aggregations

CertificateAuthorityServiceClient (com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient)1 UndeleteCertificateAuthorityRequest (com.google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest)1 Operation (com.google.longrunning.Operation)1