code: @Override
      public CreateCertificateAuthorityResult createCertificateAuthority(CreateCertificateAuthorityRequest request) {
          request = beforeClientExecution(request);
          return executeCreateCertificateAuthority(request);
      }
docs: <p>
  Creates a private subordinate certificate authority (CA). You must specify the CA configuration, the revocation
  configuration, the CA type, and an optional idempotency token. The CA configuration specifies the name of the
  algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses to
  sign, and X.500 subject information. The CRL (certificate revocation list) configuration specifies the CRL
  expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a
  CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this operation
  returns the Amazon Resource Name (ARN) of the CA.
  </p>
  
  @param createCertificateAuthorityRequest
  @return Result of the CreateCertificateAuthority operation returned by the service.
  @throws InvalidArgsException
  One or more of the specified arguments was not valid.
  @throws InvalidPolicyException
  The S3 bucket policy is not valid. The policy must give ACM PCA rights to read from and write to the
  bucket and find the bucket location.
  @throws InvalidTagException
  The tag associated with the CA is not valid. The invalid argument is contained in the message field.
  @throws LimitExceededException
  An ACM PCA limit has been exceeded. See the exception message returned to determine the limit that was
  exceeded.
  @sample AWSACMPCA.CreateCertificateAuthority
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthority"
  target="_top">AWS API Documentation</a>