@Override
  public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null) return false;

    if (obj instanceof UpdatePipelineStatusRequest == false) return false;
    UpdatePipelineStatusRequest other = (UpdatePipelineStatusRequest) obj;

    if (other.getId() == null ^ this.getId() == null) return false;
    if (other.getId() != null && other.getId().equals(this.getId()) == false) return false;
    if (other.getStatus() == null ^ this.getStatus() == null) return false;
    if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
      return false;
    return true;
  }
  public Request<UpdatePipelineStatusRequest> marshall(
      UpdatePipelineStatusRequest updatePipelineStatusRequest) {

    if (updatePipelineStatusRequest == null) {
      throw new SdkClientException("Invalid argument passed to marshall(...)");
    }

    Request<UpdatePipelineStatusRequest> request =
        new DefaultRequest<UpdatePipelineStatusRequest>(
            updatePipelineStatusRequest, "AmazonElasticTranscoder");

    request.setHttpMethod(HttpMethodName.POST);

    String uriResourcePath = "/2012-09-25/pipelines/{Id}/status";

    uriResourcePath =
        com.amazonaws.transform.PathMarshallers.NON_GREEDY.marshall(
            uriResourcePath, "Id", updatePipelineStatusRequest.getId());
    request.setResourcePath(uriResourcePath);

    try {
      final StructuredJsonGenerator jsonGenerator = protocolFactory.createGenerator();
      jsonGenerator.writeStartObject();

      if (updatePipelineStatusRequest.getStatus() != null) {
        jsonGenerator.writeFieldName("Status").writeValue(updatePipelineStatusRequest.getStatus());
      }

      jsonGenerator.writeEndObject();

      byte[] content = jsonGenerator.getBytes();
      request.setContent(new ByteArrayInputStream(content));
      request.addHeader("Content-Length", Integer.toString(content.length));
      if (!request.getHeaders().containsKey("Content-Type")) {
        request.addHeader("Content-Type", protocolFactory.getContentType());
      }
    } catch (Throwable t) {
      throw new SdkClientException("Unable to marshall request to JSON: " + t.getMessage(), t);
    }

    return request;
  }