Package com.pulumi.aws.appflow
Class Flow
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.appflow.Flow
-
public class Flow extends com.pulumi.resources.CustomResourceProvides an AppFlow flow resource. ## Example Usage
## Import ### Identity Schema #### Required * `name` (String) Name of the AppFlow flow. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import AppFlow flows using the `name`. For example: ```sh $ pulumi import aws:appflow/flow:Flow example example-flow ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; import com.pulumi.aws.s3.BucketObjectv2; import com.pulumi.aws.s3.BucketObjectv2Args; import com.pulumi.aws.appflow.Flow; import com.pulumi.aws.appflow.FlowArgs; import com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs; import com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesArgs; import com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigSourceConnectorPropertiesS3Args; import com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesArgs; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs; import com.pulumi.aws.appflow.inputs.FlowTaskArgs; import com.pulumi.aws.appflow.inputs.FlowTaskConnectorOperatorArgs; import com.pulumi.asset.FileAsset; 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 exampleSourceBucket = new Bucket("exampleSourceBucket", BucketArgs.builder() .bucket("example-source") .build()); final var exampleSource = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("appflow.amazonaws.com") .build()) .sid("AllowAppFlowSourceActions") .effect("Allow") .actions( "s3:ListBucket", "s3:GetObject") .resources( "arn:aws:s3:::example-source", "arn:aws:s3:::example-source/*") .build()) .build()); var exampleSourceBucketPolicy = new BucketPolicy("exampleSourceBucketPolicy", BucketPolicyArgs.builder() .bucket(exampleSourceBucket.id()) .policy(exampleSource.json()) .build()); var example = new BucketObjectv2("example", BucketObjectv2Args.builder() .bucket(exampleSourceBucket.id()) .key("example_source.csv") .source(new FileAsset("example_source.csv")) .build()); var exampleDestinationBucket = new Bucket("exampleDestinationBucket", BucketArgs.builder() .bucket("example-destination") .build()); final var exampleDestination = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("appflow.amazonaws.com") .build()) .sid("AllowAppFlowDestinationActions") .effect("Allow") .actions( "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:GetBucketAcl", "s3:PutObjectAcl") .resources( "arn:aws:s3:::example-destination", "arn:aws:s3:::example-destination/*") .build()) .build()); var exampleDestinationBucketPolicy = new BucketPolicy("exampleDestinationBucketPolicy", BucketPolicyArgs.builder() .bucket(exampleDestinationBucket.id()) .policy(exampleDestination.json()) .build()); var exampleFlow = new Flow("exampleFlow", FlowArgs.builder() .sourceFlowConfig(FlowSourceFlowConfigArgs.builder() .sourceConnectorProperties(FlowSourceFlowConfigSourceConnectorPropertiesArgs.builder() .s3(FlowSourceFlowConfigSourceConnectorPropertiesS3Args.builder() .bucketName(exampleSourceBucketPolicy.bucket()) .bucketPrefix("example") .build()) .build()) .connectorType("S3") .build()) .triggerConfig(FlowTriggerConfigArgs.builder() .triggerType("OnDemand") .build()) .destinationFlowConfigs(FlowDestinationFlowConfigArgs.builder() .destinationConnectorProperties(FlowDestinationFlowConfigDestinationConnectorPropertiesArgs.builder() .s3(FlowDestinationFlowConfigDestinationConnectorPropertiesS3Args.builder() .s3OutputFormatConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigArgs.builder() .prefixConfig(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.builder() .prefixType("PATH") .build()) .build()) .bucketName(exampleDestinationBucketPolicy.bucket()) .build()) .build()) .connectorType("S3") .build()) .tasks(FlowTaskArgs.builder() .connectorOperators(FlowTaskConnectorOperatorArgs.builder() .s3("NO_OP") .build()) .sourceFields("exampleField") .destinationField("exampleField") .taskType("Map") .build()) .name("example") .build()); } }
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.util.List<FlowDestinationFlowConfig>>destinationFlowConfigs()com.pulumi.core.Output<java.lang.String>flowStatus()static Flowget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, FlowState state, 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.com.pulumi.core.Output<java.lang.String>kmsArn()com.pulumi.core.Output<FlowMetadataCatalogConfig>metadataCatalogConfig()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<FlowSourceFlowConfig>sourceFlowConfig()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.List<FlowTask>>tasks()com.pulumi.core.Output<FlowTriggerConfig>triggerConfig()
-
-
-
Constructor Detail
-
Flow
public Flow(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Flow
public Flow(java.lang.String name, FlowArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Flow
public Flow(java.lang.String name, FlowArgs 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:
- Flow's ARN.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the flow.
-
destinationFlowConfigs
public com.pulumi.core.Output<java.util.List<FlowDestinationFlowConfig>> destinationFlowConfigs()
- Returns:
- Configuration that controls how Amazon AppFlow places data in the destination connector. See the `destinationFlowConfig` Block for details.
-
flowStatus
public com.pulumi.core.Output<java.lang.String> flowStatus()
- Returns:
- Current status of the flow.
-
kmsArn
public com.pulumi.core.Output<java.lang.String> kmsArn()
- Returns:
- ARN of the KMS key you provide for encryption. Required if you do not want to use the Amazon AppFlow-managed KMS key. Uses the Amazon AppFlow-managed KMS key when not provided.
-
metadataCatalogConfig
public com.pulumi.core.Output<FlowMetadataCatalogConfig> metadataCatalogConfig()
- Returns:
- Configuration that determines how Amazon AppFlow catalogs the data that the flow transfers. See the `metadataCatalogConfig` Block for details.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the flow.
-
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.
-
sourceFlowConfig
public com.pulumi.core.Output<FlowSourceFlowConfig> sourceFlowConfig()
- Returns:
- Configuration that controls how Amazon AppFlow retrieves data from the source connector. See the `sourceFlowConfig` Block for details.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value mapping of resource tags. 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.
-
tasks
public com.pulumi.core.Output<java.util.List<FlowTask>> tasks()
- Returns:
- Tasks that Amazon AppFlow performs while transferring the data in the flow run. See the `task` Block for details.
-
triggerConfig
public com.pulumi.core.Output<FlowTriggerConfig> triggerConfig()
- Returns:
- Configuration that determines how and when the flow runs. See the `triggerConfig` Block for details.
-
get
public static Flow get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable FlowState 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.
-
-