code: @Override
      public GetDataEndpointResult getDataEndpoint(GetDataEndpointRequest request) {
          request = beforeClientExecution(request);
          return executeGetDataEndpoint(request);
      }
docs: <p>
  Gets an endpoint for a specified stream for either reading or writing. Use this endpoint in your application to
  read from the specified stream (using the <code>GetMedia</code> or <code>GetMediaForFragmentList</code>
  operations) or write to it (using the <code>PutMedia</code> operation).
  </p>
  <note>
  <p>
  The returned endpoint does not have the API name appended. The client needs to add the API name to the returned
  endpoint.
  </p>
  </note>
  <p>
  In the request, specify the stream either by <code>StreamName</code> or <code>StreamARN</code>.
  </p>
  
  @param getDataEndpointRequest
  @return Result of the GetDataEndpoint operation returned by the service.
  @throws InvalidArgumentException
  The value for this input parameter is invalid.
  @throws ResourceNotFoundException
  Amazon Kinesis Video Streams can't find the stream that you specified.
  @throws ClientLimitExceededException
  Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client
  calls. Try making the call later.
  @throws NotAuthorizedException
  The caller is not authorized to perform this operation.
  @sample AmazonKinesisVideo.GetDataEndpoint
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/GetDataEndpoint" target="_top">AWS
  API Documentation</a>