code: @Override
      public ModifySnapshotAttributeResult modifySnapshotAttribute(ModifySnapshotAttributeRequest request) {
          request = beforeClientExecution(request);
          return executeModifySnapshotAttribute(request);
      }
docs: <p>
  Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs
  from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to
  both add and remove account IDs for a snapshot, you must use multiple API calls.
  </p>
  <p>
  Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted
  with your default CMK cannot be shared with other accounts.
  </p>
  <p>
  For more information about modifying snapshot permissions, see <a
  href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html">Sharing
  Snapshots</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.
  </p>
  
  @param modifySnapshotAttributeRequest
  Contains the parameters for ModifySnapshotAttribute.
  @return Result of the ModifySnapshotAttribute operation returned by the service.
  @sample AmazonEC2.ModifySnapshotAttribute
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute" target="_top">AWS
  API Documentation</a>