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 newKubernetesLeaseResourceManagerof 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 aLeaderInfoobject 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 newKubernetesLeaseResourceManagerof the givenLeaseResourceType. -
decodeLeaderInfo
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. -
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).
-