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
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static <S extends io.fabric8.kubernetes.api.model.HasMetadata>
KubernetesLeaseResourceManager<S>create(LeaseResourceType type)
Create a newKubernetesLeaseResourceManager
of the givenLeaseResourceType
.T
createNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, LeaderInfo leaderInfo)
Create a new lease resource matching the givenLeaderInfo
.LeaderInfo
decodeLeaderInfo(T leaseResource, Set<String> members, String group)
Return aLeaderInfo
object from the underlying Kubernetes resource.T
fetchLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, String group)
Fetch the lease resource for the given name and group.T
optimisticAcquireLeadership(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, LeaderInfo newLeaderInfo)
Set the leadership information on the lease resource to match the givenLeaderInfo
.T
optimisticDeleteLeaderInfo(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, String group)
Delete leadership information for the given lease resource and group.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).
-
-
-
Method Detail
-
create
static <S extends io.fabric8.kubernetes.api.model.HasMetadata> KubernetesLeaseResourceManager<S> create(LeaseResourceType type)
Create a newKubernetesLeaseResourceManager
of the givenLeaseResourceType
.
-
decodeLeaderInfo
LeaderInfo decodeLeaderInfo(T leaseResource, Set<String> members, String group)
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
.
-
-