Package

io.buoyant

k8s

Permalink

package k8s

This package contains representations of objects returned by multiple versions of the Kubernetes API. Version-specific objects should go in sub-packages (see v1.scala).

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. k8s
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. class AuthFilter extends SimpleFilter[Request, Response]

    Permalink
  2. type Client = Service[Request, Response]

    Permalink
  3. trait ClientConfig extends AnyRef

    Permalink

    Meant to be implemented by configuration classes that need to produce a k8s API client.

  4. class EndpointsNamer extends Namer with EnumeratingNamer

    Permalink
  5. trait KubeList[O <: KubeObject] extends AnyRef

    Permalink

    Describes a List of Objects in the Kubernetes API (i.e.

    Describes a List of Objects in the Kubernetes API (i.e. EndpointsList)

    O

    the type of object contained in the list

  6. trait KubeObject extends AnyRef

    Permalink

    Describes an Object in the Kubernetes API (i.e.

    Describes an Object in the Kubernetes API (i.e. http://kubernetes.io/docs/api-reference/v1/definitions/#_v1_endpoints)

  7. abstract class Ns[O <: KubeObject, W <: Watch[O], L <: KubeList[O], Cache <: ObjectCache[O, W, L]] extends AnyRef

    Permalink
  8. class NsThirdPartyVersion[O <: KubeObject] extends NsVersion[O]

    Permalink

    A namespaced third-party version, i.e.

    A namespaced third-party version, i.e. "/apis/buoyant.io/v1/namespaces/ns/".

  9. trait ObjectDescriptor[O <: KubeObject, W <: Watch[O]] extends AnyRef

    Permalink

    Generally required as an implicit for list resources.

    Generally required as an implicit for list resources. Provides the kubernetes-designated name for the resource, as well as a means of transforming an individual instance into a type-specialized Watch.

  10. case class ObjectMeta(name: Option[String] = None, generateName: Option[String] = None, namespace: Option[String] = None, selfLink: Option[String] = None, uid: Option[String] = None, resourceVersion: Option[String] = None, generation: Option[String] = None, creationTimestamp: Option[String] = None, deletionTimestamp: Option[String] = None, labels: Option[Map[String, String]] = None, annotations: Option[Map[String, String]] = None) extends Product with Serializable

    Permalink

    See https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/devel/api-conventions.md#metadata for descriptions of the meanings of the contained fields.

  11. case class ObjectReference(kind: Option[String] = None, namespace: Option[String] = None, name: Option[String] = None, uid: Option[String] = None, apiVersion: Option[String] = None, resourceVersion: Option[String] = None, fieldPath: Option[String] = None) extends Product with Serializable

    Permalink
  12. trait Resource extends Closable

    Permalink

    Basic functionality shared by all k8s Resource implementations: they require an HTTP client, and can be closed.

  13. abstract class SerializationModule extends AnyRef

    Permalink

    Class used to provide LoadService-compatible serialization/deserialization plugins to k8s JSON parsing.

  14. class ServiceCache extends ObjectCache[Service, ServiceWatch, ServiceList]

    Permalink
  15. class ServiceNamer extends Namer

    Permalink

    Accepts names in the form: /<namespace>/<port-name>/<svc-name>/residual/path

    Accepts names in the form: /<namespace>/<port-name>/<svc-name>/residual/path

    and attempts to bind an Addr by resolving to the external load balancer for the given service and port.

  16. class SetHostFilter extends SimpleFilter[Request, Response]

    Permalink
  17. case class Status(kind: Option[String] = None, apiVersion: Option[String] = None, metadata: Option[ObjectMeta] = None, status: Option[String] = None, message: Option[String] = None, reason: Option[String] = None, details: Option[StatusDetails] = None, code: Option[Int] = None) extends Product with Serializable

    Permalink
  18. case class StatusCause(reason: Option[String] = None, message: Option[String] = None, field: Option[String] = None) extends Product with Serializable

    Permalink
  19. case class StatusDetails(name: Option[String] = None, kind: Option[String] = None, causes: Option[Seq[StatusCause]] = None, retryAfterSeconds: Option[Int] = None) extends Product with Serializable

    Permalink
  20. trait ThirdPartyVersion[O <: KubeObject] extends Version[O]

    Permalink

    A third-party version contains ThirdPartyResource-typed objects.

    A third-party version contains ThirdPartyResource-typed objects. See https://github.com/kubernetes/kubernetes/blob/master/docs/design/extending-api.md for a description of the design model.

    Implementors are likely to want to extend this to provide convenience methods on top of the list method.

    O

    The parent type for all KubeObjects served by this Version.

  21. trait Watch[O <: KubeObject] extends AnyRef

    Permalink

    An event resulting from a "watch" on the Kubernetes API: http://kubernetes.io/docs/api-reference/v1/definitions/#_json_watchevent

    An event resulting from a "watch" on the Kubernetes API: http://kubernetes.io/docs/api-reference/v1/definitions/#_json_watchevent

    Note: Dealing with this class is a little clunky because we haven't been able to get Jackson to handle the combination of generics and polymorphic inheritance correctly. Thus, you'll need to create actual subclasses (i.e. FooWatch extends Watch[Foo]) rather than using Watch[Foo] directly, and set the correct Jackson annotations on those, to ensure correct parsing.

Value Members

  1. object Api

    Permalink

    Contains various classes and methods useful for interacting with the Kubernetes API.

  2. object ClientConfig

    Permalink
  3. val Json: JsonStreamParser

    Permalink
  4. object Ns

    Permalink
  5. object ServiceCache

    Permalink
  6. object ThirdPartyVersion

    Permalink
  7. object Watch

    Permalink
  8. object Watchable

    Permalink
  9. package v1

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped