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

com.hubspot.singularity.api.SingularityBounceRequest Maven / Gradle / Ivy

The newest version!
package com.hubspot.singularity.api;

import java.util.UUID;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.wordnik.swagger.annotations.ApiModelProperty;

public class SingularityBounceRequest extends SingularityExpiringRequestParent {

  private final Optional incremental;
  private final Optional skipHealthchecks;

  @JsonCreator
  public SingularityBounceRequest(@JsonProperty("incremental") Optional incremental, @JsonProperty("skipHealthchecks") Optional skipHealthchecks,
      @JsonProperty("durationMillis") Optional durationMillis, @JsonProperty("actionId") Optional actionId, @JsonProperty("message") Optional message) {
    super(durationMillis, actionId, message);
    this.incremental = incremental;
    this.skipHealthchecks = skipHealthchecks;
  }

  public static SingularityBounceRequest defaultRequest() {
    return new SingularityBounceRequest(Optional.absent(), Optional.absent(), Optional.absent(), Optional.of(UUID.randomUUID().toString()), Optional.absent());
  }

  @ApiModelProperty(required=false, value="If present and set to true, old tasks will be killed as soon as replacement tasks are available, instead of waiting for all replacement tasks to be healthy")
  public Optional getIncremental() {
    return incremental;
  }

  @ApiModelProperty(required=false, value="Instruct replacement tasks for this bounce only to skip healthchecks")
  public Optional getSkipHealthchecks() {
    return skipHealthchecks;
  }

  @Override
  public String toString() {
    return "SingularityBounceRequest [incremental=" + incremental + ", skipHealthchecks=" + skipHealthchecks + ", toString()=" + super.toString() + "]";
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy