@SdkInternalApi
    final UpdateWorkforceResult executeUpdateWorkforce(UpdateWorkforceRequest updateWorkforceRequest) {

        ExecutionContext executionContext = createExecutionContext(updateWorkforceRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<UpdateWorkforceRequest> request = null;
        Response<UpdateWorkforceResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new UpdateWorkforceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateWorkforceRequest));
                // 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, "SageMaker");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateWorkforce");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

            HttpResponseHandler<AmazonWebServiceResponse<UpdateWorkforceResult>> responseHandler = protocolFactory.createResponseHandler(
                    new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateWorkforceResultJsonUnmarshaller());
            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Use this operation to update your workforce. You can use this operation to require that workers use specific IP
addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce
configuration.
</p>
<p>
The worker portal is now supported in VPC and public internet.
</p>
<p>
Use <code>SourceIpConfig</code> to restrict worker access to tasks to a specific range of IP addresses. You
specify allowed IP addresses by creating a list of up to ten <a
href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">CIDRs</a>. By default, a workforce isn't
restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks
using any IP address outside the specified range are denied and get a <code>Not Found</code> error message on the
worker portal.
</p>
<p>
To restrict access to all the workers in public internet, add the <code>SourceIpConfig</code> CIDR value as
"10.0.0.0/16".
</p>
<important>
<p>
Amazon SageMaker does not support Source Ip restriction for worker portals in VPC.
</p>
</important>
<p>
Use <code>OidcConfig</code> to update the configuration of a workforce created using your own OIDC IdP.
</p>
<important>
<p>
You can only update your OIDC IdP configuration when there are no work teams associated with your workforce. You
can delete work teams using the <a
href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html">DeleteWorkteam</a>
operation.
</p>
</important>
<p>
After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation,
you can view details about your update workforce using the <a
href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html">DescribeWorkforce</a>
operation.
</p>
<important>
<p>
This operation only applies to private workforces.
</p>
</important>

@param updateWorkforceRequest
@return Result of the UpdateWorkforce operation returned by the service.
@throws ConflictException
        There was a conflict when you attempted to modify a SageMaker entity such as an <code>Experiment</code>
        or <code>Artifact</code>.
@sample AmazonSageMaker.UpdateWorkforce
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateWorkforce" target="_top">AWS API
     Documentation</a>
aws-java-sdk-sagemaker/src/main/java/com/amazonaws/services/sagemaker/AmazonSageMakerClient.java