public interface KubernetesLeaseResourceManager<T extends io.fabric8.kubernetes.api.model.HasMetadata>
| Modifier and Type | Method and Description |
|---|---|
static <S extends io.fabric8.kubernetes.api.model.HasMetadata> |
create(LeaseResourceType type)
Create a new
KubernetesLeaseResourceManager of the given LeaseResourceType. |
T |
createNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client,
String namespace,
String leaseResourceName,
LeaderInfo leaderInfo)
Create a new lease resource matching the given
LeaderInfo. |
LeaderInfo |
decodeLeaderInfo(T leaseResource,
Set<String> members,
String group)
Return a
LeaderInfo 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 given
LeaderInfo. |
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).
|
static <S extends io.fabric8.kubernetes.api.model.HasMetadata> KubernetesLeaseResourceManager<S> create(LeaseResourceType type)
KubernetesLeaseResourceManager of the given LeaseResourceType.LeaderInfo decodeLeaderInfo(T leaseResource, Set<String> members, String group)
LeaderInfo object from the underlying Kubernetes resource.T fetchLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, String group)
T optimisticDeleteLeaderInfo(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, String group)
T optimisticAcquireLeadership(io.fabric8.kubernetes.client.KubernetesClient client, T leaseResource, LeaderInfo newLeaderInfo)
LeaderInfo.T createNewLeaseResource(io.fabric8.kubernetes.client.KubernetesClient client, String namespace, String leaseResourceName, LeaderInfo leaderInfo)
LeaderInfo.Apache Camel