code: @Override
      public PublishLayerVersionResult publishLayerVersion(PublishLayerVersionRequest request) {
          request = beforeClientExecution(request);
          return executePublishLayerVersion(request);
      }
docs: <p>
  Creates an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">AWS Lambda layer</a>
  from a ZIP archive. Each time you call <code>PublishLayerVersion</code> with the same version name, a new version
  is created.
  </p>
  <p>
  Add layers to your function with <a>CreateFunction</a> or <a>UpdateFunctionConfiguration</a>.
  </p>
  
  @param publishLayerVersionRequest
  @return Result of the PublishLayerVersion operation returned by the service.
  @throws ServiceException
  The AWS Lambda service encountered an internal error.
  @throws ResourceNotFoundException
  The resource (for example, a Lambda function or access policy statement) specified in the request does
  not exist.
  @throws TooManyRequestsException
  Request throughput limit exceeded.
  @throws InvalidParameterValueException
  One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
  to assume in the <code>CreateFunction</code> or the <code>UpdateFunctionConfiguration</code> API, that
  AWS Lambda is unable to assume you will get this exception.
  @throws CodeStorageExceededException
  You have exceeded your maximum total code size per account. <a
  href="https://docs.aws.amazon.com/lambda/latest/dg/limits.html">Learn more</a>
  @sample AWSLambda.PublishLayerVersion
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion" target="_top">AWS API
  Documentation</a>