code: @Override
      public CreatePermissionResult createPermission(CreatePermissionRequest request) {
          request = beforeClientExecution(request);
          return executeCreatePermission(request);
      }
docs: <p>
  Assigns permissions from a private CA to a designated AWS service. Services are specified by their service
  principals and can be given permission to create and retrieve certificates on a private CA. Services can also be
  given permission to list the active permissions that the private CA has granted. For ACM to automatically renew
  your private CA's certificates, you must assign all possible permissions from the CA to the ACM service
  principal.
  </p>
  <p>
  At this time, you can only assign permissions to ACM (<code>acm.amazonaws.com</code>). Permissions can be revoked
  with the <a>DeletePermission</a> operation and listed with the <a>ListPermissions</a> operation.
  </p>
  
  @param createPermissionRequest
  @return Result of the CreatePermission operation returned by the service.
  @throws ResourceNotFoundException
  A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.
  @throws InvalidArnException
  The requested Amazon Resource Name (ARN) does not refer to an existing resource.
  @throws PermissionAlreadyExistsException
  The designated permission has already been given to the user.
  @throws LimitExceededException
  An ACM PCA limit has been exceeded. See the exception message returned to determine the limit that was
  exceeded.
  @throws InvalidStateException
  The private CA is in a state during which a report or certificate cannot be generated.
  @throws RequestFailedException
  The request has failed for an unspecified reason.
  @sample AWSACMPCA.CreatePermission
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreatePermission" target="_top">AWS API
  Documentation</a>