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

com.pulumi.alicloud.fc.inputs.V3ProvisionConfigState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.fc.inputs;

import com.pulumi.alicloud.fc.inputs.V3ProvisionConfigScheduledActionArgs;
import com.pulumi.alicloud.fc.inputs.V3ProvisionConfigTargetTrackingPolicyArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final V3ProvisionConfigState Empty = new V3ProvisionConfigState();

    /**
     * Whether the CPU is always allocated. The default value is true.
     * 
     */
    @Import(name="alwaysAllocateCpu")
    private @Nullable Output alwaysAllocateCpu;

    /**
     * @return Whether the CPU is always allocated. The default value is true.
     * 
     */
    public Optional> alwaysAllocateCpu() {
        return Optional.ofNullable(this.alwaysAllocateCpu);
    }

    /**
     * Whether to always assign GPU to function instance
     * 
     */
    @Import(name="alwaysAllocateGpu")
    private @Nullable Output alwaysAllocateGpu;

    /**
     * @return Whether to always assign GPU to function instance
     * 
     */
    public Optional> alwaysAllocateGpu() {
        return Optional.ofNullable(this.alwaysAllocateGpu);
    }

    /**
     * The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
     * 
     */
    @Import(name="functionName")
    private @Nullable Output functionName;

    /**
     * @return The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
     * 
     */
    public Optional> functionName() {
        return Optional.ofNullable(this.functionName);
    }

    /**
     * The function alias or LATEST.
     * 
     */
    @Import(name="qualifier")
    private @Nullable Output qualifier;

    /**
     * @return The function alias or LATEST.
     * 
     */
    public Optional> qualifier() {
        return Optional.ofNullable(this.qualifier);
    }

    /**
     * Timing policy configuration See `scheduled_actions` below.
     * 
     */
    @Import(name="scheduledActions")
    private @Nullable Output> scheduledActions;

    /**
     * @return Timing policy configuration See `scheduled_actions` below.
     * 
     */
    public Optional>> scheduledActions() {
        return Optional.ofNullable(this.scheduledActions);
    }

    /**
     * Number of reserved target resources. The value range is [0,10000].
     * 
     */
    @Import(name="target")
    private @Nullable Output target;

    /**
     * @return Number of reserved target resources. The value range is [0,10000].
     * 
     */
    public Optional> target() {
        return Optional.ofNullable(this.target);
    }

    /**
     * Metric tracking scaling policy configuration See `target_tracking_policies` below.
     * 
     */
    @Import(name="targetTrackingPolicies")
    private @Nullable Output> targetTrackingPolicies;

    /**
     * @return Metric tracking scaling policy configuration See `target_tracking_policies` below.
     * 
     */
    public Optional>> targetTrackingPolicies() {
        return Optional.ofNullable(this.targetTrackingPolicies);
    }

    private V3ProvisionConfigState() {}

    private V3ProvisionConfigState(V3ProvisionConfigState $) {
        this.alwaysAllocateCpu = $.alwaysAllocateCpu;
        this.alwaysAllocateGpu = $.alwaysAllocateGpu;
        this.functionName = $.functionName;
        this.qualifier = $.qualifier;
        this.scheduledActions = $.scheduledActions;
        this.target = $.target;
        this.targetTrackingPolicies = $.targetTrackingPolicies;
    }

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

    public static final class Builder {
        private V3ProvisionConfigState $;

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

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

        /**
         * @param alwaysAllocateCpu Whether the CPU is always allocated. The default value is true.
         * 
         * @return builder
         * 
         */
        public Builder alwaysAllocateCpu(@Nullable Output alwaysAllocateCpu) {
            $.alwaysAllocateCpu = alwaysAllocateCpu;
            return this;
        }

        /**
         * @param alwaysAllocateCpu Whether the CPU is always allocated. The default value is true.
         * 
         * @return builder
         * 
         */
        public Builder alwaysAllocateCpu(Boolean alwaysAllocateCpu) {
            return alwaysAllocateCpu(Output.of(alwaysAllocateCpu));
        }

        /**
         * @param alwaysAllocateGpu Whether to always assign GPU to function instance
         * 
         * @return builder
         * 
         */
        public Builder alwaysAllocateGpu(@Nullable Output alwaysAllocateGpu) {
            $.alwaysAllocateGpu = alwaysAllocateGpu;
            return this;
        }

        /**
         * @param alwaysAllocateGpu Whether to always assign GPU to function instance
         * 
         * @return builder
         * 
         */
        public Builder alwaysAllocateGpu(Boolean alwaysAllocateGpu) {
            return alwaysAllocateGpu(Output.of(alwaysAllocateGpu));
        }

        /**
         * @param functionName The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
         * 
         * @return builder
         * 
         */
        public Builder functionName(@Nullable Output functionName) {
            $.functionName = functionName;
            return this;
        }

        /**
         * @param functionName The name of the function. If this parameter is not specified, the provisioned configurations of all functions are listed.
         * 
         * @return builder
         * 
         */
        public Builder functionName(String functionName) {
            return functionName(Output.of(functionName));
        }

        /**
         * @param qualifier The function alias or LATEST.
         * 
         * @return builder
         * 
         */
        public Builder qualifier(@Nullable Output qualifier) {
            $.qualifier = qualifier;
            return this;
        }

        /**
         * @param qualifier The function alias or LATEST.
         * 
         * @return builder
         * 
         */
        public Builder qualifier(String qualifier) {
            return qualifier(Output.of(qualifier));
        }

        /**
         * @param scheduledActions Timing policy configuration See `scheduled_actions` below.
         * 
         * @return builder
         * 
         */
        public Builder scheduledActions(@Nullable Output> scheduledActions) {
            $.scheduledActions = scheduledActions;
            return this;
        }

        /**
         * @param scheduledActions Timing policy configuration See `scheduled_actions` below.
         * 
         * @return builder
         * 
         */
        public Builder scheduledActions(List scheduledActions) {
            return scheduledActions(Output.of(scheduledActions));
        }

        /**
         * @param scheduledActions Timing policy configuration See `scheduled_actions` below.
         * 
         * @return builder
         * 
         */
        public Builder scheduledActions(V3ProvisionConfigScheduledActionArgs... scheduledActions) {
            return scheduledActions(List.of(scheduledActions));
        }

        /**
         * @param target Number of reserved target resources. The value range is [0,10000].
         * 
         * @return builder
         * 
         */
        public Builder target(@Nullable Output target) {
            $.target = target;
            return this;
        }

        /**
         * @param target Number of reserved target resources. The value range is [0,10000].
         * 
         * @return builder
         * 
         */
        public Builder target(Integer target) {
            return target(Output.of(target));
        }

        /**
         * @param targetTrackingPolicies Metric tracking scaling policy configuration See `target_tracking_policies` below.
         * 
         * @return builder
         * 
         */
        public Builder targetTrackingPolicies(@Nullable Output> targetTrackingPolicies) {
            $.targetTrackingPolicies = targetTrackingPolicies;
            return this;
        }

        /**
         * @param targetTrackingPolicies Metric tracking scaling policy configuration See `target_tracking_policies` below.
         * 
         * @return builder
         * 
         */
        public Builder targetTrackingPolicies(List targetTrackingPolicies) {
            return targetTrackingPolicies(Output.of(targetTrackingPolicies));
        }

        /**
         * @param targetTrackingPolicies Metric tracking scaling policy configuration See `target_tracking_policies` below.
         * 
         * @return builder
         * 
         */
        public Builder targetTrackingPolicies(V3ProvisionConfigTargetTrackingPolicyArgs... targetTrackingPolicies) {
            return targetTrackingPolicies(List.of(targetTrackingPolicies));
        }

        public V3ProvisionConfigState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy