public Request<DeleteScheduledActionRequest> marshall(
      DeleteScheduledActionRequest deleteScheduledActionRequest) {

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

    Request<DeleteScheduledActionRequest> request =
        new DefaultRequest<DeleteScheduledActionRequest>(
            deleteScheduledActionRequest, "AmazonAutoScaling");
    request.addParameter("Action", "DeleteScheduledAction");
    request.addParameter("Version", "2011-01-01");

    if (deleteScheduledActionRequest.getAutoScalingGroupName() != null) {
      request.addParameter(
          "AutoScalingGroupName",
          StringUtils.fromString(deleteScheduledActionRequest.getAutoScalingGroupName()));
    }
    if (deleteScheduledActionRequest.getScheduledActionName() != null) {
      request.addParameter(
          "ScheduledActionName",
          StringUtils.fromString(deleteScheduledActionRequest.getScheduledActionName()));
    }

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

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

    if (other.getAutoScalingGroupName() == null ^ this.getAutoScalingGroupName() == null)
      return false;
    if (other.getAutoScalingGroupName() != null
        && other.getAutoScalingGroupName().equals(this.getAutoScalingGroupName()) == false)
      return false;
    if (other.getScheduledActionName() == null ^ this.getScheduledActionName() == null)
      return false;
    if (other.getScheduledActionName() != null
        && other.getScheduledActionName().equals(this.getScheduledActionName()) == false)
      return false;
    return true;
  }