All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.singularity.SingularityRequestParent Maven / Gradle / Ivy

The newest version!
package com.hubspot.singularity;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.hubspot.singularity.expiring.SingularityExpiringBounce;
import com.hubspot.singularity.expiring.SingularityExpiringPause;
import com.hubspot.singularity.expiring.SingularityExpiringScale;
import com.hubspot.singularity.expiring.SingularityExpiringSkipHealthchecks;

public class SingularityRequestParent {

  private final SingularityRequest request;
  private final RequestState state;
  private final Optional requestDeployState;
  private final Optional activeDeploy;
  private final Optional pendingDeploy;
  private final Optional pendingDeployState;
  private final Optional expiringBounce;
  private final Optional expiringPause;
  private final Optional expiringScale;
  private final Optional expiringSkipHealthchecks;

  public SingularityRequestParent(SingularityRequest request, RequestState state) {
    this(request, state, Optional. absent());
  }

  public SingularityRequestParent(SingularityRequest request, RequestState state, Optional requestDeployState) {
    this(request, state, requestDeployState, Optional. absent(), Optional. absent(),
        Optional. absent(), Optional. absent(), Optional. absent(),
        Optional. absent(), Optional. absent());
  }

  @JsonCreator
  public SingularityRequestParent(@JsonProperty("request") SingularityRequest request, @JsonProperty("state") RequestState state,
      @JsonProperty("requestDeployState") Optional requestDeployState,
      @JsonProperty("activeDeploy") Optional activeDeploy, @JsonProperty("pendingDeploy") Optional pendingDeploy,
      @JsonProperty("pendingDeployState") Optional pendingDeployState, @JsonProperty("expiringBounce") Optional expiringBounce,
      @JsonProperty("expiringPause") Optional expiringPause, @JsonProperty("expiringScale") Optional expiringScale,
      @JsonProperty("expiringSkipHealthchecks") Optional expiringSkipHealthchecks) {
    this.request = request;
    this.state = state;
    this.requestDeployState = requestDeployState;
    this.activeDeploy = activeDeploy;
    this.pendingDeploy = pendingDeploy;
    this.pendingDeployState = pendingDeployState;
    this.expiringBounce = expiringBounce;
    this.expiringPause = expiringPause;
    this.expiringScale = expiringScale;
    this.expiringSkipHealthchecks = expiringSkipHealthchecks;
  }


  public RequestState getState() {
    return state;
  }

  public SingularityRequest getRequest() {
    return request;
  }

  public Optional getRequestDeployState() {
    return requestDeployState;
  }

  public Optional getActiveDeploy() {
    return activeDeploy;
  }

  public Optional getPendingDeploy() {
    return pendingDeploy;
  }

  public Optional getPendingDeployState() {
    return pendingDeployState;
  }

  public Optional getExpiringBounce() {
    return expiringBounce;
  }

  public Optional getExpiringPause() {
    return expiringPause;
  }

  public Optional getExpiringScale() {
    return expiringScale;
  }

  public Optional getExpiringSkipHealthchecks() {
    return expiringSkipHealthchecks;
  }

  @Override
  public String toString() {
    return "SingularityRequestParent [request=" + request + ", state=" + state + ", requestDeployState=" + requestDeployState + ", activeDeploy=" + activeDeploy + ", pendingDeploy=" + pendingDeploy
        + ", pendingDeployState=" + pendingDeployState + ", expiringBounce=" + expiringBounce + ", expiringPause=" + expiringPause + ", expiringScale=" + expiringScale + ", expiringSkipHealthchecks="
        + expiringSkipHealthchecks + "]";
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy