
com.pulumi.aws.sagemaker.kotlin.DataQualityJobDefinition.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.sagemaker.kotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityAppSpecification
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityBaselineConfig
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityJobInput
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityJobOutputConfig
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionJobResources
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionNetworkConfig
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionStoppingCondition
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.Deprecated
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityAppSpecification.Companion.toKotlin as dataQualityJobDefinitionDataQualityAppSpecificationToKotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityBaselineConfig.Companion.toKotlin as dataQualityJobDefinitionDataQualityBaselineConfigToKotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityJobInput.Companion.toKotlin as dataQualityJobDefinitionDataQualityJobInputToKotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionDataQualityJobOutputConfig.Companion.toKotlin as dataQualityJobDefinitionDataQualityJobOutputConfigToKotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionJobResources.Companion.toKotlin as dataQualityJobDefinitionJobResourcesToKotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionNetworkConfig.Companion.toKotlin as dataQualityJobDefinitionNetworkConfigToKotlin
import com.pulumi.aws.sagemaker.kotlin.outputs.DataQualityJobDefinitionStoppingCondition.Companion.toKotlin as dataQualityJobDefinitionStoppingConditionToKotlin
/**
* Builder for [DataQualityJobDefinition].
*/
@PulumiTagMarker
public class DataQualityJobDefinitionResourceBuilder internal constructor() {
public var name: String? = null
public var args: DataQualityJobDefinitionArgs = DataQualityJobDefinitionArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend DataQualityJobDefinitionArgsBuilder.() -> Unit) {
val builder = DataQualityJobDefinitionArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): DataQualityJobDefinition {
val builtJavaResource =
com.pulumi.aws.sagemaker.DataQualityJobDefinition(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return DataQualityJobDefinition(builtJavaResource)
}
}
/**
* Provides a SageMaker data quality job definition resource.
* ## Example Usage
* Basic usage:
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const test = new aws.sagemaker.DataQualityJobDefinition("test", {
* name: "my-data-quality-job-definition",
* dataQualityAppSpecification: {
* imageUri: monitor.registryPath,
* },
* dataQualityJobInput: {
* endpointInput: {
* endpointName: myEndpoint.name,
* },
* },
* dataQualityJobOutputConfig: {
* monitoringOutputs: {
* s3Output: {
* s3Uri: `https://${myBucket.bucketRegionalDomainName}/output`,
* },
* },
* },
* jobResources: {
* clusterConfig: {
* instanceCount: 1,
* instanceType: "ml.t3.medium",
* volumeSizeInGb: 20,
* },
* },
* roleArn: myRole.arn,
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* test = aws.sagemaker.DataQualityJobDefinition("test",
* name="my-data-quality-job-definition",
* data_quality_app_specification={
* "image_uri": monitor["registryPath"],
* },
* data_quality_job_input={
* "endpoint_input": {
* "endpoint_name": my_endpoint["name"],
* },
* },
* data_quality_job_output_config={
* "monitoring_outputs": {
* "s3_output": {
* "s3_uri": f"https://{my_bucket['bucketRegionalDomainName']}/output",
* },
* },
* },
* job_resources={
* "cluster_config": {
* "instance_count": 1,
* "instance_type": "ml.t3.medium",
* "volume_size_in_gb": 20,
* },
* },
* role_arn=my_role["arn"])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var test = new Aws.Sagemaker.DataQualityJobDefinition("test", new()
* {
* Name = "my-data-quality-job-definition",
* DataQualityAppSpecification = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityAppSpecificationArgs
* {
* ImageUri = monitor.RegistryPath,
* },
* DataQualityJobInput = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobInputArgs
* {
* EndpointInput = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs
* {
* EndpointName = myEndpoint.Name,
* },
* },
* DataQualityJobOutputConfig = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigArgs
* {
* MonitoringOutputs = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs
* {
* S3Output = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs
* {
* S3Uri = $"https://{myBucket.BucketRegionalDomainName}/output",
* },
* },
* },
* JobResources = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionJobResourcesArgs
* {
* ClusterConfig = new Aws.Sagemaker.Inputs.DataQualityJobDefinitionJobResourcesClusterConfigArgs
* {
* InstanceCount = 1,
* InstanceType = "ml.t3.medium",
* VolumeSizeInGb = 20,
* },
* },
* RoleArn = myRole.Arn,
* });
* });
* ```
* ```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.NewDataQualityJobDefinition(ctx, "test", &sagemaker.DataQualityJobDefinitionArgs{
* Name: pulumi.String("my-data-quality-job-definition"),
* DataQualityAppSpecification: &sagemaker.DataQualityJobDefinitionDataQualityAppSpecificationArgs{
* ImageUri: pulumi.Any(monitor.RegistryPath),
* },
* DataQualityJobInput: &sagemaker.DataQualityJobDefinitionDataQualityJobInputArgs{
* EndpointInput: &sagemaker.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs{
* EndpointName: pulumi.Any(myEndpoint.Name),
* },
* },
* DataQualityJobOutputConfig: &sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigArgs{
* MonitoringOutputs: &sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs{
* S3Output: sagemaker.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs{
* S3Uri: pulumi.Sprintf("https://%v/output", myBucket.BucketRegionalDomainName),
* },
* },
* },
* JobResources: &sagemaker.DataQualityJobDefinitionJobResourcesArgs{
* ClusterConfig: &sagemaker.DataQualityJobDefinitionJobResourcesClusterConfigArgs{
* InstanceCount: pulumi.Int(1),
* InstanceType: pulumi.String("ml.t3.medium"),
* VolumeSizeInGb: pulumi.Int(20),
* },
* },
* RoleArn: pulumi.Any(myRole.Arn),
* })
* 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.DataQualityJobDefinition;
* import com.pulumi.aws.sagemaker.DataQualityJobDefinitionArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityAppSpecificationArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobInputArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionJobResourcesArgs;
* import com.pulumi.aws.sagemaker.inputs.DataQualityJobDefinitionJobResourcesClusterConfigArgs;
* 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 test = new DataQualityJobDefinition("test", DataQualityJobDefinitionArgs.builder()
* .name("my-data-quality-job-definition")
* .dataQualityAppSpecification(DataQualityJobDefinitionDataQualityAppSpecificationArgs.builder()
* .imageUri(monitor.registryPath())
* .build())
* .dataQualityJobInput(DataQualityJobDefinitionDataQualityJobInputArgs.builder()
* .endpointInput(DataQualityJobDefinitionDataQualityJobInputEndpointInputArgs.builder()
* .endpointName(myEndpoint.name())
* .build())
* .build())
* .dataQualityJobOutputConfig(DataQualityJobDefinitionDataQualityJobOutputConfigArgs.builder()
* .monitoringOutputs(DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsArgs.builder()
* .s3Output(DataQualityJobDefinitionDataQualityJobOutputConfigMonitoringOutputsS3OutputArgs.builder()
* .s3Uri(String.format("https://%s/output", myBucket.bucketRegionalDomainName()))
* .build())
* .build())
* .build())
* .jobResources(DataQualityJobDefinitionJobResourcesArgs.builder()
* .clusterConfig(DataQualityJobDefinitionJobResourcesClusterConfigArgs.builder()
* .instanceCount(1)
* .instanceType("ml.t3.medium")
* .volumeSizeInGb(20)
* .build())
* .build())
* .roleArn(myRole.arn())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* test:
* type: aws:sagemaker:DataQualityJobDefinition
* properties:
* name: my-data-quality-job-definition
* dataQualityAppSpecification:
* imageUri: ${monitor.registryPath}
* dataQualityJobInput:
* endpointInput:
* endpointName: ${myEndpoint.name}
* dataQualityJobOutputConfig:
* monitoringOutputs:
* s3Output:
* s3Uri: https://${myBucket.bucketRegionalDomainName}/output
* jobResources:
* clusterConfig:
* instanceCount: 1
* instanceType: ml.t3.medium
* volumeSizeInGb: 20
* roleArn: ${myRole.arn}
* ```
*
* ## Import
* Using `pulumi import`, import data quality job definitions using the `name`. For example:
* ```sh
* $ pulumi import aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition test_data_quality_job_definition data-quality-job-definition-foo
* ```
*/
public class DataQualityJobDefinition internal constructor(
override val javaResource: com.pulumi.aws.sagemaker.DataQualityJobDefinition,
) : KotlinCustomResource(javaResource, DataQualityJobDefinitionMapper) {
/**
* The Amazon Resource Name (ARN) assigned by AWS to this data quality job definition.
*/
public val arn: Output
get() = javaResource.arn().applyValue({ args0 -> args0 })
/**
* Specifies the container that runs the monitoring job. Fields are documented below.
*/
public val dataQualityAppSpecification:
Output
get() = javaResource.dataQualityAppSpecification().applyValue({ args0 ->
args0.let({ args0 ->
dataQualityJobDefinitionDataQualityAppSpecificationToKotlin(args0)
})
})
/**
* Configures the constraints and baselines for the monitoring job. Fields are documented below.
*/
public val dataQualityBaselineConfig: Output?
get() = javaResource.dataQualityBaselineConfig().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
dataQualityJobDefinitionDataQualityBaselineConfigToKotlin(args0)
})
}).orElse(null)
})
/**
* A list of inputs for the monitoring job. Fields are documented below.
*/
public val dataQualityJobInput: Output
get() = javaResource.dataQualityJobInput().applyValue({ args0 ->
args0.let({ args0 ->
dataQualityJobDefinitionDataQualityJobInputToKotlin(args0)
})
})
/**
* The output configuration for monitoring jobs. Fields are documented below.
*/
public val dataQualityJobOutputConfig: Output
get() = javaResource.dataQualityJobOutputConfig().applyValue({ args0 ->
args0.let({ args0 ->
dataQualityJobDefinitionDataQualityJobOutputConfigToKotlin(args0)
})
})
/**
* Identifies the resources to deploy for a monitoring job. Fields are documented below.
*/
public val jobResources: Output
get() = javaResource.jobResources().applyValue({ args0 ->
args0.let({ args0 ->
dataQualityJobDefinitionJobResourcesToKotlin(args0)
})
})
/**
* The name of the data quality job definition. If omitted, the provider will assign a random, unique name.
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* Specifies networking configuration for the monitoring job. Fields are documented below.
*/
public val networkConfig: Output?
get() = javaResource.networkConfig().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> dataQualityJobDefinitionNetworkConfigToKotlin(args0) })
}).orElse(null)
})
/**
* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
*/
public val roleArn: Output
get() = javaResource.roleArn().applyValue({ args0 -> args0 })
/**
* A time limit for how long the monitoring job is allowed to run before stopping. Fields are documented below.
*/
public val stoppingCondition: Output
get() = javaResource.stoppingCondition().applyValue({ args0 ->
args0.let({ args0 ->
dataQualityJobDefinitionStoppingConditionToKotlin(args0)
})
})
/**
* A mapping 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 val tags: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy