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 newKubernetesLeaseResourceManagerof the givenLeaseResourceType.TcreateNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, LeaderInfo leaderInfo)Create a new lease resource matching the givenLeaderInfo.LeaderInfodecodeLeaderInfo(T leaseResource, Set<String> members, String group)Return aLeaderInfoobject from the underlying Kubernetes resource.TfetchLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, String group)Fetch the lease resource for the given name and group.ToptimisticAcquireLeadership(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, LeaderInfo newLeaderInfo)Set the leadership information on the lease resource to match the givenLeaderInfo.ToptimisticDeleteLeaderInfo(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, String group)Delete leadership information for the given lease resource and group.TrefreshLeaseRenewTime(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 newKubernetesLeaseResourceManagerof the givenLeaseResourceType.
-
decodeLeaderInfo
LeaderInfo decodeLeaderInfo(T leaseResource, Set<String> members, String group)
Return aLeaderInfoobject 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.
-
-