@SdkInternalApi
    final GlobalCluster executeCreateGlobalCluster(CreateGlobalClusterRequest createGlobalClusterRequest) {

        ExecutionContext executionContext = createExecutionContext(createGlobalClusterRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<CreateGlobalClusterRequest> request = null;
        Response<GlobalCluster> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new CreateGlobalClusterRequestMarshaller().marshall(super.beforeMarshalling(createGlobalClusterRequest));
                // 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, "RDS");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateGlobalCluster");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

            StaxResponseHandler<GlobalCluster> responseHandler = new StaxResponseHandler<GlobalCluster>(new GlobalClusterStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database
contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives
data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.
</p>
<p>
You can create a global database that is initially empty, and then create the primary and secondary DB clusters
in the global database. Or you can specify an existing Aurora cluster during the create operation, and this
cluster becomes the primary cluster of the global database.
</p>
<note>
<p>
This operation applies only to Aurora DB clusters.
</p>
</note>

@param createGlobalClusterRequest
@return Result of the CreateGlobalCluster operation returned by the service.
@throws GlobalClusterAlreadyExistsException
        The <code>GlobalClusterIdentifier</code> already exists. Choose a new global database identifier (unique
        name) to create a new global database cluster.
@throws GlobalClusterQuotaExceededException
        The number of global database clusters for this account is already at the maximum allowed.
@throws InvalidDBClusterStateException
        The requested operation can't be performed while the cluster is in this state.
@throws DBClusterNotFoundException
        <code>DBClusterIdentifier</code> doesn't refer to an existing DB cluster.
@sample AmazonRDS.CreateGlobalCluster
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster" target="_top">AWS API
     Documentation</a>
aws-java-sdk-rds/src/main/java/com/amazonaws/services/rds/AmazonRDSClient.java