Interface KubernetesLeaseResourceManager<T extends io.fabric8.kubernetes.api.model.HasMetadata>
- All Known Implementing Classes:
ConfigMapLeaseResourceManager
,NativeLeaseResourceManager
public interface KubernetesLeaseResourceManager<T extends io.fabric8.kubernetes.api.model.HasMetadata>
Handles the actual interaction with Kubernetes resources, allowing different implementation to be plugged.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <S extends io.fabric8.kubernetes.api.model.HasMetadata>
KubernetesLeaseResourceManager<S>create
(LeaseResourceType type) Create a newKubernetesLeaseResourceManager
of the givenLeaseResourceType
.createNewLeaseResource
(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, LeaderInfo leaderInfo) Create a new lease resource matching the givenLeaderInfo
.decodeLeaderInfo
(T leaseResource, Set<String> members, String group) Return aLeaderInfo
object from the underlying Kubernetes resource.fetchLeaseResource
(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, String group) Fetch the lease resource for the given name and group.optimisticAcquireLeadership
(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, LeaderInfo newLeaderInfo) Set the leadership information on the lease resource to match the givenLeaderInfo
.optimisticDeleteLeaderInfo
(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, String group) Delete leadership information for the given lease resource and group.refreshLeaseRenewTime
(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, int minUpdateIntervalSeconds) Update information on the lease resource to increase the renew time (if last renewal has occurred more than minUpdateIntervalSeconds seconds ago).
-
Method Details
-
create
static <S extends io.fabric8.kubernetes.api.model.HasMetadata> KubernetesLeaseResourceManager<S> create(LeaseResourceType type) Create a newKubernetesLeaseResourceManager
of the givenLeaseResourceType
. -
decodeLeaderInfo
Return aLeaderInfo
object from the underlying Kubernetes resource. -
fetchLeaseResource
T fetchLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, String group) Fetch the lease resource for the given name and group. -
optimisticDeleteLeaderInfo
T optimisticDeleteLeaderInfo(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, String group) Delete leadership information for the given lease resource and group. -
optimisticAcquireLeadership
T optimisticAcquireLeadership(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, LeaderInfo newLeaderInfo) Set the leadership information on the lease resource to match the givenLeaderInfo
. -
createNewLeaseResource
T createNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, LeaderInfo leaderInfo) Create a new lease resource matching the givenLeaderInfo
. -
refreshLeaseRenewTime
T refreshLeaseRenewTime(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, int minUpdateIntervalSeconds) Update information on the lease resource to increase the renew time (if last renewal has occurred more than minUpdateIntervalSeconds seconds ago).
-