@Override
    public CreatePublicKeyResult createPublicKey(CreatePublicKeyRequest request) {
        request = beforeClientExecution(request);
        return executeCreatePublicKey(request);
    }
<p>
Uploads a public key to CloudFront that you can use with <a
href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html">signed URLs and
signed cookies</a>, or with <a
href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html">field-level
encryption</a>.
</p>

@param createPublicKeyRequest
@return Result of the CreatePublicKey operation returned by the service.
@throws PublicKeyAlreadyExistsException
        The specified public key already exists.
@throws InvalidArgumentException
        An argument is invalid.
@throws TooManyPublicKeysException
        The maximum number of public keys for field-level encryption have been created. To create a new public
        key, delete one of the existing keys.
@sample AmazonCloudFront.CreatePublicKey
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey" target="_top">AWS API
     Documentation</a>
aws-java-sdk-cloudfront/src/main/java/com/amazonaws/services/cloudfront/AmazonCloudFrontClient.java