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

com.pulumi.aws.sagemaker.MlflowTrackingServerArgs 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.sagemaker;

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


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

    public static final MlflowTrackingServerArgs Empty = new MlflowTrackingServerArgs();

    /**
     * The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
     * 
     */
    @Import(name="artifactStoreUri", required=true)
    private Output artifactStoreUri;

    /**
     * @return The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
     * 
     */
    public Output artifactStoreUri() {
        return this.artifactStoreUri;
    }

    /**
     * A list of Member Definitions that contains objects that identify the workers that make up the work team.
     * 
     */
    @Import(name="automaticModelRegistration")
    private @Nullable Output automaticModelRegistration;

    /**
     * @return A list of Member Definitions that contains objects that identify the workers that make up the work team.
     * 
     */
    public Optional> automaticModelRegistration() {
        return Optional.ofNullable(this.automaticModelRegistration);
    }

    /**
     * The version of MLflow that the tracking server uses. To see which MLflow versions are available to use, see [How it works](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works).
     * 
     */
    @Import(name="mlflowVersion")
    private @Nullable Output mlflowVersion;

    /**
     * @return The version of MLflow that the tracking server uses. To see which MLflow versions are available to use, see [How it works](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works).
     * 
     */
    public Optional> mlflowVersion() {
        return Optional.ofNullable(this.mlflowVersion);
    }

    /**
     * The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow Tracking Server uses to access the artifact store in Amazon S3. The role should have AmazonS3FullAccess permissions. For more information on IAM permissions for tracking server creation, see [Set up IAM permissions for MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html).
     * 
     */
    @Import(name="roleArn", required=true)
    private Output roleArn;

    /**
     * @return The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow Tracking Server uses to access the artifact store in Amazon S3. The role should have AmazonS3FullAccess permissions. For more information on IAM permissions for tracking server creation, see [Set up IAM permissions for MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html).
     * 
     */
    public Output roleArn() {
        return this.roleArn;
    }

    /**
     * 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);
    }

    /**
     * A unique string identifying the tracking server name. This string is part of the tracking server ARN.
     * 
     */
    @Import(name="trackingServerName", required=true)
    private Output trackingServerName;

    /**
     * @return A unique string identifying the tracking server name. This string is part of the tracking server ARN.
     * 
     */
    public Output trackingServerName() {
        return this.trackingServerName;
    }

    /**
     * The size of the tracking server you want to create. You can choose between "Small", "Medium", and "Large". The default MLflow Tracking Server configuration size is "Small". You can choose a size depending on the projected use of the tracking server such as the volume of data logged, number of users, and frequency of use.
     * 
     */
    @Import(name="trackingServerSize")
    private @Nullable Output trackingServerSize;

    /**
     * @return The size of the tracking server you want to create. You can choose between "Small", "Medium", and "Large". The default MLflow Tracking Server configuration size is "Small". You can choose a size depending on the projected use of the tracking server such as the volume of data logged, number of users, and frequency of use.
     * 
     */
    public Optional> trackingServerSize() {
        return Optional.ofNullable(this.trackingServerSize);
    }

    /**
     * The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.
     * 
     */
    @Import(name="weeklyMaintenanceWindowStart")
    private @Nullable Output weeklyMaintenanceWindowStart;

    /**
     * @return The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.
     * 
     */
    public Optional> weeklyMaintenanceWindowStart() {
        return Optional.ofNullable(this.weeklyMaintenanceWindowStart);
    }

    private MlflowTrackingServerArgs() {}

    private MlflowTrackingServerArgs(MlflowTrackingServerArgs $) {
        this.artifactStoreUri = $.artifactStoreUri;
        this.automaticModelRegistration = $.automaticModelRegistration;
        this.mlflowVersion = $.mlflowVersion;
        this.roleArn = $.roleArn;
        this.tags = $.tags;
        this.trackingServerName = $.trackingServerName;
        this.trackingServerSize = $.trackingServerSize;
        this.weeklyMaintenanceWindowStart = $.weeklyMaintenanceWindowStart;
    }

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

    public static final class Builder {
        private MlflowTrackingServerArgs $;

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

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

        /**
         * @param artifactStoreUri The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
         * 
         * @return builder
         * 
         */
        public Builder artifactStoreUri(Output artifactStoreUri) {
            $.artifactStoreUri = artifactStoreUri;
            return this;
        }

        /**
         * @param artifactStoreUri The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
         * 
         * @return builder
         * 
         */
        public Builder artifactStoreUri(String artifactStoreUri) {
            return artifactStoreUri(Output.of(artifactStoreUri));
        }

        /**
         * @param automaticModelRegistration A list of Member Definitions that contains objects that identify the workers that make up the work team.
         * 
         * @return builder
         * 
         */
        public Builder automaticModelRegistration(@Nullable Output automaticModelRegistration) {
            $.automaticModelRegistration = automaticModelRegistration;
            return this;
        }

        /**
         * @param automaticModelRegistration A list of Member Definitions that contains objects that identify the workers that make up the work team.
         * 
         * @return builder
         * 
         */
        public Builder automaticModelRegistration(Boolean automaticModelRegistration) {
            return automaticModelRegistration(Output.of(automaticModelRegistration));
        }

        /**
         * @param mlflowVersion The version of MLflow that the tracking server uses. To see which MLflow versions are available to use, see [How it works](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works).
         * 
         * @return builder
         * 
         */
        public Builder mlflowVersion(@Nullable Output mlflowVersion) {
            $.mlflowVersion = mlflowVersion;
            return this;
        }

        /**
         * @param mlflowVersion The version of MLflow that the tracking server uses. To see which MLflow versions are available to use, see [How it works](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works).
         * 
         * @return builder
         * 
         */
        public Builder mlflowVersion(String mlflowVersion) {
            return mlflowVersion(Output.of(mlflowVersion));
        }

        /**
         * @param roleArn The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow Tracking Server uses to access the artifact store in Amazon S3. The role should have AmazonS3FullAccess permissions. For more information on IAM permissions for tracking server creation, see [Set up IAM permissions for MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html).
         * 
         * @return builder
         * 
         */
        public Builder roleArn(Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        /**
         * @param roleArn The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow Tracking Server uses to access the artifact store in Amazon S3. The role should have AmazonS3FullAccess permissions. For more information on IAM permissions for tracking server creation, see [Set up IAM permissions for MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html).
         * 
         * @return builder
         * 
         */
        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        /**
         * @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));
        }

        /**
         * @param trackingServerName A unique string identifying the tracking server name. This string is part of the tracking server ARN.
         * 
         * @return builder
         * 
         */
        public Builder trackingServerName(Output trackingServerName) {
            $.trackingServerName = trackingServerName;
            return this;
        }

        /**
         * @param trackingServerName A unique string identifying the tracking server name. This string is part of the tracking server ARN.
         * 
         * @return builder
         * 
         */
        public Builder trackingServerName(String trackingServerName) {
            return trackingServerName(Output.of(trackingServerName));
        }

        /**
         * @param trackingServerSize The size of the tracking server you want to create. You can choose between "Small", "Medium", and "Large". The default MLflow Tracking Server configuration size is "Small". You can choose a size depending on the projected use of the tracking server such as the volume of data logged, number of users, and frequency of use.
         * 
         * @return builder
         * 
         */
        public Builder trackingServerSize(@Nullable Output trackingServerSize) {
            $.trackingServerSize = trackingServerSize;
            return this;
        }

        /**
         * @param trackingServerSize The size of the tracking server you want to create. You can choose between "Small", "Medium", and "Large". The default MLflow Tracking Server configuration size is "Small". You can choose a size depending on the projected use of the tracking server such as the volume of data logged, number of users, and frequency of use.
         * 
         * @return builder
         * 
         */
        public Builder trackingServerSize(String trackingServerSize) {
            return trackingServerSize(Output.of(trackingServerSize));
        }

        /**
         * @param weeklyMaintenanceWindowStart The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.
         * 
         * @return builder
         * 
         */
        public Builder weeklyMaintenanceWindowStart(@Nullable Output weeklyMaintenanceWindowStart) {
            $.weeklyMaintenanceWindowStart = weeklyMaintenanceWindowStart;
            return this;
        }

        /**
         * @param weeklyMaintenanceWindowStart The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.
         * 
         * @return builder
         * 
         */
        public Builder weeklyMaintenanceWindowStart(String weeklyMaintenanceWindowStart) {
            return weeklyMaintenanceWindowStart(Output.of(weeklyMaintenanceWindowStart));
        }

        public MlflowTrackingServerArgs build() {
            if ($.artifactStoreUri == null) {
                throw new MissingRequiredPropertyException("MlflowTrackingServerArgs", "artifactStoreUri");
            }
            if ($.roleArn == null) {
                throw new MissingRequiredPropertyException("MlflowTrackingServerArgs", "roleArn");
            }
            if ($.trackingServerName == null) {
                throw new MissingRequiredPropertyException("MlflowTrackingServerArgs", "trackingServerName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy