Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2014 Spotify AB.
   *
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package com.spotify.helios.common.descriptors;
 
 
 
 
 import java.util.Map;
 
 import static com.google.common.base.Optional.fromNullable;
 import static com.google.common.base.Preconditions.checkNotNull;

Gives the Helios host status for the agent, which includes all jobs, their statuses, as well as host and agent information.
 {
   "agentInfo" : { #... see the description of AgentInfo },
   "environment" : {
     "SYSLOG_HOST_PORT" : "10.99.0.1:514",
   },
   "hostInfo" : { #... see the description of HostInfo },
   "jobs" : {
     "myservice:0.5:3539b7bc2235d53f79e6e8511942bbeaa8816265" : {
       "goal" : "START",
       "jobId" : "myservice:0.5:3539b7bc2235d53f79e6e8511942bbeaa8816265",
     }
   },
   "labels" : {
     "role" : "foo",
     "xyz" : "123"
   },
   "status" : "UP",
   "statuses" : {
     "elva:0.0.4:9f64cf43353c55c36276b7df76b066584f9c49aa" : {
       "containerId" : "5a31d4fd48b5b4349980175e2f865494146704e684d89b6a95a9a766cc2f43a3",
       "env" : {
         "SYSLOG_HOST_PORT" : "10.99.0.1:514",
       },
       "goal" : "START",
       "job" : { #... See definition of Job },
       "state" : "RUNNING",
       "throttled" : "NO"
     }
   }
 }
 
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class HostStatus extends Descriptor {
 
   public enum Status {
     UP,
     DOWN
   }
 
   private final Status status;
   private final HostInfo hostInfo;
   private final AgentInfo agentInfo;
   private final Map<JobIdDeploymentjobs;
   private final Map<JobIdTaskStatusstatuses;
   private final Map<StringStringenvironment;
   private final Map<StringStringlabels;

  
Constructor.

Parameters:
jobs Map of jobs and their deployments for this host.
statuses the statuses of jobs on this host.
status The up/down status of this host.
hostInfo The host information.
agentInfo The agent information.
environment The environment provided to the agent on it's command line.
labels The labels assigned to the agent.
 
   public HostStatus(@JsonProperty("jobs"final Map<JobIdDeploymentjobs,
                    @JsonProperty("statuses"final Map<JobIdTaskStatusstatuses,
                    @JsonProperty("status"final Status status,
                    @JsonProperty("hostInfo"final HostInfo hostInfo,
                    @JsonProperty("agentInfo"final AgentInfo agentInfo,
                    @JsonProperty("environment"final Map<StringStringenvironment,
                    @JsonProperty("labels"final Map<StringStringlabels) {
    this. = checkNotNull(status"status");
    this. = checkNotNull(jobs"jobs");
    this. = checkNotNull(statuses"statuses");
    // Host, runtime info and environment might not be available
    this. = hostInfo;
    this. = agentInfo;
    this. = fromNullable(environment).or(Collections.<StringString>emptyMap());
    this. = fromNullable(labels).or(Collections.<StringString>emptyMap());
  }
  public Map<StringStringgetEnvironment() {
    return ;
  }
  public Map<StringStringgetLabels() {
    return ;
  }
  public Status getStatus() {
    return ;
  }
  public HostInfo getHostInfo() {
    return ;
  }
  public AgentInfo getAgentInfo() {
    return ;
  }
  public Map<JobIdDeploymentgetJobs() {
    return ;
  }
  public Map<JobIdTaskStatusgetStatuses() {
    return ;
  }
  public static Builder newBuilder() {
    return new Builder();
  }
  public static class Builder {
    private Map<JobIdDeploymentjobs;
    private Map<JobIdTaskStatusstatuses;
    private Status status;
    private HostInfo hostInfo;
    private AgentInfo agentInfo;
    private Map<StringStringenvironment;
    private Map<StringStringlabels;
    public Builder setJobs(final Map<JobIdDeploymentjobs) {
      this. = jobs;
      return this;
    }
    public Builder setStatuses(final Map<JobIdTaskStatusstatuses) {
      this. = statuses;
      return this;
    }
    public Builder setStatus(final Status status) {
      this. = status;
      return this;
    }
    public Builder setHostInfo(final HostInfo hostInfo) {
      this. = hostInfo;
      return this;
    }
    public Builder setAgentInfo(final AgentInfo agentInfo) {
      this. = agentInfo;
      return this;
    }
    public Builder setEnvironment(final Map<StringStringenvironment) {
      this. = environment;
      return this;
    }
    public Builder setLabels(final Map<StringStringlabels) {
      this. = labels;
      return this;
    }
    public HostStatus build() {
      return new HostStatus();
    }
  }
  public boolean equals(final Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    final HostStatus that = (HostStatuso;
    if ( != null ? !.equals(that.hostInfo) : that.hostInfo != null) {
      return false;
    }
    if ( != null ? !.equals(that.jobs) : that.jobs != null) {
      return false;
    }
    if ( != null ? !.equals(that.agentInfo) : that.agentInfo != null) {
      return false;
    }
    if ( != that.status) {
      return false;
    }
    if ( != null ? !.equals(that.statuses) : that.statuses != null) {
      return false;
    }
    if ( != null ? !.equals(that.environment) : that.environment != null) {
      return false;
    }
    if ( != null ? !.equals(that.labels) : that.labels != null) {
      return false;
    }
    return true;
  }
  public int hashCode() {
    int result =  != null ? .hashCode() : 0;
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    return result;
  }
  public String toString() {
    return "HostStatus{" +
           "status=" +  +
           ", hostInfo=" +  +
           ", agentInfo=" +  +
           ", jobs=" +  +
           ", statuses=" +  +
           ", environment=" + stringMapToString() +
           ", labels=" + stringMapToString() +
           '}';
  }
  private static String stringMapToString(final Map<StringStringmap) {
    return "{" + Joiner.on(", ").withKeyValueSeparator("=").join(map) + "}";
  }
New to GrepCode? Check out our FAQ X