code: @Override
      public PutImageResult putImage(PutImageRequest request) {
          request = beforeClientExecution(request);
          return executePutImage(request);
      }
docs: <p>
  Creates or updates the image manifest and tags associated with an image.
  </p>
  <note>
  <p>
  This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling
  and pushing images. In most cases, you should use the <code>docker</code> CLI to pull, tag, and push images.
  </p>
  </note>
  
  @param putImageRequest
  @return Result of the PutImage operation returned by the service.
  @throws ServerException
  These errors are usually caused by a server-side issue.
  @throws InvalidParameterException
  The specified parameter is invalid. Review the available parameters for the API request.
  @throws RepositoryNotFoundException
  The specified repository could not be found. Check the spelling of the specified repository and ensure
  that you are performing operations on the correct registry.
  @throws ImageAlreadyExistsException
  The specified image has already been pushed, and there were no changes to the manifest or image tag after
  the last push.
  @throws LayersNotFoundException
  The specified layers could not be found, or the specified layer is not valid for this repository.
  @throws LimitExceededException
  The operation did not succeed because it would have exceeded a service limit for your account. For more
  information, see <a
  href="http://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html">Amazon ECR Default
  Service Limits</a> in the Amazon Elastic Container Registry User Guide.
  @sample AmazonECR.PutImage
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImage" target="_top">AWS API
  Documentation</a>