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

com.pulumi.aws.bedrock.ProvisionedModelThroughputArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.bedrock;

import com.pulumi.aws.bedrock.inputs.ProvisionedModelThroughputTimeoutsArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ProvisionedModelThroughputArgs Empty = new ProvisionedModelThroughputArgs();

    /**
     * Commitment duration requested for the Provisioned Throughput. For custom models, you can purchase on-demand Provisioned Throughput by omitting this argument. Valid values: `OneMonth`, `SixMonths`.
     * 
     */
    @Import(name="commitmentDuration")
    private @Nullable Output commitmentDuration;

    /**
     * @return Commitment duration requested for the Provisioned Throughput. For custom models, you can purchase on-demand Provisioned Throughput by omitting this argument. Valid values: `OneMonth`, `SixMonths`.
     * 
     */
    public Optional> commitmentDuration() {
        return Optional.ofNullable(this.commitmentDuration);
    }

    /**
     * ARN of the model to associate with this Provisioned Throughput.
     * 
     */
    @Import(name="modelArn", required=true)
    private Output modelArn;

    /**
     * @return ARN of the model to associate with this Provisioned Throughput.
     * 
     */
    public Output modelArn() {
        return this.modelArn;
    }

    /**
     * Number of model units to allocate. A model unit delivers a specific throughput level for the specified model.
     * 
     */
    @Import(name="modelUnits", required=true)
    private Output modelUnits;

    /**
     * @return Number of model units to allocate. A model unit delivers a specific throughput level for the specified model.
     * 
     */
    public Output modelUnits() {
        return this.modelUnits;
    }

    /**
     * Unique name for this Provisioned Throughput.
     * 
     */
    @Import(name="provisionedModelName", required=true)
    private Output provisionedModelName;

    /**
     * @return Unique name for this Provisioned Throughput.
     * 
     */
    public Output provisionedModelName() {
        return this.provisionedModelName;
    }

    /**
     * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    @Import(name="timeouts")
    private @Nullable Output timeouts;

    public Optional> timeouts() {
        return Optional.ofNullable(this.timeouts);
    }

    private ProvisionedModelThroughputArgs() {}

    private ProvisionedModelThroughputArgs(ProvisionedModelThroughputArgs $) {
        this.commitmentDuration = $.commitmentDuration;
        this.modelArn = $.modelArn;
        this.modelUnits = $.modelUnits;
        this.provisionedModelName = $.provisionedModelName;
        this.tags = $.tags;
        this.timeouts = $.timeouts;
    }

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

    public static final class Builder {
        private ProvisionedModelThroughputArgs $;

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

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

        /**
         * @param commitmentDuration Commitment duration requested for the Provisioned Throughput. For custom models, you can purchase on-demand Provisioned Throughput by omitting this argument. Valid values: `OneMonth`, `SixMonths`.
         * 
         * @return builder
         * 
         */
        public Builder commitmentDuration(@Nullable Output commitmentDuration) {
            $.commitmentDuration = commitmentDuration;
            return this;
        }

        /**
         * @param commitmentDuration Commitment duration requested for the Provisioned Throughput. For custom models, you can purchase on-demand Provisioned Throughput by omitting this argument. Valid values: `OneMonth`, `SixMonths`.
         * 
         * @return builder
         * 
         */
        public Builder commitmentDuration(String commitmentDuration) {
            return commitmentDuration(Output.of(commitmentDuration));
        }

        /**
         * @param modelArn ARN of the model to associate with this Provisioned Throughput.
         * 
         * @return builder
         * 
         */
        public Builder modelArn(Output modelArn) {
            $.modelArn = modelArn;
            return this;
        }

        /**
         * @param modelArn ARN of the model to associate with this Provisioned Throughput.
         * 
         * @return builder
         * 
         */
        public Builder modelArn(String modelArn) {
            return modelArn(Output.of(modelArn));
        }

        /**
         * @param modelUnits Number of model units to allocate. A model unit delivers a specific throughput level for the specified model.
         * 
         * @return builder
         * 
         */
        public Builder modelUnits(Output modelUnits) {
            $.modelUnits = modelUnits;
            return this;
        }

        /**
         * @param modelUnits Number of model units to allocate. A model unit delivers a specific throughput level for the specified model.
         * 
         * @return builder
         * 
         */
        public Builder modelUnits(Integer modelUnits) {
            return modelUnits(Output.of(modelUnits));
        }

        /**
         * @param provisionedModelName Unique name for this Provisioned Throughput.
         * 
         * @return builder
         * 
         */
        public Builder provisionedModelName(Output provisionedModelName) {
            $.provisionedModelName = provisionedModelName;
            return this;
        }

        /**
         * @param provisionedModelName Unique name for this Provisioned Throughput.
         * 
         * @return builder
         * 
         */
        public Builder provisionedModelName(String provisionedModelName) {
            return provisionedModelName(Output.of(provisionedModelName));
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public Builder timeouts(@Nullable Output timeouts) {
            $.timeouts = timeouts;
            return this;
        }

        public Builder timeouts(ProvisionedModelThroughputTimeoutsArgs timeouts) {
            return timeouts(Output.of(timeouts));
        }

        public ProvisionedModelThroughputArgs build() {
            if ($.modelArn == null) {
                throw new MissingRequiredPropertyException("ProvisionedModelThroughputArgs", "modelArn");
            }
            if ($.modelUnits == null) {
                throw new MissingRequiredPropertyException("ProvisionedModelThroughputArgs", "modelUnits");
            }
            if ($.provisionedModelName == null) {
                throw new MissingRequiredPropertyException("ProvisionedModelThroughputArgs", "provisionedModelName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy