All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cdk8s.plus31.IScalable Maven / Gradle / Ivy

package org.cdk8s.plus31;

/**
 * Represents a scalable workload.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.105.0 (build 0a2adcb)", date = "2024-11-15T12:15:24.845Z")
@software.amazon.jsii.Jsii(module = org.cdk8s.plus31.$Module.class, fqn = "cdk8s-plus-31.IScalable")
@software.amazon.jsii.Jsii.Proxy(IScalable.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface IScalable extends software.amazon.jsii.JsiiSerializable {

    /**
     * If this is a target of an autoscaler.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getHasAutoscaler();

    /**
     * If this is a target of an autoscaler.
     */
    void setHasAutoscaler(final @org.jetbrains.annotations.NotNull java.lang.Boolean value);

    /**
     * Called on all IScalable targets when they are associated with an autoscaler.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    void markHasAutoscaler();

    /**
     * Return the target spec properties of this Scalable.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull org.cdk8s.plus31.ScalingTarget toScalingTarget();

    /**
     * A proxy class which represents a concrete javascript instance of this type.
     */
    @software.amazon.jsii.Internal
    final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements org.cdk8s.plus31.IScalable.Jsii$Default {
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
            super(objRef);
        }

        /**
         * If this is a target of an autoscaler.
         */
        @Override
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public final @org.jetbrains.annotations.NotNull java.lang.Boolean getHasAutoscaler() {
            return software.amazon.jsii.Kernel.get(this, "hasAutoscaler", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
        }

        /**
         * If this is a target of an autoscaler.
         */
        @Override
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public final void setHasAutoscaler(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) {
            software.amazon.jsii.Kernel.set(this, "hasAutoscaler", java.util.Objects.requireNonNull(value, "hasAutoscaler is required"));
        }

        /**
         * Called on all IScalable targets when they are associated with an autoscaler.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        public final void markHasAutoscaler() {
            software.amazon.jsii.Kernel.call(this, "markHasAutoscaler", software.amazon.jsii.NativeType.VOID);
        }

        /**
         * Return the target spec properties of this Scalable.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        public final @org.jetbrains.annotations.NotNull org.cdk8s.plus31.ScalingTarget toScalingTarget() {
            return software.amazon.jsii.Kernel.call(this, "toScalingTarget", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.ScalingTarget.class));
        }
    }

    /**
     * Internal default implementation for {@link IScalable}.
     */
    @software.amazon.jsii.Internal
    interface Jsii$Default extends IScalable {

        /**
         * If this is a target of an autoscaler.
         */
        @Override
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        default @org.jetbrains.annotations.NotNull java.lang.Boolean getHasAutoscaler() {
            return software.amazon.jsii.Kernel.get(this, "hasAutoscaler", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
        }

        /**
         * If this is a target of an autoscaler.
         */
        @Override
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        default void setHasAutoscaler(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) {
            software.amazon.jsii.Kernel.set(this, "hasAutoscaler", java.util.Objects.requireNonNull(value, "hasAutoscaler is required"));
        }

        /**
         * Called on all IScalable targets when they are associated with an autoscaler.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        default void markHasAutoscaler() {
            software.amazon.jsii.Kernel.call(this, "markHasAutoscaler", software.amazon.jsii.NativeType.VOID);
        }

        /**
         * Return the target spec properties of this Scalable.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        default @org.jetbrains.annotations.NotNull org.cdk8s.plus31.ScalingTarget toScalingTarget() {
            return software.amazon.jsii.Kernel.call(this, "toScalingTarget", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.ScalingTarget.class));
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy