code: @Override
      public SubscribeResult subscribe(SubscribeRequest request) {
          request = beforeClientExecution(request);
          return executeSubscribe(request);
      }
docs: <p>
  Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a
  subscription, the endpoint owner must call the <code>ConfirmSubscription</code> action with the token from the
  confirmation message. Confirmation tokens are valid for three days.
  </p>
  <p>
  This action is throttled at 100 transactions per second (TPS).
  </p>
  
  @param subscribeRequest
  Input for Subscribe action.
  @return Result of the Subscribe operation returned by the service.
  @throws SubscriptionLimitExceededException
  Indicates that the customer already owns the maximum allowed number of subscriptions.
  @throws FilterPolicyLimitExceededException
  Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter
  polices, submit an SNS Limit Increase case in the AWS Support Center.
  @throws InvalidParameterException
  Indicates that a request parameter does not comply with the associated constraints.
  @throws InternalErrorException
  Indicates an internal service error.
  @throws NotFoundException
  Indicates that the requested resource does not exist.
  @throws AuthorizationErrorException
  Indicates that the user has been denied access to the requested resource.
  @throws InvalidSecurityException
  The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using
  Signature Version 4.
  @sample AmazonSNS.Subscribe
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Subscribe" target="_top">AWS API
  Documentation</a>