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

io.k8s.api.core.v1.EndpointSubset Maven / Gradle / Ivy

package io.k8s.api.core.v1;

import java.util.List;

/**
 * EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:
 *
 * 	{
 * 	  Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
 * 	  Ports:     [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
 * 	}
 *
 * The resulting set of endpoints can be viewed as:
 *
 * 	a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
 * 	b: [ 10.10.1.1:309, 10.10.2.2:309 ]
 */
public class EndpointSubset {
  public List addresses;

  public List notReadyAddresses;

  public List ports;

  /**
   * IP addresses which offer the related ports that are marked as ready. These endpoints should be considered safe for load balancers and clients to utilize.
   */
  public EndpointSubset addresses(List addresses) {
    this.addresses = addresses;
    return this;
  }

  /**
   * IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.
   */
  public EndpointSubset notReadyAddresses(List notReadyAddresses) {
    this.notReadyAddresses = notReadyAddresses;
    return this;
  }

  /**
   * Port numbers available on the related IP addresses.
   */
  public EndpointSubset ports(List ports) {
    this.ports = ports;
    return this;
  }

  public static EndpointSubset endpointSubset() {
    return new EndpointSubset();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy