public abstract class io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation extends io.fabric.kubernetes.client.dsl.base.HasMetadataOperation implements io.fabric.kubernetes.client.dsl.RollableScalableResource
{
private static final org.slf4j.Logger Log;
final boolean rolling;
final long rollingTimeout;
final java.util.concurrent.TimeUnit rollingTimeUnit;
public void <init>(io.fabric.kubernetes.client.dsl.internal.RollingOperationContext)
{
java.util.concurrent.TimeUnit v;
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
java.lang.Boolean v;
long v;
boolean v;
io.fabric.kubernetes.client.dsl.internal.RollingOperationContext v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: io.fabric.kubernetes.client.dsl.internal.RollingOperationContext;
specialinvoke v.<io.fabric.kubernetes.client.dsl.base.HasMetadataOperation: void <init>(io.fabric.kubernetes.client.dsl.base.OperationContext)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.RollingOperationContext: java.lang.Boolean getRolling()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: boolean rolling> = v;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.RollingOperationContext: long getRollingTimeout()>();
v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: long rollingTimeout> = v;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.RollingOperationContext: java.util.concurrent.TimeUnit getRollingTimeUnit()>();
v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.util.concurrent.TimeUnit rollingTimeUnit> = v;
return;
}
protected abstract io.fabric.kubernetes.api.model.HasMetadata withReplicas(int);
protected abstract io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater getRollingUpdater(long, java.util.concurrent.TimeUnit);
protected abstract int getCurrentReplicas(io.fabric.kubernetes.api.model.HasMetadata);
protected abstract int getDesiredReplicas(io.fabric.kubernetes.api.model.HasMetadata);
protected abstract long getObservedGeneration(io.fabric.kubernetes.api.model.HasMetadata);
public io.fabric.kubernetes.api.model.HasMetadata scale(int)
{
int v;
io.fabric.kubernetes.api.model.HasMetadata v;
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: int;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata scale(int,boolean)>(v, 0);
return v;
}
public io.fabric.kubernetes.api.model.HasMetadata scale(int, boolean)
{
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
int v;
io.fabric.kubernetes.api.model.HasMetadata v;
boolean v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: int;
v := @parameter: boolean;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata withReplicas(int)>(v);
if v == 0 goto label;
specialinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: void waitUntilScaled(int)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata getMandatory()>();
label:
return v;
}
public io.fabric.kubernetes.api.model.autoscaling.v.Scale scale()
{
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
io.fabric.kubernetes.api.model.autoscaling.v.Scale v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.autoscaling.v.Scale handleScale(io.fabric.kubernetes.api.model.autoscaling.v.Scale)>(null);
return v;
}
public io.fabric.kubernetes.api.model.autoscaling.v.Scale scale(io.fabric.kubernetes.api.model.autoscaling.v.Scale)
{
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
io.fabric.kubernetes.api.model.autoscaling.v.Scale v, v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: io.fabric.kubernetes.api.model.autoscaling.v.Scale;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.autoscaling.v.Scale handleScale(io.fabric.kubernetes.api.model.autoscaling.v.Scale)>(v);
return v;
}
private void waitUntilScaled(int)
{
java.util.concurrent.ScheduledFuture v;
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
java.lang.Integer v, v, v;
java.lang.Runnable v;
java.lang.Long v;
boolean v;
io.fabric.kubernetes.api.model.HasMetadata v, v;
io.fabric.kubernetes.client.Config v, v;
java.util.concurrent.ArrayBlockingQueue v;
java.lang.Throwable v;
java.lang.Object[] v, v;
long v, v, v;
java.util.concurrent.atomic.AtomicReference v;
int v;
java.util.concurrent.ScheduledExecutorService v;
java.lang.String v, v, v, v;
org.slf4j.Logger v, v;
java.util.concurrent.TimeUnit v, v, v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: int;
v = new java.util.concurrent.ArrayBlockingQueue;
specialinvoke v.<java.util.concurrent.ArrayBlockingQueue: void <init>(int)>(1);
v = new java.util.concurrent.atomic.AtomicReference;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata getItem()>();
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.lang.String checkName(java.lang.Object)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata getItem()>();
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.lang.String checkNamespace(java.lang.Object)>(v);
v = staticinvoke <io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation$lambda_waitUntilScaled_0__35: java.lang.Runnable bootstrap$(io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation,int,java.util.concurrent.ArrayBlockingQueue,java.lang.String,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, v, v, v, v, v);
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)>(v, 0L, 100L, v);
label:
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.client.Config getConfig()>();
v = virtualinvoke v.<io.fabric.kubernetes.client.Config: long getScaleTimeout()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = staticinvoke <io.fabric.kubernetes.client.utils.Utils: boolean waitUntilReady(java.util.concurrent.BlockingQueue,long,java.util.concurrent.TimeUnit)>(v, v, v);
if v == 0 goto label;
v = <io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: org.slf4j.Logger Log>;
v = newarray (java.lang.Object)[5];
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.lang.Class getType()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v[2] = v;
v[3] = v;
v[4] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{}/{} pod(s) ready for {}: {} in namespace: {}.", v);
goto label;
label:
v = <io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: org.slf4j.Logger Log>;
v = newarray (java.lang.Object)[6];
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.lang.Class getType()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v[2] = v;
v[3] = v;
v[4] = v;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.client.Config getConfig()>();
v = virtualinvoke v.<io.fabric.kubernetes.client.Config: long getScaleTimeout()>();
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toSeconds(long)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[5] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("{}/{} pod(s) ready for {}: {} in namespace: {}  after waiting for {} seconds so giving up", v);
label:
interfaceinvoke v.<java.util.concurrent.ScheduledFuture: boolean cancel(boolean)>(1);
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: void shutdown()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<java.util.concurrent.ScheduledFuture: boolean cancel(boolean)>(1);
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: void shutdown()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.fabric.kubernetes.api.model.HasMetadata edit(java.util.function.UnaryOperator)
{
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
java.util.function.UnaryOperator v;
long v;
java.lang.RuntimeException v;
io.fabric.kubernetes.api.model.HasMetadata v, v, v;
java.lang.Exception v;
java.util.concurrent.TimeUnit v;
io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater v;
java.lang.Object v;
boolean v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: java.util.function.UnaryOperator;
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: boolean rolling>;
if v != 0 goto label;
v = specialinvoke v.<io.fabric.kubernetes.client.dsl.base.HasMetadataOperation: io.fabric.kubernetes.api.model.HasMetadata edit(java.util.function.UnaryOperator)>(v);
return v;
label:
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata getMandatory()>();
v = interfaceinvoke v.<java.util.function.UnaryOperator: java.lang.Object apply(java.lang.Object)>(v);
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: long rollingTimeout>;
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.util.concurrent.TimeUnit rollingTimeUnit>;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater getRollingUpdater(long,java.util.concurrent.TimeUnit)>(v, v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater: io.fabric.kubernetes.api.model.HasMetadata rollUpdate(io.fabric.kubernetes.api.model.HasMetadata,io.fabric.kubernetes.api.model.HasMetadata)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <io.fabric.kubernetes.client.KubernetesClientException: java.lang.RuntimeException launderThrowable(java.lang.Throwable)>(v);
throw v;
catch java.lang.Exception from label to label with label;
}
public io.fabric.kubernetes.api.model.HasMetadata replace(io.fabric.kubernetes.api.model.HasMetadata)
{
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
long v;
io.fabric.kubernetes.api.model.HasMetadata v, v, v, v;
java.util.concurrent.TimeUnit v;
io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater v;
boolean v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: io.fabric.kubernetes.api.model.HasMetadata;
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: boolean rolling>;
if v != 0 goto label;
v = specialinvoke v.<io.fabric.kubernetes.client.dsl.base.HasMetadataOperation: io.fabric.kubernetes.api.model.HasMetadata replace(io.fabric.kubernetes.api.model.HasMetadata)>(v);
return v;
label:
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: long rollingTimeout>;
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.util.concurrent.TimeUnit rollingTimeUnit>;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater getRollingUpdater(long,java.util.concurrent.TimeUnit)>(v, v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata getMandatory()>();
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater: io.fabric.kubernetes.api.model.HasMetadata rollUpdate(io.fabric.kubernetes.api.model.HasMetadata,io.fabric.kubernetes.api.model.HasMetadata)>(v, v);
return v;
}
public io.fabric.kubernetes.api.model.HasMetadata patch(io.fabric.kubernetes.api.model.HasMetadata)
{
io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation v;
long v;
io.fabric.kubernetes.api.model.HasMetadata v, v, v, v;
java.util.concurrent.TimeUnit v;
io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater v;
boolean v;
v := @this: io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation;
v := @parameter: io.fabric.kubernetes.api.model.HasMetadata;
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: boolean rolling>;
if v != 0 goto label;
v = specialinvoke v.<io.fabric.kubernetes.client.dsl.base.HasMetadataOperation: io.fabric.kubernetes.api.model.HasMetadata patch(io.fabric.kubernetes.api.model.HasMetadata)>(v);
return v;
label:
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: long rollingTimeout>;
v = v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: java.util.concurrent.TimeUnit rollingTimeUnit>;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater getRollingUpdater(long,java.util.concurrent.TimeUnit)>(v, v);
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: io.fabric.kubernetes.api.model.HasMetadata getMandatory()>();
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.apps.v.RollingUpdater: io.fabric.kubernetes.api.model.HasMetadata rollUpdate(io.fabric.kubernetes.api.model.HasMetadata,io.fabric.kubernetes.api.model.HasMetadata)>(v, v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lio/fabric8/kubernetes/client/dsl/internal/apps/v1/RollableScalableResourceOperation;");
<io.fabric.kubernetes.client.dsl.internal.apps.v.RollableScalableResourceOperation: org.slf4j.Logger Log> = v;
return;
}
}