trait Resource[T] extends AnyRef
Generic interface for working with Kubernetes resources
This interface supports both namespaced and cluster resources. For more type safe variants check NamespacedResource and ClusterResource.
- T
Resource type
- Alphabetic
- By Inheritance
- Resource
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
create(newResource: T, namespace: Option[K8sNamespace], dryRun: Boolean = false): 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
-
abstract
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
-
abstract
def
getAll(namespace: Option[K8sNamespace], chunkSize: Int = 10, 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
-
abstract
def
replace(name: String, updatedResource: T, namespace: Option[K8sNamespace], dryRun: Boolean = false): 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
-
abstract
def
watch(namespace: Option[K8sNamespace], resourceVersion: Option[String], fieldSelector: Option[FieldSelector] = None, labelSelector: Option[LabelSelector] = None, sendInitialEvents: Boolean = false, readTimeout: zio.Duration = Duration.Infinity): Stream[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
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated