DataQualityJobDefinition class

Provides a SageMaker AI data quality job definition resource.

Example Usage

Basic usage:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.sagemaker.DataQualityJobDefinition("test", {
    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,
        },
    },
    name: "my-data-quality-job-definition",
    roleArn: myRole.arn,
});
import pulumi
import pulumi_aws as aws

test = aws.sagemaker.DataQualityJobDefinition("test",
    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,
        },
    },
    name="my-data-quality-job-definition",
    role_arn=my_role["arn"])
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()
    {
        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,
            },
        },
        Name = "my-data-quality-job-definition",
        RoleArn = myRole.Arn,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/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{
			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),
				},
			},
			Name:    pulumi.String("my-data-quality-job-definition"),
			RoleArn: pulumi.Any(myRole.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_sagemaker_dataqualityjobdefinition" "test" {
  data_quality_app_specification = {
    image_uri = monitor.registryPath
  }
  data_quality_job_input = {
    endpoint_input = {
      endpoint_name = myEndpoint.name
    }
  }
  data_quality_job_output_config = {
    monitoring_outputs = {
      s3_output = {
        s3_uri ="https://${myBucket.bucketRegionalDomainName}/output"
      }
    }
  }
  job_resources = {
    cluster_config = {
      instance_count    = 1
      instance_type     = "ml.t3.medium"
      volume_size_in_gb = 20
    }
  }
  name     = "my-data-quality-job-definition"
  role_arn = myRole.arn
}
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.ArrayList;
import java.util.Arrays;
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()
            .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())
            .name("my-data-quality-job-definition")
            .roleArn(myRole.arn())
            .build());

    }
}
resources:
  test:
    type: aws:sagemaker:DataQualityJobDefinition
    properties:
      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
      name: my-data-quality-job-definition
      roleArn: ${myRole.arn}

Import

Using pulumi import, import data quality job definitions using the name. For example:

$ pulumi import aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition test_data_quality_job_definition data-quality-job-definition-foo

Constructors

DataQualityJobDefinition(String name, {DataQualityJobDefinitionArgs? args, CustomResourceOptions? options})
Creates a new DataQualityJobDefinition. name The Pulumi resource name. args Arguments used to configure this DataQualityJobDefinition. The set of arguments for DataQualityJobDefinition. options Resource options controlling this resource's behavior.
DataQualityJobDefinition.reference(String urn)
Creates a typed reference to an existing DataQualityJobDefinition resource.

Properties

arn ↔ Output<String>
ARN assigned by AWS to this data quality job definition.
latefinal
childResources Set<Resource>
finalinherited
completionSources Map<String, IOutputCompletionSource>
latefinalinherited
dataQualityAppSpecification ↔ Output<DataQualityJobDefinitionDataQualityAppSpecification>
Specifies the container that runs the monitoring job. Fields are documented below.
latefinal
dataQualityBaselineConfig ↔ Output<DataQualityJobDefinitionDataQualityBaselineConfig?>
Configures the constraints and baselines for the monitoring job. Fields are documented below.
latefinal
dataQualityJobInput ↔ Output<DataQualityJobDefinitionDataQualityJobInput>
A list of inputs for the monitoring job. Fields are documented below.
latefinal
dataQualityJobOutputConfig ↔ Output<DataQualityJobDefinitionDataQualityJobOutputConfig>
The output configuration for monitoring jobs. Fields are documented below.
latefinal
hashCode int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
isCustom bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference bool
Whether this instance represents a resource value returned over RPC.
finalinherited
jobResources ↔ Output<DataQualityJobDefinitionJobResources>
Identifies the resources to deploy for a monitoring job. Fields are documented below.
latefinal
name ↔ Output<String>
The name of the data quality job definition. If omitted, the provider will assign a random, unique name.
latefinal
networkConfig ↔ Output<DataQualityJobDefinitionNetworkConfig?>
Specifies networking configuration for the monitoring job. Fields are documented below.
latefinal
region ↔ Output<String>
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
resourceTransforms List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
roleArn ↔ Output<String>
ARN of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.
latefinal
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stoppingCondition ↔ Output<DataQualityJobDefinitionStoppingCondition>
A time limit for how long the monitoring job is allowed to run before stopping. Fields are documented below.
latefinal
tags ↔ Output<Map<String, String>?>
A mapping of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
latefinal
tagsAll ↔ Output<Map<String, String>>
A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
latefinal
transformations List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() String
Returns this resource's logical name.
inherited
getResourceType() String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {DataQualityJobDefinitionState? state, CustomResourceOptions? options}) DataQualityJobDefinition
Gets an existing DataQualityJobDefinition resource's state with the given name and id.