code: @Override
      public PutDestinationResult putDestination(PutDestinationRequest request) {
          request = beforeClientExecution(request);
          return executePutDestination(request);
      }
docs: <p>
  Creates or updates a destination. A destination encapsulates a physical resource (such as an Amazon Kinesis
  stream) and enables you to subscribe to a real-time stream of log events for a different account, ingested using
  <a>PutLogEvents</a>. Currently, the only supported physical resource is a Kinesis stream belonging to the same
  account as the destination.
  </p>
  <p>
  Through an access policy, a destination controls what is written to its Kinesis stream. By default,
  <code>PutDestination</code> does not set any access policy with the destination, which means a cross-account user
  cannot call <a>PutSubscriptionFilter</a> against this destination. To enable this, the destination owner must
  call <a>PutDestinationPolicy</a> after <code>PutDestination</code>.
  </p>
  
  @param putDestinationRequest
  @return Result of the PutDestination operation returned by the service.
  @throws InvalidParameterException
  A parameter is specified incorrectly.
  @throws OperationAbortedException
  Multiple requests to update the same resource were in conflict.
  @throws ServiceUnavailableException
  The service cannot complete the request.
  @sample AWSLogs.PutDestination
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutDestination" target="_top">AWS API
  Documentation</a>