Class FlowDefinition


  • public class FlowDefinition
    extends com.pulumi.resources.CustomResource
    Provides a SageMaker AI Flow Definition resource. ## 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.FlowDefinition;
     import com.pulumi.aws.sagemaker.FlowDefinitionArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;
     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 FlowDefinition("example", FlowDefinitionArgs.builder()
                 .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()
                     .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())
                     .taskAvailabilityLifetimeInSeconds(1)
                     .taskCount(1)
                     .taskDescription("example")
                     .taskTitle("example")
                     .workteamArn(exampleAwsSagemakerWorkteam.arn())
                     .build())
                 .outputConfig(FlowDefinitionOutputConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .flowDefinitionName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### Public Workteam Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.FlowDefinition;
     import com.pulumi.aws.sagemaker.FlowDefinitionArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;
     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 FlowDefinition("example", FlowDefinitionArgs.builder()
                 .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()
                     .publicWorkforceTaskPrice(FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs.builder()
                         .amountInUsd(FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs.builder()
                             .cents(1)
                             .tenthFractionsOfACent(2)
                             .build())
                         .build())
                     .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())
                     .taskAvailabilityLifetimeInSeconds(1)
                     .taskCount(1)
                     .taskDescription("example")
                     .taskTitle("example")
                     .workteamArn(String.format("arn:aws:sagemaker:%s:394669845002:workteam/public-crowd/default", current.region()))
                     .build())
                 .outputConfig(FlowDefinitionOutputConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .flowDefinitionName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ### Human Loop Activation Config Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sagemaker.FlowDefinition;
     import com.pulumi.aws.sagemaker.FlowDefinitionArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopRequestSourceArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopActivationConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs;
     import com.pulumi.aws.sagemaker.inputs.FlowDefinitionOutputConfigArgs;
     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 FlowDefinition("example", FlowDefinitionArgs.builder()
                 .humanLoopConfig(FlowDefinitionHumanLoopConfigArgs.builder()
                     .humanTaskUiArn(exampleAwsSagemakerHumanTaskUi.arn())
                     .taskAvailabilityLifetimeInSeconds(1)
                     .taskCount(1)
                     .taskDescription("example")
                     .taskTitle("example")
                     .workteamArn(exampleAwsSagemakerWorkteam.arn())
                     .build())
                 .humanLoopRequestSource(FlowDefinitionHumanLoopRequestSourceArgs.builder()
                     .awsManagedHumanLoopRequestSource("AWS/Textract/AnalyzeDocument/Forms/V1")
                     .build())
                 .humanLoopActivationConfig(FlowDefinitionHumanLoopActivationConfigArgs.builder()
                     .humanLoopActivationConditionsConfig(FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs.builder()
                         .humanLoopActivationConditions("""
             {
     \t\t\t\"Conditions\": [
     \t\t\t  {
     \t\t\t\t\"ConditionType\": \"Sampling\",
     \t\t\t\t\"ConditionParameters\": {
     \t\t\t\t  \"RandomSamplingPercentage\": 5
     \t\t\t\t}
     \t\t\t  }
     \t\t\t]
     \t\t}
                         """)
                         .build())
                     .build())
                 .outputConfig(FlowDefinitionOutputConfigArgs.builder()
                     .s3OutputPath(String.format("s3://%s/", exampleAwsS3Bucket.bucket()))
                     .build())
                 .flowDefinitionName("example")
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import SageMaker AI Flow Definitions using the `flowDefinitionName`. For example: ```sh $ pulumi import aws:sagemaker/flowDefinition:FlowDefinition example example ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Detail

      • FlowDefinition

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

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

        public FlowDefinition​(java.lang.String name,
                              FlowDefinitionArgs 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

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN assigned by AWS to this Flow Definition.
      • flowDefinitionName

        public com.pulumi.core.Output<java.lang.String> flowDefinitionName()
        Returns:
        The name of your flow definition.
      • humanLoopActivationConfig

        public com.pulumi.core.Output<java.util.Optional<FlowDefinitionHumanLoopActivationConfig>> humanLoopActivationConfig()
        Returns:
        An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
      • humanLoopConfig

        public com.pulumi.core.Output<FlowDefinitionHumanLoopConfig> humanLoopConfig()
        Returns:
        An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
      • humanLoopRequestSource

        public com.pulumi.core.Output<java.util.Optional<FlowDefinitionHumanLoopRequestSource>> humanLoopRequestSource()
        Returns:
        Container for configuring the source of human task requests. Use to specify if Amazon Rekognition or Amazon Textract is used as an integration source. See Human Loop Request Source details below.
      • outputConfig

        public com.pulumi.core.Output<FlowDefinitionOutputConfig> outputConfig()
        Returns:
        An object containing information about where the human review results will be uploaded. See Output Config details below.
      • 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.
      • roleArn

        public com.pulumi.core.Output<java.lang.String> roleArn()
        Returns:
        ARN of the role needed to call other services on your behalf.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        A 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:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • get

        public static FlowDefinition get​(java.lang.String name,
                                         com.pulumi.core.Output<java.lang.String> id,
                                         @Nullable
                                         FlowDefinitionState 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.