github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/flowDefinition.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package sagemaker
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides a SageMaker Flow Definition resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"fmt"
    28  //
    29  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
    30  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    31  //
    32  // )
    33  //
    34  //	func main() {
    35  //		pulumi.Run(func(ctx *pulumi.Context) error {
    36  //			_, err := sagemaker.NewFlowDefinition(ctx, "example", &sagemaker.FlowDefinitionArgs{
    37  //				FlowDefinitionName: pulumi.String("example"),
    38  //				RoleArn:            pulumi.Any(exampleAwsIamRole.Arn),
    39  //				HumanLoopConfig: &sagemaker.FlowDefinitionHumanLoopConfigArgs{
    40  //					HumanTaskUiArn:                    pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),
    41  //					TaskAvailabilityLifetimeInSeconds: pulumi.Int(1),
    42  //					TaskCount:                         pulumi.Int(1),
    43  //					TaskDescription:                   pulumi.String("example"),
    44  //					TaskTitle:                         pulumi.String("example"),
    45  //					WorkteamArn:                       pulumi.Any(exampleAwsSagemakerWorkteam.Arn),
    46  //				},
    47  //				OutputConfig: &sagemaker.FlowDefinitionOutputConfigArgs{
    48  //					S3OutputPath: pulumi.String(fmt.Sprintf("s3://%v/", exampleAwsS3Bucket.Bucket)),
    49  //				},
    50  //			})
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			return nil
    55  //		})
    56  //	}
    57  //
    58  // ```
    59  // <!--End PulumiCodeChooser -->
    60  //
    61  // ### Public Workteam Usage
    62  //
    63  // <!--Start PulumiCodeChooser -->
    64  // ```go
    65  // package main
    66  //
    67  // import (
    68  //
    69  //	"fmt"
    70  //
    71  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
    72  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    73  //
    74  // )
    75  //
    76  //	func main() {
    77  //		pulumi.Run(func(ctx *pulumi.Context) error {
    78  //			_, err := sagemaker.NewFlowDefinition(ctx, "example", &sagemaker.FlowDefinitionArgs{
    79  //				FlowDefinitionName: pulumi.String("example"),
    80  //				RoleArn:            pulumi.Any(exampleAwsIamRole.Arn),
    81  //				HumanLoopConfig: &sagemaker.FlowDefinitionHumanLoopConfigArgs{
    82  //					HumanTaskUiArn:                    pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),
    83  //					TaskAvailabilityLifetimeInSeconds: pulumi.Int(1),
    84  //					TaskCount:                         pulumi.Int(1),
    85  //					TaskDescription:                   pulumi.String("example"),
    86  //					TaskTitle:                         pulumi.String("example"),
    87  //					WorkteamArn:                       pulumi.String(fmt.Sprintf("arn:aws:sagemaker:%v:394669845002:workteam/public-crowd/default", current.Name)),
    88  //					PublicWorkforceTaskPrice: &sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceArgs{
    89  //						AmountInUsd: &sagemaker.FlowDefinitionHumanLoopConfigPublicWorkforceTaskPriceAmountInUsdArgs{
    90  //							Cents:                 pulumi.Int(1),
    91  //							TenthFractionsOfACent: pulumi.Int(2),
    92  //						},
    93  //					},
    94  //				},
    95  //				OutputConfig: &sagemaker.FlowDefinitionOutputConfigArgs{
    96  //					S3OutputPath: pulumi.String(fmt.Sprintf("s3://%v/", exampleAwsS3Bucket.Bucket)),
    97  //				},
    98  //			})
    99  //			if err != nil {
   100  //				return err
   101  //			}
   102  //			return nil
   103  //		})
   104  //	}
   105  //
   106  // ```
   107  // <!--End PulumiCodeChooser -->
   108  //
   109  // ### Human Loop Activation Config Usage
   110  //
   111  // <!--Start PulumiCodeChooser -->
   112  // ```go
   113  // package main
   114  //
   115  // import (
   116  //
   117  //	"fmt"
   118  //
   119  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
   120  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   121  //
   122  // )
   123  //
   124  //	func main() {
   125  //		pulumi.Run(func(ctx *pulumi.Context) error {
   126  //			_, err := sagemaker.NewFlowDefinition(ctx, "example", &sagemaker.FlowDefinitionArgs{
   127  //				FlowDefinitionName: pulumi.String("example"),
   128  //				RoleArn:            pulumi.Any(exampleAwsIamRole.Arn),
   129  //				HumanLoopConfig: &sagemaker.FlowDefinitionHumanLoopConfigArgs{
   130  //					HumanTaskUiArn:                    pulumi.Any(exampleAwsSagemakerHumanTaskUi.Arn),
   131  //					TaskAvailabilityLifetimeInSeconds: pulumi.Int(1),
   132  //					TaskCount:                         pulumi.Int(1),
   133  //					TaskDescription:                   pulumi.String("example"),
   134  //					TaskTitle:                         pulumi.String("example"),
   135  //					WorkteamArn:                       pulumi.Any(exampleAwsSagemakerWorkteam.Arn),
   136  //				},
   137  //				HumanLoopRequestSource: &sagemaker.FlowDefinitionHumanLoopRequestSourceArgs{
   138  //					AwsManagedHumanLoopRequestSource: pulumi.String("AWS/Textract/AnalyzeDocument/Forms/V1"),
   139  //				},
   140  //				HumanLoopActivationConfig: &sagemaker.FlowDefinitionHumanLoopActivationConfigArgs{
   141  //					HumanLoopActivationConditionsConfig: &sagemaker.FlowDefinitionHumanLoopActivationConfigHumanLoopActivationConditionsConfigArgs{
   142  //						HumanLoopActivationConditions: pulumi.String(`        {
   143  //				"Conditions": [
   144  //				  {
   145  //					"ConditionType": "Sampling",
   146  //					"ConditionParameters": {
   147  //					  "RandomSamplingPercentage": 5
   148  //					}
   149  //				  }
   150  //				]
   151  //			}
   152  //
   153  // `),
   154  //
   155  //					},
   156  //				},
   157  //				OutputConfig: &sagemaker.FlowDefinitionOutputConfigArgs{
   158  //					S3OutputPath: pulumi.String(fmt.Sprintf("s3://%v/", exampleAwsS3Bucket.Bucket)),
   159  //				},
   160  //			})
   161  //			if err != nil {
   162  //				return err
   163  //			}
   164  //			return nil
   165  //		})
   166  //	}
   167  //
   168  // ```
   169  // <!--End PulumiCodeChooser -->
   170  //
   171  // ## Import
   172  //
   173  // Using `pulumi import`, import SageMaker Flow Definitions using the `flow_definition_name`. For example:
   174  //
   175  // ```sh
   176  // $ pulumi import aws:sagemaker/flowDefinition:FlowDefinition example example
   177  // ```
   178  type FlowDefinition struct {
   179  	pulumi.CustomResourceState
   180  
   181  	// The Amazon Resource Name (ARN) assigned by AWS to this Flow Definition.
   182  	Arn pulumi.StringOutput `pulumi:"arn"`
   183  	// The name of your flow definition.
   184  	FlowDefinitionName pulumi.StringOutput `pulumi:"flowDefinitionName"`
   185  	// An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
   186  	HumanLoopActivationConfig FlowDefinitionHumanLoopActivationConfigPtrOutput `pulumi:"humanLoopActivationConfig"`
   187  	// An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
   188  	HumanLoopConfig FlowDefinitionHumanLoopConfigOutput `pulumi:"humanLoopConfig"`
   189  	// 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.
   190  	HumanLoopRequestSource FlowDefinitionHumanLoopRequestSourcePtrOutput `pulumi:"humanLoopRequestSource"`
   191  	// An object containing information about where the human review results will be uploaded. See Output Config details below.
   192  	OutputConfig FlowDefinitionOutputConfigOutput `pulumi:"outputConfig"`
   193  	// The Amazon Resource Name (ARN) of the role needed to call other services on your behalf.
   194  	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
   195  	// 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.
   196  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   197  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   198  	//
   199  	// Deprecated: Please use `tags` instead.
   200  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   201  }
   202  
   203  // NewFlowDefinition registers a new resource with the given unique name, arguments, and options.
   204  func NewFlowDefinition(ctx *pulumi.Context,
   205  	name string, args *FlowDefinitionArgs, opts ...pulumi.ResourceOption) (*FlowDefinition, error) {
   206  	if args == nil {
   207  		return nil, errors.New("missing one or more required arguments")
   208  	}
   209  
   210  	if args.FlowDefinitionName == nil {
   211  		return nil, errors.New("invalid value for required argument 'FlowDefinitionName'")
   212  	}
   213  	if args.HumanLoopConfig == nil {
   214  		return nil, errors.New("invalid value for required argument 'HumanLoopConfig'")
   215  	}
   216  	if args.OutputConfig == nil {
   217  		return nil, errors.New("invalid value for required argument 'OutputConfig'")
   218  	}
   219  	if args.RoleArn == nil {
   220  		return nil, errors.New("invalid value for required argument 'RoleArn'")
   221  	}
   222  	opts = internal.PkgResourceDefaultOpts(opts)
   223  	var resource FlowDefinition
   224  	err := ctx.RegisterResource("aws:sagemaker/flowDefinition:FlowDefinition", name, args, &resource, opts...)
   225  	if err != nil {
   226  		return nil, err
   227  	}
   228  	return &resource, nil
   229  }
   230  
   231  // GetFlowDefinition gets an existing FlowDefinition resource's state with the given name, ID, and optional
   232  // state properties that are used to uniquely qualify the lookup (nil if not required).
   233  func GetFlowDefinition(ctx *pulumi.Context,
   234  	name string, id pulumi.IDInput, state *FlowDefinitionState, opts ...pulumi.ResourceOption) (*FlowDefinition, error) {
   235  	var resource FlowDefinition
   236  	err := ctx.ReadResource("aws:sagemaker/flowDefinition:FlowDefinition", name, id, state, &resource, opts...)
   237  	if err != nil {
   238  		return nil, err
   239  	}
   240  	return &resource, nil
   241  }
   242  
   243  // Input properties used for looking up and filtering FlowDefinition resources.
   244  type flowDefinitionState struct {
   245  	// The Amazon Resource Name (ARN) assigned by AWS to this Flow Definition.
   246  	Arn *string `pulumi:"arn"`
   247  	// The name of your flow definition.
   248  	FlowDefinitionName *string `pulumi:"flowDefinitionName"`
   249  	// An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
   250  	HumanLoopActivationConfig *FlowDefinitionHumanLoopActivationConfig `pulumi:"humanLoopActivationConfig"`
   251  	// An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
   252  	HumanLoopConfig *FlowDefinitionHumanLoopConfig `pulumi:"humanLoopConfig"`
   253  	// 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.
   254  	HumanLoopRequestSource *FlowDefinitionHumanLoopRequestSource `pulumi:"humanLoopRequestSource"`
   255  	// An object containing information about where the human review results will be uploaded. See Output Config details below.
   256  	OutputConfig *FlowDefinitionOutputConfig `pulumi:"outputConfig"`
   257  	// The Amazon Resource Name (ARN) of the role needed to call other services on your behalf.
   258  	RoleArn *string `pulumi:"roleArn"`
   259  	// 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.
   260  	Tags map[string]string `pulumi:"tags"`
   261  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   262  	//
   263  	// Deprecated: Please use `tags` instead.
   264  	TagsAll map[string]string `pulumi:"tagsAll"`
   265  }
   266  
   267  type FlowDefinitionState struct {
   268  	// The Amazon Resource Name (ARN) assigned by AWS to this Flow Definition.
   269  	Arn pulumi.StringPtrInput
   270  	// The name of your flow definition.
   271  	FlowDefinitionName pulumi.StringPtrInput
   272  	// An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
   273  	HumanLoopActivationConfig FlowDefinitionHumanLoopActivationConfigPtrInput
   274  	// An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
   275  	HumanLoopConfig FlowDefinitionHumanLoopConfigPtrInput
   276  	// 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.
   277  	HumanLoopRequestSource FlowDefinitionHumanLoopRequestSourcePtrInput
   278  	// An object containing information about where the human review results will be uploaded. See Output Config details below.
   279  	OutputConfig FlowDefinitionOutputConfigPtrInput
   280  	// The Amazon Resource Name (ARN) of the role needed to call other services on your behalf.
   281  	RoleArn pulumi.StringPtrInput
   282  	// 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.
   283  	Tags pulumi.StringMapInput
   284  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   285  	//
   286  	// Deprecated: Please use `tags` instead.
   287  	TagsAll pulumi.StringMapInput
   288  }
   289  
   290  func (FlowDefinitionState) ElementType() reflect.Type {
   291  	return reflect.TypeOf((*flowDefinitionState)(nil)).Elem()
   292  }
   293  
   294  type flowDefinitionArgs struct {
   295  	// The name of your flow definition.
   296  	FlowDefinitionName string `pulumi:"flowDefinitionName"`
   297  	// An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
   298  	HumanLoopActivationConfig *FlowDefinitionHumanLoopActivationConfig `pulumi:"humanLoopActivationConfig"`
   299  	// An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
   300  	HumanLoopConfig FlowDefinitionHumanLoopConfig `pulumi:"humanLoopConfig"`
   301  	// 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.
   302  	HumanLoopRequestSource *FlowDefinitionHumanLoopRequestSource `pulumi:"humanLoopRequestSource"`
   303  	// An object containing information about where the human review results will be uploaded. See Output Config details below.
   304  	OutputConfig FlowDefinitionOutputConfig `pulumi:"outputConfig"`
   305  	// The Amazon Resource Name (ARN) of the role needed to call other services on your behalf.
   306  	RoleArn string `pulumi:"roleArn"`
   307  	// 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.
   308  	Tags map[string]string `pulumi:"tags"`
   309  }
   310  
   311  // The set of arguments for constructing a FlowDefinition resource.
   312  type FlowDefinitionArgs struct {
   313  	// The name of your flow definition.
   314  	FlowDefinitionName pulumi.StringInput
   315  	// An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
   316  	HumanLoopActivationConfig FlowDefinitionHumanLoopActivationConfigPtrInput
   317  	// An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
   318  	HumanLoopConfig FlowDefinitionHumanLoopConfigInput
   319  	// 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.
   320  	HumanLoopRequestSource FlowDefinitionHumanLoopRequestSourcePtrInput
   321  	// An object containing information about where the human review results will be uploaded. See Output Config details below.
   322  	OutputConfig FlowDefinitionOutputConfigInput
   323  	// The Amazon Resource Name (ARN) of the role needed to call other services on your behalf.
   324  	RoleArn pulumi.StringInput
   325  	// 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.
   326  	Tags pulumi.StringMapInput
   327  }
   328  
   329  func (FlowDefinitionArgs) ElementType() reflect.Type {
   330  	return reflect.TypeOf((*flowDefinitionArgs)(nil)).Elem()
   331  }
   332  
   333  type FlowDefinitionInput interface {
   334  	pulumi.Input
   335  
   336  	ToFlowDefinitionOutput() FlowDefinitionOutput
   337  	ToFlowDefinitionOutputWithContext(ctx context.Context) FlowDefinitionOutput
   338  }
   339  
   340  func (*FlowDefinition) ElementType() reflect.Type {
   341  	return reflect.TypeOf((**FlowDefinition)(nil)).Elem()
   342  }
   343  
   344  func (i *FlowDefinition) ToFlowDefinitionOutput() FlowDefinitionOutput {
   345  	return i.ToFlowDefinitionOutputWithContext(context.Background())
   346  }
   347  
   348  func (i *FlowDefinition) ToFlowDefinitionOutputWithContext(ctx context.Context) FlowDefinitionOutput {
   349  	return pulumi.ToOutputWithContext(ctx, i).(FlowDefinitionOutput)
   350  }
   351  
   352  // FlowDefinitionArrayInput is an input type that accepts FlowDefinitionArray and FlowDefinitionArrayOutput values.
   353  // You can construct a concrete instance of `FlowDefinitionArrayInput` via:
   354  //
   355  //	FlowDefinitionArray{ FlowDefinitionArgs{...} }
   356  type FlowDefinitionArrayInput interface {
   357  	pulumi.Input
   358  
   359  	ToFlowDefinitionArrayOutput() FlowDefinitionArrayOutput
   360  	ToFlowDefinitionArrayOutputWithContext(context.Context) FlowDefinitionArrayOutput
   361  }
   362  
   363  type FlowDefinitionArray []FlowDefinitionInput
   364  
   365  func (FlowDefinitionArray) ElementType() reflect.Type {
   366  	return reflect.TypeOf((*[]*FlowDefinition)(nil)).Elem()
   367  }
   368  
   369  func (i FlowDefinitionArray) ToFlowDefinitionArrayOutput() FlowDefinitionArrayOutput {
   370  	return i.ToFlowDefinitionArrayOutputWithContext(context.Background())
   371  }
   372  
   373  func (i FlowDefinitionArray) ToFlowDefinitionArrayOutputWithContext(ctx context.Context) FlowDefinitionArrayOutput {
   374  	return pulumi.ToOutputWithContext(ctx, i).(FlowDefinitionArrayOutput)
   375  }
   376  
   377  // FlowDefinitionMapInput is an input type that accepts FlowDefinitionMap and FlowDefinitionMapOutput values.
   378  // You can construct a concrete instance of `FlowDefinitionMapInput` via:
   379  //
   380  //	FlowDefinitionMap{ "key": FlowDefinitionArgs{...} }
   381  type FlowDefinitionMapInput interface {
   382  	pulumi.Input
   383  
   384  	ToFlowDefinitionMapOutput() FlowDefinitionMapOutput
   385  	ToFlowDefinitionMapOutputWithContext(context.Context) FlowDefinitionMapOutput
   386  }
   387  
   388  type FlowDefinitionMap map[string]FlowDefinitionInput
   389  
   390  func (FlowDefinitionMap) ElementType() reflect.Type {
   391  	return reflect.TypeOf((*map[string]*FlowDefinition)(nil)).Elem()
   392  }
   393  
   394  func (i FlowDefinitionMap) ToFlowDefinitionMapOutput() FlowDefinitionMapOutput {
   395  	return i.ToFlowDefinitionMapOutputWithContext(context.Background())
   396  }
   397  
   398  func (i FlowDefinitionMap) ToFlowDefinitionMapOutputWithContext(ctx context.Context) FlowDefinitionMapOutput {
   399  	return pulumi.ToOutputWithContext(ctx, i).(FlowDefinitionMapOutput)
   400  }
   401  
   402  type FlowDefinitionOutput struct{ *pulumi.OutputState }
   403  
   404  func (FlowDefinitionOutput) ElementType() reflect.Type {
   405  	return reflect.TypeOf((**FlowDefinition)(nil)).Elem()
   406  }
   407  
   408  func (o FlowDefinitionOutput) ToFlowDefinitionOutput() FlowDefinitionOutput {
   409  	return o
   410  }
   411  
   412  func (o FlowDefinitionOutput) ToFlowDefinitionOutputWithContext(ctx context.Context) FlowDefinitionOutput {
   413  	return o
   414  }
   415  
   416  // The Amazon Resource Name (ARN) assigned by AWS to this Flow Definition.
   417  func (o FlowDefinitionOutput) Arn() pulumi.StringOutput {
   418  	return o.ApplyT(func(v *FlowDefinition) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   419  }
   420  
   421  // The name of your flow definition.
   422  func (o FlowDefinitionOutput) FlowDefinitionName() pulumi.StringOutput {
   423  	return o.ApplyT(func(v *FlowDefinition) pulumi.StringOutput { return v.FlowDefinitionName }).(pulumi.StringOutput)
   424  }
   425  
   426  // An object containing information about the events that trigger a human workflow. See Human Loop Activation Config details below.
   427  func (o FlowDefinitionOutput) HumanLoopActivationConfig() FlowDefinitionHumanLoopActivationConfigPtrOutput {
   428  	return o.ApplyT(func(v *FlowDefinition) FlowDefinitionHumanLoopActivationConfigPtrOutput {
   429  		return v.HumanLoopActivationConfig
   430  	}).(FlowDefinitionHumanLoopActivationConfigPtrOutput)
   431  }
   432  
   433  // An object containing information about the tasks the human reviewers will perform. See Human Loop Config details below.
   434  func (o FlowDefinitionOutput) HumanLoopConfig() FlowDefinitionHumanLoopConfigOutput {
   435  	return o.ApplyT(func(v *FlowDefinition) FlowDefinitionHumanLoopConfigOutput { return v.HumanLoopConfig }).(FlowDefinitionHumanLoopConfigOutput)
   436  }
   437  
   438  // 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.
   439  func (o FlowDefinitionOutput) HumanLoopRequestSource() FlowDefinitionHumanLoopRequestSourcePtrOutput {
   440  	return o.ApplyT(func(v *FlowDefinition) FlowDefinitionHumanLoopRequestSourcePtrOutput { return v.HumanLoopRequestSource }).(FlowDefinitionHumanLoopRequestSourcePtrOutput)
   441  }
   442  
   443  // An object containing information about where the human review results will be uploaded. See Output Config details below.
   444  func (o FlowDefinitionOutput) OutputConfig() FlowDefinitionOutputConfigOutput {
   445  	return o.ApplyT(func(v *FlowDefinition) FlowDefinitionOutputConfigOutput { return v.OutputConfig }).(FlowDefinitionOutputConfigOutput)
   446  }
   447  
   448  // The Amazon Resource Name (ARN) of the role needed to call other services on your behalf.
   449  func (o FlowDefinitionOutput) RoleArn() pulumi.StringOutput {
   450  	return o.ApplyT(func(v *FlowDefinition) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput)
   451  }
   452  
   453  // 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.
   454  func (o FlowDefinitionOutput) Tags() pulumi.StringMapOutput {
   455  	return o.ApplyT(func(v *FlowDefinition) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   456  }
   457  
   458  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   459  //
   460  // Deprecated: Please use `tags` instead.
   461  func (o FlowDefinitionOutput) TagsAll() pulumi.StringMapOutput {
   462  	return o.ApplyT(func(v *FlowDefinition) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   463  }
   464  
   465  type FlowDefinitionArrayOutput struct{ *pulumi.OutputState }
   466  
   467  func (FlowDefinitionArrayOutput) ElementType() reflect.Type {
   468  	return reflect.TypeOf((*[]*FlowDefinition)(nil)).Elem()
   469  }
   470  
   471  func (o FlowDefinitionArrayOutput) ToFlowDefinitionArrayOutput() FlowDefinitionArrayOutput {
   472  	return o
   473  }
   474  
   475  func (o FlowDefinitionArrayOutput) ToFlowDefinitionArrayOutputWithContext(ctx context.Context) FlowDefinitionArrayOutput {
   476  	return o
   477  }
   478  
   479  func (o FlowDefinitionArrayOutput) Index(i pulumi.IntInput) FlowDefinitionOutput {
   480  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FlowDefinition {
   481  		return vs[0].([]*FlowDefinition)[vs[1].(int)]
   482  	}).(FlowDefinitionOutput)
   483  }
   484  
   485  type FlowDefinitionMapOutput struct{ *pulumi.OutputState }
   486  
   487  func (FlowDefinitionMapOutput) ElementType() reflect.Type {
   488  	return reflect.TypeOf((*map[string]*FlowDefinition)(nil)).Elem()
   489  }
   490  
   491  func (o FlowDefinitionMapOutput) ToFlowDefinitionMapOutput() FlowDefinitionMapOutput {
   492  	return o
   493  }
   494  
   495  func (o FlowDefinitionMapOutput) ToFlowDefinitionMapOutputWithContext(ctx context.Context) FlowDefinitionMapOutput {
   496  	return o
   497  }
   498  
   499  func (o FlowDefinitionMapOutput) MapIndex(k pulumi.StringInput) FlowDefinitionOutput {
   500  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FlowDefinition {
   501  		return vs[0].(map[string]*FlowDefinition)[vs[1].(string)]
   502  	}).(FlowDefinitionOutput)
   503  }
   504  
   505  func init() {
   506  	pulumi.RegisterInputType(reflect.TypeOf((*FlowDefinitionInput)(nil)).Elem(), &FlowDefinition{})
   507  	pulumi.RegisterInputType(reflect.TypeOf((*FlowDefinitionArrayInput)(nil)).Elem(), FlowDefinitionArray{})
   508  	pulumi.RegisterInputType(reflect.TypeOf((*FlowDefinitionMapInput)(nil)).Elem(), FlowDefinitionMap{})
   509  	pulumi.RegisterOutputType(FlowDefinitionOutput{})
   510  	pulumi.RegisterOutputType(FlowDefinitionArrayOutput{})
   511  	pulumi.RegisterOutputType(FlowDefinitionMapOutput{})
   512  }