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

com.pulumi.azurenative.compute.inputs.SpotRestorePolicyArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.compute.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint.
 * 
 */
public final class SpotRestorePolicyArgs extends com.pulumi.resources.ResourceArgs {

    public static final SpotRestorePolicyArgs Empty = new SpotRestorePolicyArgs();

    /**
     * Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances
     * 
     */
    @Import(name="restoreTimeout")
    private @Nullable Output restoreTimeout;

    /**
     * @return Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances
     * 
     */
    public Optional> restoreTimeout() {
        return Optional.ofNullable(this.restoreTimeout);
    }

    private SpotRestorePolicyArgs() {}

    private SpotRestorePolicyArgs(SpotRestorePolicyArgs $) {
        this.enabled = $.enabled;
        this.restoreTimeout = $.restoreTimeout;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(SpotRestorePolicyArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private SpotRestorePolicyArgs $;

        public Builder() {
            $ = new SpotRestorePolicyArgs();
        }

        public Builder(SpotRestorePolicyArgs defaults) {
            $ = new SpotRestorePolicyArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param enabled Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param restoreTimeout Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances
         * 
         * @return builder
         * 
         */
        public Builder restoreTimeout(@Nullable Output restoreTimeout) {
            $.restoreTimeout = restoreTimeout;
            return this;
        }

        /**
         * @param restoreTimeout Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances
         * 
         * @return builder
         * 
         */
        public Builder restoreTimeout(String restoreTimeout) {
            return restoreTimeout(Output.of(restoreTimeout));
        }

        public SpotRestorePolicyArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy