public String createCertificateAuthority()

in aws-acmpca-certificateauthority/src/main/java/software/amazon/acmpca/certificateauthority/AcmPcaClient.java [47:73]


    public String createCertificateAuthority(final ResourceModel model) {
        val subject = mapper.map(model.getSubject(), ASN1Subject.class);

        val tags = getTags(model);

        val certificateAuthorityConfiguration = new CertificateAuthorityConfiguration()
            .withKeyAlgorithm(model.getKeyAlgorithm())
            .withSigningAlgorithm(model.getSigningAlgorithm())
            .withSubject(subject);

        val createRequest = new CreateCertificateAuthorityRequest()
            .withCertificateAuthorityType(model.getType())
            .withCertificateAuthorityConfiguration(certificateAuthorityConfiguration)
            .withIdempotencyToken(UUID.randomUUID().toString());

        if (!isRevocationConfigurationEmpty(model)) {
            val revocationConfiguration = mapper.map(model.getRevocationConfiguration(), RevocationConfiguration.class);
            createRequest.setRevocationConfiguration(revocationConfiguration);
        }

        if (!tags.isEmpty()) {
            createRequest.setTags(tags);
        }

        return clientProxy.injectCredentialsAndInvoke(createRequest, pcaClient::createCertificateAuthority)
            .getCertificateAuthorityArn();
    }