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

com.pulumi.aws.scheduler.inputs.ScheduleTargetEcsParametersCapacityProviderStrategyArgs Maven / Gradle / Ivy

// *** 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.aws.scheduler.inputs;

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


public final class ScheduleTargetEcsParametersCapacityProviderStrategyArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScheduleTargetEcsParametersCapacityProviderStrategyArgs Empty = new ScheduleTargetEcsParametersCapacityProviderStrategyArgs();

    /**
     * How many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Ranges from `0` (default) to `100000`.
     * 
     */
    @Import(name="base")
    private @Nullable Output base;

    /**
     * @return How many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Ranges from `0` (default) to `100000`.
     * 
     */
    public Optional> base() {
        return Optional.ofNullable(this.base);
    }

    /**
     * Short name of the capacity provider.
     * 
     */
    @Import(name="capacityProvider", required=true)
    private Output capacityProvider;

    /**
     * @return Short name of the capacity provider.
     * 
     */
    public Output capacityProvider() {
        return this.capacityProvider;
    }

    /**
     * Designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The weight value is taken into consideration after the base value, if defined, is satisfied. Ranges from from `0` to `1000`.
     * 
     */
    @Import(name="weight")
    private @Nullable Output weight;

    /**
     * @return Designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The weight value is taken into consideration after the base value, if defined, is satisfied. Ranges from from `0` to `1000`.
     * 
     */
    public Optional> weight() {
        return Optional.ofNullable(this.weight);
    }

    private ScheduleTargetEcsParametersCapacityProviderStrategyArgs() {}

    private ScheduleTargetEcsParametersCapacityProviderStrategyArgs(ScheduleTargetEcsParametersCapacityProviderStrategyArgs $) {
        this.base = $.base;
        this.capacityProvider = $.capacityProvider;
        this.weight = $.weight;
    }

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

    public static final class Builder {
        private ScheduleTargetEcsParametersCapacityProviderStrategyArgs $;

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

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

        /**
         * @param base How many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Ranges from `0` (default) to `100000`.
         * 
         * @return builder
         * 
         */
        public Builder base(@Nullable Output base) {
            $.base = base;
            return this;
        }

        /**
         * @param base How many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. Ranges from `0` (default) to `100000`.
         * 
         * @return builder
         * 
         */
        public Builder base(Integer base) {
            return base(Output.of(base));
        }

        /**
         * @param capacityProvider Short name of the capacity provider.
         * 
         * @return builder
         * 
         */
        public Builder capacityProvider(Output capacityProvider) {
            $.capacityProvider = capacityProvider;
            return this;
        }

        /**
         * @param capacityProvider Short name of the capacity provider.
         * 
         * @return builder
         * 
         */
        public Builder capacityProvider(String capacityProvider) {
            return capacityProvider(Output.of(capacityProvider));
        }

        /**
         * @param weight Designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The weight value is taken into consideration after the base value, if defined, is satisfied. Ranges from from `0` to `1000`.
         * 
         * @return builder
         * 
         */
        public Builder weight(@Nullable Output weight) {
            $.weight = weight;
            return this;
        }

        /**
         * @param weight Designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The weight value is taken into consideration after the base value, if defined, is satisfied. Ranges from from `0` to `1000`.
         * 
         * @return builder
         * 
         */
        public Builder weight(Integer weight) {
            return weight(Output.of(weight));
        }

        public ScheduleTargetEcsParametersCapacityProviderStrategyArgs build() {
            if ($.capacityProvider == null) {
                throw new MissingRequiredPropertyException("ScheduleTargetEcsParametersCapacityProviderStrategyArgs", "capacityProvider");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy