UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

300 lines (299 loc) • 10.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Resource schema for AWS::AppFlow::Flow. * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const testFlow = new aws_native.appflow.Flow("testFlow", { * flowName: "MyEventFlow", * description: "Test event flow for CloudFormation from salesforce to s3", * triggerConfig: { * triggerType: aws_native.appflow.FlowTriggerType.Event, * }, * sourceFlowConfig: { * connectorType: aws_native.appflow.FlowConnectorType.Salesforce, * connectorProfileName: "TestConnectorProfile", * sourceConnectorProperties: { * salesforce: { * object: "Account", * enableDynamicFieldUpdate: false, * includeDeletedRecords: true, * }, * }, * }, * destinationFlowConfigList: [{ * connectorType: aws_native.appflow.FlowConnectorType.S3, * destinationConnectorProperties: { * s3: { * bucketName: "TestOutputBucket", * s3OutputFormatConfig: { * fileType: aws_native.appflow.FlowFileType.Json, * aggregationConfig: { * aggregationType: aws_native.appflow.FlowAggregationType.None, * }, * }, * }, * }, * }], * tasks: [ * { * taskType: aws_native.appflow.FlowTaskType.Filter, * sourceFields: [ * "Id", * "Name", * ], * connectorOperator: { * salesforce: aws_native.appflow.FlowSalesforceConnectorOperator.Projection, * }, * }, * { * taskType: aws_native.appflow.FlowTaskType.Map, * sourceFields: ["Id"], * taskProperties: [ * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.SourceDataType, * value: "id", * }, * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.DestinationDataType, * value: "id", * }, * ], * destinationField: "Id", * connectorOperator: { * salesforce: aws_native.appflow.FlowSalesforceConnectorOperator.NoOp, * }, * }, * { * taskType: aws_native.appflow.FlowTaskType.Map, * sourceFields: ["Name"], * taskProperties: [ * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.SourceDataType, * value: "string", * }, * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.DestinationDataType, * value: "string", * }, * ], * destinationField: "Name", * connectorOperator: { * salesforce: aws_native.appflow.FlowSalesforceConnectorOperator.NoOp, * }, * }, * ], * tags: [{ * key: "testKey", * value: "testValue", * }], * }); * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const testFlow = new aws_native.appflow.Flow("testFlow", { * flowName: "MyEventFlow", * description: "Test flow for CloudFormation from salesforce to s3", * triggerConfig: { * triggerType: aws_native.appflow.FlowTriggerType.Event, * }, * sourceFlowConfig: { * connectorType: aws_native.appflow.FlowConnectorType.Salesforce, * connectorProfileName: "TestConnectorProfile", * sourceConnectorProperties: { * salesforce: { * object: "Account", * enableDynamicFieldUpdate: false, * includeDeletedRecords: true, * }, * }, * }, * destinationFlowConfigList: [{ * connectorType: aws_native.appflow.FlowConnectorType.S3, * destinationConnectorProperties: { * s3: { * bucketName: "TestOutputBucket", * s3OutputFormatConfig: { * fileType: aws_native.appflow.FlowFileType.Json, * aggregationConfig: { * aggregationType: aws_native.appflow.FlowAggregationType.None, * }, * }, * }, * }, * }], * tasks: [ * { * taskType: aws_native.appflow.FlowTaskType.Filter, * connectorOperator: { * salesforce: aws_native.appflow.FlowSalesforceConnectorOperator.Projection, * }, * sourceFields: ["Id"], * }, * { * taskType: aws_native.appflow.FlowTaskType.Map, * sourceFields: ["Id"], * taskProperties: [ * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.SourceDataType, * value: "id", * }, * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.DestinationDataType, * value: "id", * }, * ], * destinationField: "Id", * connectorOperator: { * salesforce: aws_native.appflow.FlowSalesforceConnectorOperator.NoOp, * }, * }, * { * taskType: aws_native.appflow.FlowTaskType.Map, * sourceFields: ["Name"], * taskProperties: [ * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.SourceDataType, * value: "string", * }, * { * key: aws_native.appflow.FlowOperatorPropertiesKeys.DestinationDataType, * value: "string", * }, * ], * destinationField: "Name", * connectorOperator: { * salesforce: aws_native.appflow.FlowSalesforceConnectorOperator.NoOp, * }, * }, * ], * }); * * ``` */ export declare class Flow extends pulumi.CustomResource { /** * Get an existing Flow resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Flow; /** * Returns true if the given object is an instance of Flow. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Flow; /** * Description of the flow. */ readonly description: pulumi.Output<string | undefined>; /** * List of Destination connectors of the flow. */ readonly destinationFlowConfigList: pulumi.Output<outputs.appflow.FlowDestinationFlowConfig[]>; /** * ARN identifier of the flow. */ readonly flowArn: pulumi.Output<string>; /** * Name of the flow. */ readonly flowName: pulumi.Output<string>; /** * Flow activation status for Scheduled- and Event-triggered flows */ readonly flowStatus: pulumi.Output<enums.appflow.FlowStatus | undefined>; /** * The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key. */ readonly kmsArn: pulumi.Output<string | undefined>; /** * Configurations of metadata catalog of the flow. */ readonly metadataCatalogConfig: pulumi.Output<outputs.appflow.FlowMetadataCatalogConfig | undefined>; /** * Configurations of Source connector of the flow. */ readonly sourceFlowConfig: pulumi.Output<outputs.appflow.FlowSourceFlowConfig>; /** * List of Tags. */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * List of tasks for the flow. */ readonly tasks: pulumi.Output<outputs.appflow.FlowTask[]>; /** * Trigger settings of the flow. */ readonly triggerConfig: pulumi.Output<outputs.appflow.FlowTriggerConfig>; /** * Create a Flow resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: FlowArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Flow resource. */ export interface FlowArgs { /** * Description of the flow. */ description?: pulumi.Input<string>; /** * List of Destination connectors of the flow. */ destinationFlowConfigList: pulumi.Input<pulumi.Input<inputs.appflow.FlowDestinationFlowConfigArgs>[]>; /** * Name of the flow. */ flowName?: pulumi.Input<string>; /** * Flow activation status for Scheduled- and Event-triggered flows */ flowStatus?: pulumi.Input<enums.appflow.FlowStatus>; /** * The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key. */ kmsArn?: pulumi.Input<string>; /** * Configurations of metadata catalog of the flow. */ metadataCatalogConfig?: pulumi.Input<inputs.appflow.FlowMetadataCatalogConfigArgs>; /** * Configurations of Source connector of the flow. */ sourceFlowConfig: pulumi.Input<inputs.appflow.FlowSourceFlowConfigArgs>; /** * List of Tags. */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; /** * List of tasks for the flow. */ tasks: pulumi.Input<pulumi.Input<inputs.appflow.FlowTaskArgs>[]>; /** * Trigger settings of the flow. */ triggerConfig: pulumi.Input<inputs.appflow.FlowTriggerConfigArgs>; }