@Override
    public PutPublicAccessBlockResult putPublicAccessBlock(PutPublicAccessBlockRequest request) {
        request = beforeClientExecution(request);
        return executePutPublicAccessBlock(request);
    }
<note>
<p>
This operation is not supported by directory buckets.
</p>
</note>
<p>
Creates or modifies the <code>PublicAccessBlock</code> configuration for an Amazon Web Services account. For this
operation, users must have the <code>s3:PutAccountPublicAccessBlock</code> permission. For more information, see
<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html"> Using Amazon
S3 block public access</a>.
</p>
<p>
Related actions include:
</p>
<ul>
<li>
<p>
<a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html">
GetPublicAccessBlock</a>
</p>
</li>
<li>
<p>
<a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html">
DeletePublicAccessBlock</a>
</p>
</li>
</ul>

@param putPublicAccessBlockRequest
@return Result of the PutPublicAccessBlock operation returned by the service.
@sample AWSS3Control.PutPublicAccessBlock
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock" target="_top">AWS
     API Documentation</a>
aws-java-sdk-s3control/src/main/java/com/amazonaws/services/s3control/AWSS3ControlClient.java