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

com.pulumi.aws.sagemaker.kotlin.MlflowTrackingServerArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.sagemaker.kotlin

import com.pulumi.aws.sagemaker.MlflowTrackingServerArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Provides a SageMaker MLFlow Tracking Server resource.
 * ## Example Usage
 * ### Cognito Usage
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as aws from "@pulumi/aws";
 * const example = new aws.sagemaker.MlflowTrackingServer("example", {
 *     trackingServerName: "example",
 *     roleArn: exampleAwsIamRole.arn,
 *     artifactStoreUri: `s3://${exampleAwsS3Bucket.bucket}/path`,
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_aws as aws
 * example = aws.sagemaker.MlflowTrackingServer("example",
 *     tracking_server_name="example",
 *     role_arn=example_aws_iam_role["arn"],
 *     artifact_store_uri=f"s3://{example_aws_s3_bucket['bucket']}/path")
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Aws = Pulumi.Aws;
 * return await Deployment.RunAsync(() =>
 * {
 *     var example = new Aws.Sagemaker.MlflowTrackingServer("example", new()
 *     {
 *         TrackingServerName = "example",
 *         RoleArn = exampleAwsIamRole.Arn,
 *         ArtifactStoreUri = $"s3://{exampleAwsS3Bucket.Bucket}/path",
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"fmt"
 * 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := sagemaker.NewMlflowTrackingServer(ctx, "example", &sagemaker.MlflowTrackingServerArgs{
 * 			TrackingServerName: pulumi.String("example"),
 * 			RoleArn:            pulumi.Any(exampleAwsIamRole.Arn),
 * 			ArtifactStoreUri:   pulumi.Sprintf("s3://%v/path", exampleAwsS3Bucket.Bucket),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.aws.sagemaker.MlflowTrackingServer;
 * import com.pulumi.aws.sagemaker.MlflowTrackingServerArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var example = new MlflowTrackingServer("example", MlflowTrackingServerArgs.builder()
 *             .trackingServerName("example")
 *             .roleArn(exampleAwsIamRole.arn())
 *             .artifactStoreUri(String.format("s3://%s/path", exampleAwsS3Bucket.bucket()))
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   example:
 *     type: aws:sagemaker:MlflowTrackingServer
 *     properties:
 *       trackingServerName: example
 *       roleArn: ${exampleAwsIamRole.arn}
 *       artifactStoreUri: s3://${exampleAwsS3Bucket.bucket}/path
 * ```
 * 
 * ## Import
 * Using `pulumi import`, import SageMaker MLFlow Tracking Servers using the `workteam_name`. For example:
 * ```sh
 * $ pulumi import aws:sagemaker/mlflowTrackingServer:MlflowTrackingServer example example
 * ```
 * @property artifactStoreUri The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
 * @property automaticModelRegistration A list of Member Definitions that contains objects that identify the workers that make up the work team.
 * @property 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).
 * @property 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).
 * @property 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.
 * @property trackingServerName A unique string identifying the tracking server name. This string is part of the tracking server ARN.
 * @property 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.
 * @property 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.
 */
public data class MlflowTrackingServerArgs(
    public val artifactStoreUri: Output? = null,
    public val automaticModelRegistration: Output? = null,
    public val mlflowVersion: Output? = null,
    public val roleArn: Output? = null,
    public val tags: Output>? = null,
    public val trackingServerName: Output? = null,
    public val trackingServerSize: Output? = null,
    public val weeklyMaintenanceWindowStart: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.sagemaker.MlflowTrackingServerArgs =
        com.pulumi.aws.sagemaker.MlflowTrackingServerArgs.builder()
            .artifactStoreUri(artifactStoreUri?.applyValue({ args0 -> args0 }))
            .automaticModelRegistration(automaticModelRegistration?.applyValue({ args0 -> args0 }))
            .mlflowVersion(mlflowVersion?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .trackingServerName(trackingServerName?.applyValue({ args0 -> args0 }))
            .trackingServerSize(trackingServerSize?.applyValue({ args0 -> args0 }))
            .weeklyMaintenanceWindowStart(weeklyMaintenanceWindowStart?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [MlflowTrackingServerArgs].
 */
@PulumiTagMarker
public class MlflowTrackingServerArgsBuilder internal constructor() {
    private var artifactStoreUri: Output? = null

    private var automaticModelRegistration: Output? = null

    private var mlflowVersion: Output? = null

    private var roleArn: Output? = null

    private var tags: Output>? = null

    private var trackingServerName: Output? = null

    private var trackingServerSize: Output? = null

    private var weeklyMaintenanceWindowStart: Output? = null

    /**
     * @param value The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
     */
    @JvmName("legycjqexjmsbfkf")
    public suspend fun artifactStoreUri(`value`: Output) {
        this.artifactStoreUri = value
    }

    /**
     * @param value A list of Member Definitions that contains objects that identify the workers that make up the work team.
     */
    @JvmName("nplraulceocpwgpg")
    public suspend fun automaticModelRegistration(`value`: Output) {
        this.automaticModelRegistration = value
    }

    /**
     * @param value 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).
     */
    @JvmName("mngfldiycpnccfkn")
    public suspend fun mlflowVersion(`value`: Output) {
        this.mlflowVersion = value
    }

    /**
     * @param value 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).
     */
    @JvmName("upbwttrueacfywjy")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value 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.
     */
    @JvmName("odnatmlruetnrsor")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value A unique string identifying the tracking server name. This string is part of the tracking server ARN.
     */
    @JvmName("qqnjrvgsvrnljsft")
    public suspend fun trackingServerName(`value`: Output) {
        this.trackingServerName = value
    }

    /**
     * @param value 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.
     */
    @JvmName("uelngnrjikqqsxun")
    public suspend fun trackingServerSize(`value`: Output) {
        this.trackingServerSize = value
    }

    /**
     * @param value 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.
     */
    @JvmName("uaxrpyscjfkqqppe")
    public suspend fun weeklyMaintenanceWindowStart(`value`: Output) {
        this.weeklyMaintenanceWindowStart = value
    }

    /**
     * @param value The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.
     */
    @JvmName("mkxywfsvvygiourx")
    public suspend fun artifactStoreUri(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.artifactStoreUri = mapped
    }

    /**
     * @param value A list of Member Definitions that contains objects that identify the workers that make up the work team.
     */
    @JvmName("uonvwlsfysiepuvg")
    public suspend fun automaticModelRegistration(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.automaticModelRegistration = mapped
    }

    /**
     * @param value 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).
     */
    @JvmName("uqaoobqwsofmngpq")
    public suspend fun mlflowVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mlflowVersion = mapped
    }

    /**
     * @param value 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).
     */
    @JvmName("qibogfeulmnircuy")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("ejmoovmajormhqpy")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values 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.
     */
    @JvmName("bhhitrvgblgfddap")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value A unique string identifying the tracking server name. This string is part of the tracking server ARN.
     */
    @JvmName("vyjjljqkkvtuwptj")
    public suspend fun trackingServerName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.trackingServerName = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("ekexpuimsynxwrdm")
    public suspend fun trackingServerSize(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.trackingServerSize = mapped
    }

    /**
     * @param value 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.
     */
    @JvmName("lwtqhnrgatpqvesw")
    public suspend fun weeklyMaintenanceWindowStart(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.weeklyMaintenanceWindowStart = mapped
    }

    internal fun build(): MlflowTrackingServerArgs = MlflowTrackingServerArgs(
        artifactStoreUri = artifactStoreUri,
        automaticModelRegistration = automaticModelRegistration,
        mlflowVersion = mlflowVersion,
        roleArn = roleArn,
        tags = tags,
        trackingServerName = trackingServerName,
        trackingServerSize = trackingServerSize,
        weeklyMaintenanceWindowStart = weeklyMaintenanceWindowStart,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy