@SdkInternalApi
    final CreatePublicIpv4PoolResult executeCreatePublicIpv4Pool(CreatePublicIpv4PoolRequest createPublicIpv4PoolRequest) {

        ExecutionContext executionContext = createExecutionContext(createPublicIpv4PoolRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<CreatePublicIpv4PoolRequest> request = null;
        Response<CreatePublicIpv4PoolResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new CreatePublicIpv4PoolRequestMarshaller().marshall(super.beforeMarshalling(createPublicIpv4PoolRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "EC2");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreatePublicIpv4Pool");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            StaxResponseHandler<CreatePublicIpv4PoolResult> responseHandler = new StaxResponseHandler<CreatePublicIpv4PoolResult>(
                    new CreatePublicIpv4PoolResultStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Creates a public IPv4 address pool. A public IPv4 pool is an EC2 IP address pool required for the public IPv4
CIDRs that you own and bring to Amazon Web Services to manage with IPAM. IPv6 addresses you bring to Amazon Web
Services, however, use IPAM pools only. To monitor the status of pool creation, use <a
href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribePublicIpv4Pools.html"
>DescribePublicIpv4Pools</a>.
</p>

@param createPublicIpv4PoolRequest
@return Result of the CreatePublicIpv4Pool operation returned by the service.
@sample AmazonEC2.CreatePublicIpv4Pool
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePublicIpv4Pool" target="_top">AWS API
     Documentation</a>
aws-java-sdk-ec2/src/main/java/com/amazonaws/services/ec2/AmazonEC2Client.java