Class TrainingJob


  • public class TrainingJob
    extends com.pulumi.resources.CustomResource
    Manages an AWS SageMaker AI Training Job. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.TrainingJob;
     import com.pulumi.aws.sagemaker.TrainingJobArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobOutputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobResourceConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobStoppingConditionArgs;
     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 example = new TrainingJob("example", TrainingJobArgs.builder()
                 .algorithmSpecification(TrainingJobAlgorithmSpecificationArgs.builder()
                     .trainingInputMode("File")
                     .trainingImage(exampleAwsSagemakerPrebuiltEcrImage.registryPath())
                     .build())
                 .outputDataConfig(TrainingJobOutputDataConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/output/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .resourceConfig(TrainingJobResourceConfigArgs.builder()
                     .instanceType("ml.m5.large")
                     .instanceCount(1)
                     .volumeSizeInGb(30)
                     .build())
                 .stoppingCondition(TrainingJobStoppingConditionArgs.builder()
                     .maxRuntimeInSeconds(3600)
                     .build())
                 .trainingJobName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### With VPC Configuration
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.TrainingJob;
     import com.pulumi.aws.sagemaker.TrainingJobArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobOutputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobResourceConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobStoppingConditionArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobVpcConfigArgs;
     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 example = new TrainingJob("example", TrainingJobArgs.builder()
                 .algorithmSpecification(TrainingJobAlgorithmSpecificationArgs.builder()
                     .trainingInputMode("File")
                     .trainingImage(exampleAwsSagemakerPrebuiltEcrImage.registryPath())
                     .build())
                 .outputDataConfig(TrainingJobOutputDataConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/output/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .resourceConfig(TrainingJobResourceConfigArgs.builder()
                     .instanceType("ml.m5.large")
                     .instanceCount(1)
                     .volumeSizeInGb(30)
                     .build())
                 .stoppingCondition(TrainingJobStoppingConditionArgs.builder()
                     .maxRuntimeInSeconds(3600)
                     .build())
                 .vpcConfig(TrainingJobVpcConfigArgs.builder()
                     .securityGroupIds(exampleAwsSecurityGroup.id())
                     .subnets(exampleAwsSubnet.id())
                     .build())
                 .trainingJobName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### With Input Data and Hyperparameters
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.TrainingJob;
     import com.pulumi.aws.sagemaker.TrainingJobArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobOutputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobResourceConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobStoppingConditionArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInputDataConfigDataSourceArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInputDataConfigDataSourceS3DataSourceArgs;
     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 example = new TrainingJob("example", TrainingJobArgs.builder()
                 .algorithmSpecification(TrainingJobAlgorithmSpecificationArgs.builder()
                     .trainingInputMode("File")
                     .trainingImage(exampleAwsSagemakerPrebuiltEcrImage.registryPath())
                     .enableSagemakerMetricsTimeSeries(true)
                     .build())
                 .outputDataConfig(TrainingJobOutputDataConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/output/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .resourceConfig(TrainingJobResourceConfigArgs.builder()
                     .instanceType("ml.m5.large")
                     .instanceCount(1)
                     .volumeSizeInGb(30)
                     .build())
                 .stoppingCondition(TrainingJobStoppingConditionArgs.builder()
                     .maxRuntimeInSeconds(3600)
                     .build())
                 .inputDataConfigs(TrainingJobInputDataConfigArgs.builder()
                     .dataSource(TrainingJobInputDataConfigDataSourceArgs.builder()
                         .s3DataSource(TrainingJobInputDataConfigDataSourceS3DataSourceArgs.builder()
                             .s3DataType("S3Prefix")
                             .s3Uri(String.format("s3://%s/train/", exampleAwsS3Bucket.bucket()))
                             .build())
                         .build())
                     .channelName("train")
                     .build())
                 .trainingJobName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .hyperParameters(Map.ofEntries(
                     Map.entry("mini_batch_size", "200"),
                     Map.entry("epochs", "10")
                 ))
                 .build());
     
         }
     }
     
     
    ### With Encrypted Output, Checkpoints, and TensorBoard
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.TrainingJob;
     import com.pulumi.aws.sagemaker.TrainingJobArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobCheckpointConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobOutputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobResourceConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobStoppingConditionArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobTensorBoardOutputConfigArgs;
     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 example = new TrainingJob("example", TrainingJobArgs.builder()
                 .algorithmSpecification(TrainingJobAlgorithmSpecificationArgs.builder()
                     .trainingInputMode("File")
                     .trainingImage(exampleAwsSagemakerPrebuiltEcrImage.registryPath())
                     .build())
                 .checkpointConfig(TrainingJobCheckpointConfigArgs.builder()
                     .localPath("/opt/ml/checkpoints")
                     .s3Uri(String.format("s3://%s/checkpoints/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .outputDataConfig(TrainingJobOutputDataConfigArgs.builder()
                     .compressionType("GZIP")
                     .kmsKeyId(exampleAwsKmsKey.arn())
                     .s3OutputPath(String.format("s3://%s/output/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .resourceConfig(TrainingJobResourceConfigArgs.builder()
                     .instanceType("ml.m5.large")
                     .instanceCount(1)
                     .volumeSizeInGb(30)
                     .volumeKmsKeyId(exampleAwsKmsKey.arn())
                     .build())
                 .stoppingCondition(TrainingJobStoppingConditionArgs.builder()
                     .maxRuntimeInSeconds(3600)
                     .build())
                 .tensorBoardOutputConfig(TrainingJobTensorBoardOutputConfigArgs.builder()
                     .localPath("/opt/ml/output/tensorboard")
                     .s3OutputPath(String.format("s3://%s/tensorboard/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .trainingJobName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### With Managed Spot Training and Custom Metrics
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.TrainingJob;
     import com.pulumi.aws.sagemaker.TrainingJobArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationMetricDefinitionArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobOutputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobResourceConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobRetryStrategyArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobStoppingConditionArgs;
     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 example = new TrainingJob("example", TrainingJobArgs.builder()
                 .algorithmSpecification(TrainingJobAlgorithmSpecificationArgs.builder()
                     .metricDefinitions(                
                         TrainingJobAlgorithmSpecificationMetricDefinitionArgs.builder()
                             .name("train:loss")
                             .regex("loss: ([0-9\\.]+)")
                             .build(),
                         TrainingJobAlgorithmSpecificationMetricDefinitionArgs.builder()
                             .name("validation:accuracy")
                             .regex("accuracy: ([0-9\\.]+)")
                             .build())
                     .trainingInputMode("File")
                     .trainingImage(trainingImage)
                     .containerEntrypoints(                
                         "python",
                         "/opt/ml/code/train.py")
                     .containerArguments(                
                         "--epochs",
                         "10",
                         "--batch-size",
                         "128")
                     .build())
                 .outputDataConfig(TrainingJobOutputDataConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/output/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .resourceConfig(TrainingJobResourceConfigArgs.builder()
                     .instanceType("ml.m5.xlarge")
                     .instanceCount(1)
                     .volumeSizeInGb(50)
                     .keepAlivePeriodInSeconds(600)
                     .build())
                 .retryStrategy(TrainingJobRetryStrategyArgs.builder()
                     .maximumRetryAttempts(3)
                     .build())
                 .stoppingCondition(TrainingJobStoppingConditionArgs.builder()
                     .maxRuntimeInSeconds(3600)
                     .maxWaitTimeInSeconds(7200)
                     .build())
                 .trainingJobName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .enableManagedSpotTraining(true)
                 .enableNetworkIsolation(true)
                 .enableInterContainerTrafficEncryption(true)
                 .environment(Map.ofEntries(
                     Map.entry("MODEL_DIR", "/opt/ml/model"),
                     Map.entry("SM_LOG_LEVEL", "20")
                 ))
                 .hyperParameters(Map.ofEntries(
                     Map.entry("epochs", "10"),
                     Map.entry("batch_size", "128")
                 ))
                 .tags(Map.ofEntries(
                     Map.entry("Environment", "test"),
                     Map.entry("Workload", "training")
                 ))
                 .build());
     
         }
     }
     
     
    ### With Multiple Input Channels, Infrastructure Checks, and Session Tag Chaining
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.TrainingJob;
     import com.pulumi.aws.sagemaker.TrainingJobArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobAlgorithmSpecificationArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInfraCheckConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobOutputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobResourceConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobSessionChainingConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobStoppingConditionArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInputDataConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInputDataConfigDataSourceArgs;
     import com.pulumi.aws.sagemaker.inputs.TrainingJobInputDataConfigDataSourceS3DataSourceArgs;
     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 example = new TrainingJob("example", TrainingJobArgs.builder()
                 .algorithmSpecification(TrainingJobAlgorithmSpecificationArgs.builder()
                     .trainingInputMode("File")
                     .trainingImage(exampleAwsSagemakerPrebuiltEcrImage.registryPath())
                     .build())
                 .infraCheckConfig(TrainingJobInfraCheckConfigArgs.builder()
                     .enableInfraCheck(true)
                     .build())
                 .outputDataConfig(TrainingJobOutputDataConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/output/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .resourceConfig(TrainingJobResourceConfigArgs.builder()
                     .instanceType("ml.m5.large")
                     .instanceCount(1)
                     .volumeSizeInGb(30)
                     .build())
                 .sessionChainingConfig(TrainingJobSessionChainingConfigArgs.builder()
                     .enableSessionTagChaining(true)
                     .build())
                 .stoppingCondition(TrainingJobStoppingConditionArgs.builder()
                     .maxRuntimeInSeconds(3600)
                     .build())
                 .inputDataConfigs(            
                     TrainingJobInputDataConfigArgs.builder()
                         .dataSource(TrainingJobInputDataConfigDataSourceArgs.builder()
                             .s3DataSource(TrainingJobInputDataConfigDataSourceS3DataSourceArgs.builder()
                                 .s3DataDistributionType("FullyReplicated")
                                 .s3DataType("S3Prefix")
                                 .s3Uri(String.format("s3://%s/train/", exampleAwsS3Bucket.bucket()))
                                 .build())
                             .build())
                         .channelName("train")
                         .contentType("text/csv")
                         .inputMode("File")
                         .build(),
                     TrainingJobInputDataConfigArgs.builder()
                         .dataSource(TrainingJobInputDataConfigDataSourceArgs.builder()
                             .s3DataSource(TrainingJobInputDataConfigDataSourceS3DataSourceArgs.builder()
                                 .s3DataDistributionType("FullyReplicated")
                                 .s3DataType("S3Prefix")
                                 .s3Uri(String.format("s3://%s/validation/", exampleAwsS3Bucket.bucket()))
                                 .build())
                             .build())
                         .channelName("validation")
                         .contentType("text/csv")
                         .inputMode("File")
                         .build())
                 .trainingJobName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required * `trainingJobName` - (String) Name of the Training Job. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import SageMaker AI Training Job using the `trainingJobName`. For example: ```sh $ pulumi import aws:sagemaker/trainingJob:TrainingJob example my-training-job ```
    • Constructor Detail

      • TrainingJob

        public TrainingJob​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • TrainingJob

        public TrainingJob​(java.lang.String name,
                           TrainingJobArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • TrainingJob

        public TrainingJob​(java.lang.String name,
                           TrainingJobArgs args,
                           @Nullable
                           com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • algorithmSpecification

        public com.pulumi.core.Output<java.util.Optional<TrainingJobAlgorithmSpecification>> algorithmSpecification()
        Returns:
        Algorithm-related parameters of the training job. See `algorithmSpecification` below. Conflicts with `serverlessJobConfig`.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the Training Job.
      • checkpointConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobCheckpointConfig>> checkpointConfig()
        Returns:
        Location of checkpoints during training. See `checkpointConfig` below. Conflicts with `serverlessJobConfig`.
      • debugHookConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobDebugHookConfig>> debugHookConfig()
        Returns:
        Configuration for debugging rules. See `debugHookConfig` below. Conflicts with `serverlessJobConfig`.
      • debugRuleConfigurations

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TrainingJobDebugRuleConfiguration>>> debugRuleConfigurations()
        Returns:
        List of debug rule configurations. Maximum of 20. See `debugRuleConfigurations` below.
      • deleteModelPackagesOnDestroy

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> deleteModelPackagesOnDestroy()
        Returns:
        Whether to delete model packages in the configured model package group when the training job is destroyed. Default is `false`.
      • deleteVpcEnisOnDestroy

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> deleteVpcEnisOnDestroy()
        Returns:
        Whether to delete detached VPC ENIs SageMaker may leave behind when the training job is destroyed. Default is `false`.
      • enableInterContainerTrafficEncryption

        public com.pulumi.core.Output<java.lang.Boolean> enableInterContainerTrafficEncryption()
        Returns:
        Whether to encrypt inter-container traffic. When enabled, communications between containers are encrypted.
      • enableManagedSpotTraining

        public com.pulumi.core.Output<java.lang.Boolean> enableManagedSpotTraining()
        Returns:
        Whether to use managed spot training. Optimizes the cost of training by using Amazon EC2 Spot Instances. Conflicts with `serverlessJobConfig`.
      • enableNetworkIsolation

        public com.pulumi.core.Output<java.lang.Boolean> enableNetworkIsolation()
        Returns:
        Whether to isolate the training container from the network. No inbound or outbound network calls can be made.
      • environment

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> environment()
        Returns:
        Map of environment variables to set in the training container. Maximum of 100 entries. Conflicts with `serverlessJobConfig`.
      • experimentConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobExperimentConfig>> experimentConfig()
        Returns:
        Associates a SageMaker AI Experiment or Trial to the training job. See `experimentConfig` below. Conflicts with `serverlessJobConfig`.
      • hyperParameters

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> hyperParameters()
        Returns:
        Map of hyperparameters for the training algorithm. Maximum of 100 entries.
      • infraCheckConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobInfraCheckConfig>> infraCheckConfig()
        Returns:
        Infrastructure health check configuration. See `infraCheckConfig` below.
      • inputDataConfigs

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TrainingJobInputDataConfig>>> inputDataConfigs()
        Returns:
        List of input data channel configurations for the training job. Maximum of 20. See `inputDataConfig` below.
      • mlflowConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobMlflowConfig>> mlflowConfig()
        Returns:
        MLflow integration configuration. See `mlflowConfig` below.
      • modelPackageConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobModelPackageConfig>> modelPackageConfig()
        Returns:
        Model package configuration. Requires `serverlessJobConfig`. See `modelPackageConfig` below.
      • outputDataConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobOutputDataConfig>> outputDataConfig()
        Returns:
        Location of the output data from the training job. See `outputDataConfig` below. The following arguments are optional:
      • profilerConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobProfilerConfig>> profilerConfig()
        Returns:
        Configuration for the profiler. See `profilerConfig` below. Conflicts with `serverlessJobConfig`.
      • profilerRuleConfigurations

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TrainingJobProfilerRuleConfiguration>>> profilerRuleConfigurations()
        Returns:
        List of profiler rule configurations. Maximum of 20. See `profilerRuleConfigurations` below. Conflicts with `serverlessJobConfig`.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • remoteDebugConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobRemoteDebugConfig>> remoteDebugConfig()
        Returns:
        Configuration for remote debugging. See `remoteDebugConfig` below.
      • resourceConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobResourceConfig>> resourceConfig()
        Returns:
        Resources for the training job, including compute instances and storage volumes. See `resourceConfig` below.
      • retryStrategy

        public com.pulumi.core.Output<java.util.Optional<TrainingJobRetryStrategy>> retryStrategy()
        Returns:
        Number of times to retry the job if it fails. See `retryStrategy` below. Conflicts with `serverlessJobConfig`.
      • roleArn

        public com.pulumi.core.Output<java.lang.String> roleArn()
        Returns:
        ARN of the IAM role that SageMaker AI assumes to perform tasks on your behalf during training.
      • serverlessJobConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobServerlessJobConfig>> serverlessJobConfig()
        Returns:
        Configuration for serverless training jobs using foundation models. Conflicts with `algorithmSpecification`, `enableManagedSpotTraining`, `environment`, `retryStrategy`, `checkpointConfig`, `debugHookConfig`, `experimentConfig`, `profilerConfig`, `profilerRuleConfigurations`, and `tensorBoardOutputConfig`. See `serverlessJobConfig` below.
      • sessionChainingConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobSessionChainingConfig>> sessionChainingConfig()
        Returns:
        Configuration for session tag chaining. See `sessionChainingConfig` below.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Map 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.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • tensorBoardOutputConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobTensorBoardOutputConfig>> tensorBoardOutputConfig()
        Returns:
        Configuration for TensorBoard output. See `tensorBoardOutputConfig` below. Conflicts with `serverlessJobConfig`.
      • trainingJobName

        public com.pulumi.core.Output<java.lang.String> trainingJobName()
        Returns:
        Name of the training job. Must be between 1 and 63 characters, start with a letter or number, and contain only letters, numbers, and hyphens.
      • vpcConfig

        public com.pulumi.core.Output<java.util.Optional<TrainingJobVpcConfig>> vpcConfig()
        Returns:
        VPC configuration for the training job. See `vpcConfig` below.
      • get

        public static TrainingJob get​(java.lang.String name,
                                      com.pulumi.core.Output<java.lang.String> id,
                                      @Nullable
                                      TrainingJobState state,
                                      @Nullable
                                      com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.