Packages

final class ResourceClient[T, DeleteResult] extends Resource[T] with ResourceDelete[T, DeleteResult] with ResourceDeleteAll[T] with ResourceClientBase

Generic implementation of Resource, ResourceDelete and ResourceDeleteAll

See https://kubernetes.io/docs/reference/using-api/api-concepts/

T

Resource type, must have JSON encoder and decoder and an implementation of com.coralogix.zio.k8s.client.model.K8sObject

DeleteResult

Result type of the delete operation. Usually com.coralogix.zio.k8s.model.pkg.apis.meta.v1.Status but for some resources it can be custom.

Linear Supertypes
ResourceClientBase, ResourceDeleteAll[T], ResourceDelete[T, DeleteResult], Resource[T], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ResourceClient
  2. ResourceClientBase
  3. ResourceDeleteAll
  4. ResourceDelete
  5. Resource
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ResourceClient(resourceType: K8sResourceType, cluster: K8sCluster, backend: K8sBackend)(implicit arg0: K8sObject[T], arg1: Encoder[T], arg2: Decoder[T], arg3: Encoder[DeleteResult], arg4: Decoder[DeleteResult])

    resourceType

    Kubernetes resource metadata

    cluster

    Configured Kubernetes cluster

    backend

    Configured HTTP client

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def asJsonAccumulating[B](implicit arg0: IsOptional[B]): ResponseAs[Either[ResponseException[String, NonEmptyList[Error]], B], Any]

    If the response is successful (2xx), tries to deserialize the body from a string into JSON.

    If the response is successful (2xx), tries to deserialize the body from a string into JSON. Returns:

    • Right(b) if the parsing was successful
    • Left(HttpError(String)) if the response code was other than 2xx (deserialization is not attempted)
    • Left(DeserializationException) if there's an error during deserialization
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  6. val backend: K8sBackend
    Attributes
    protected
    Definition Classes
    ResourceClientResourceClientBase
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  8. val cluster: K8sCluster
    Attributes
    protected
    Definition Classes
    ResourceClientResourceClientBase
  9. def create(newResource: T, namespace: Option[K8sNamespace], dryRun: Boolean): IO[K8sFailure, T]

    Creates a new resource

    Creates a new resource

    newResource

    The new resource to define in the cluster

    namespace

    Namespace. For namespaced resources it must be Some. For cluster resources, it must be None.

    dryRun

    If true, the request is sent to the server but it will not create the resource.

    returns

    Returns the created resource as it was returned from Kubernetes

    Definition Classes
    ResourceClientResource
  10. def creating(namespace: Option[K8sNamespace], dryRun: Boolean): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  11. def delete(name: String, deleteOptions: DeleteOptions, namespace: Option[K8sNamespace], dryRun: Boolean, gracePeriod: Option[zio.Duration] = None, propagationPolicy: Option[PropagationPolicy] = None): IO[K8sFailure, DeleteResult]

    Deletes an existing resource selected by its name

    Deletes an existing resource selected by its name

    name

    Name of the resource

    deleteOptions

    Delete options

    namespace

    Namespace. For namespaced resources it must be Some. For cluster resources, it must be None.

    dryRun

    If true, the request is sent to the server but it will not create the resource.

    gracePeriod

    The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

    propagationPolicy

    Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.

    returns

    Response from the Kubernetes API

    Definition Classes
    ResourceClientResourceDelete
  12. def deleteAll(deleteOptions: DeleteOptions, namespace: Option[K8sNamespace], dryRun: Boolean = false, gracePeriod: Option[zio.Duration] = None, propagationPolicy: Option[PropagationPolicy] = None, fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None): IO[K8sFailure, Status]

    Delete all resources matching the provided constraints

    Delete all resources matching the provided constraints

    deleteOptions

    Delete options

    namespace

    Namespace. For namespaced resources it must be Some. For cluster resources, it must be None.

    dryRun

    If true, the request is sent to the server but it will not create the resource.

    gracePeriod

    The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

    propagationPolicy

    Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.

    fieldSelector

    Select the items to be deleted by field selectors. Not all fields are supported by the server.

    labelSelector

    Select the items to be deleted by label selectors.

    returns

    Status returned by the Kubernetes API

    Definition Classes
    ResourceClientResourceDeleteAll
  13. def deleteAndWait(name: String, deleteOptions: DeleteOptions, namespace: Option[K8sNamespace], dryRun: Boolean = false, gracePeriod: Option[zio.Duration] = None, propagationPolicy: Option[PropagationPolicy] = None)(implicit ev: <:<[DeleteResult, Status]): ZIO[Any, K8sFailure, Unit]

    Deletes an existing resource selected by its name and waits until it has gone

    Deletes an existing resource selected by its name and waits until it has gone

    name

    Name of the resource

    deleteOptions

    Delete options

    namespace

    Namespace. For namespaced resources it must be Some. For cluster resources, it must be None.

    dryRun

    If true, the request is sent to the server but it will not create the resource.

    gracePeriod

    The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

    propagationPolicy

    Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.

    Definition Classes
    ResourceDelete
  14. def deleting(name: String, subresource: Option[String], namespace: Option[K8sNamespace], dryRun: Boolean, gracePeriod: Option[zio.Duration], propagationPolicy: Option[PropagationPolicy]): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  15. def deletingMany(namespace: Option[K8sNamespace], dryRun: Boolean, gracePeriod: Option[zio.Duration], propagationPolicy: Option[PropagationPolicy], fieldSelector: Option[FieldSelector], labelSelector: Option[LabelSelector]): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  18. def get(name: String, namespace: Option[K8sNamespace]): IO[K8sFailure, T]

    Get a resource by its name

    Get a resource by its name

    name

    Name of the resource

    namespace

    Namespace. For namespaced resources it must be Some. For cluster resources, it must be None.

    returns

    Returns the current version of the resource

    Definition Classes
    ResourceClientResource
  19. def getAll(namespace: Option[K8sNamespace], chunkSize: Int, fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, resourceVersion: ListResourceVersion = ListResourceVersion.MostRecent): Stream[K8sFailure, T]

    A paginated query of all resources with filtering possibilities

    A paginated query of all resources with filtering possibilities

    namespace

    Constraint the query to a given namespace. If None, results returned from all namespaces.

    chunkSize

    Number of items to return per HTTP request

    fieldSelector

    Constrain the returned items by field selectors. Not all fields are supported by the server.

    labelSelector

    Constrain the returned items by label selectors.

    resourceVersion

    Control the returned resources' version.

    returns

    A stream of resources

    Definition Classes
    ResourceClientResource
  20. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def handleFailures[A](operation: String, namespace: Option[K8sNamespace], fieldSelector: Option[FieldSelector], labelSelector: Option[LabelSelector], name: Option[String])(f: Task[Response[Either[ResponseException[String, NonEmptyList[Error]], A]]]): IO[K8sFailure, A]
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  22. def handleFailures[A](operation: String, namespace: Option[K8sNamespace], name: String)(f: Task[Response[Either[ResponseException[String, NonEmptyList[Error]], A]]]): IO[K8sFailure, A]
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. val k8sRequest: RequestT[Empty, Either[String, String], Any]
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  26. def modifying(name: String, subresource: Option[String], namespace: Option[K8sNamespace], dryRun: Boolean): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. def paginated(namespace: Option[K8sNamespace], limit: Int, continueToken: Option[String], fieldSelector: Option[FieldSelector], labelSelector: Option[LabelSelector], resourceVersion: ListResourceVersion): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  31. def replace(name: String, updatedResource: T, namespace: Option[K8sNamespace], dryRun: Boolean): IO[K8sFailure, T]

    Replaces an existing resource selected by its name

    Replaces an existing resource selected by its name

    name

    Name of the resource

    updatedResource

    The new value of the resource

    namespace

    Namespace. For namespaced resources it must be Some. For cluster resources, it must be None.

    dryRun

    If true, the request is sent to the server but it will not create the resource.

    returns

    Returns the updated resource as it was returned from Kubernetes

    Definition Classes
    ResourceClientResource
  32. val resourceType: K8sResourceType
    Attributes
    protected
    Definition Classes
    ResourceClientResourceClientBase
  33. def simple(name: Option[String], subresource: Option[String], namespace: Option[K8sNamespace]): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase
  34. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  35. def toString(): String
    Definition Classes
    AnyRef → Any
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. def watch(namespace: Option[K8sNamespace], resourceVersion: Option[String], fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, sendInitialEvents: Boolean = false, readTimeout: zio.Duration = Duration.Infinity): ZStream[Any, K8sFailure, TypedWatchEvent[T]]

    Watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent

    Watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent

    This function requires the user to control the starting resourceVersion and to restart the watch stream when the server closes the connection.

    For a more convenient variant check watchForever.

    namespace

    Constraint the watched resources by their namespace. If None, all namespaces will be watched.

    resourceVersion

    Last known resource version

    fieldSelector

    Constrain the returned items by field selectors. Not all fields are supported by the server.

    labelSelector

    Constrain the returned items by label selectors.

    sendInitialEvents

    Whether to set sendInitialEvents=true in the k8s watch request. Only has an effect in k8s 1.28+. If set, k8s returns all existing resources as synthetic Added events before sending updates.

    returns

    A stream of watch events

    Definition Classes
    ResourceClientResource
  40. def watchForever(namespace: Option[K8sNamespace], resourceVersion: Option[String] = None, fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, sendInitialEvents: Boolean = false, readTimeout: zio.Duration = Duration.Infinity): ZStream[Any, K8sFailure, TypedWatchEvent[T]]

    Infinite watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent

    Infinite watch stream of resource change events of type com.coralogix.zio.k8s.client.model.TypedWatchEvent

    The underlying implementation takes advantage of Kubernetes watch bookmarks.

    namespace

    Constraint the watched resources by their namespace. If None, all namespaces will be watched.

    resourceVersion

    Last known resource version to start watch from.

    fieldSelector

    Constrain the returned items by field selectors. Not all fields are supported by the server.

    labelSelector

    Constrain the returned items by label selectors.

    sendInitialEvents

    Whether to set sendInitialEvents=true in the k8s watch request. Only has an effect in k8s 1.28+. If set, k8s returns all existing resources as synthetic Added events before sending updates.

    returns

    A stream of watch events

    Definition Classes
    Resource
  41. def watching(namespace: Option[K8sNamespace], resourceVersion: Option[String], fieldSelector: Option[FieldSelector], labelSelector: Option[LabelSelector], sendInitialEvents: Boolean): Uri
    Attributes
    protected
    Definition Classes
    ResourceClientBase

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from ResourceClientBase

Inherited from ResourceDeleteAll[T]

Inherited from ResourceDelete[T, DeleteResult]

Inherited from Resource[T]

Inherited from AnyRef

Inherited from Any

Ungrouped