Class CfnFlow
A CloudFormation AWS::AppFlow::Flow
.
Inherited Members
Namespace: Amazon.CDK.AWS.AppFlow
Assembly: Amazon.CDK.AWS.AppFlow.dll
Syntax (csharp)
public class CfnFlow : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnFlow
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
The AWS::AppFlow::Flow
resource is an Amazon AppFlow resource type that specifies a new flow.
If you want to use AWS CloudFormation to create a connector profile for connectors that implement OAuth (such as Salesforce, Slack, Zendesk, and Google Analytics), you must fetch the access and refresh tokens. You can do this by implementing your own UI for OAuth, or by retrieving the tokens from elsewhere. Alternatively, you can use the Amazon AppFlow console to create the connector profile, and then use that connector profile in the flow creation CloudFormation template.
CloudformationResource: AWS::AppFlow::Flow
Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.AppFlow;
var cfnFlow = new CfnFlow(this, "MyCfnFlow", new CfnFlowProps {
DestinationFlowConfigList = new [] { new DestinationFlowConfigProperty {
ConnectorType = "connectorType",
DestinationConnectorProperties = new DestinationConnectorPropertiesProperty {
CustomConnector = new CustomConnectorDestinationPropertiesProperty {
EntityName = "entityName",
// the properties below are optional
CustomProperties = new Dictionary<string, string> {
{ "customPropertiesKey", "customProperties" }
},
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
},
IdFieldNames = new [] { "idFieldNames" },
WriteOperationType = "writeOperationType"
},
EventBridge = new EventBridgeDestinationPropertiesProperty {
Object = "object",
// the properties below are optional
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
}
},
LookoutMetrics = new LookoutMetricsDestinationPropertiesProperty {
Object = "object"
},
Marketo = new MarketoDestinationPropertiesProperty {
Object = "object",
// the properties below are optional
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
}
},
Redshift = new RedshiftDestinationPropertiesProperty {
IntermediateBucketName = "intermediateBucketName",
Object = "object",
// the properties below are optional
BucketPrefix = "bucketPrefix",
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
}
},
S3 = new S3DestinationPropertiesProperty {
BucketName = "bucketName",
// the properties below are optional
BucketPrefix = "bucketPrefix",
S3OutputFormatConfig = new S3OutputFormatConfigProperty {
AggregationConfig = new AggregationConfigProperty {
AggregationType = "aggregationType",
TargetFileSize = 123
},
FileType = "fileType",
PrefixConfig = new PrefixConfigProperty {
PathPrefixHierarchy = new [] { "pathPrefixHierarchy" },
PrefixFormat = "prefixFormat",
PrefixType = "prefixType"
},
PreserveSourceDataTyping = false
}
},
Salesforce = new SalesforceDestinationPropertiesProperty {
Object = "object",
// the properties below are optional
DataTransferApi = "dataTransferApi",
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
},
IdFieldNames = new [] { "idFieldNames" },
WriteOperationType = "writeOperationType"
},
SapoData = new SAPODataDestinationPropertiesProperty {
ObjectPath = "objectPath",
// the properties below are optional
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
},
IdFieldNames = new [] { "idFieldNames" },
SuccessResponseHandlingConfig = new SuccessResponseHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix"
},
WriteOperationType = "writeOperationType"
},
Snowflake = new SnowflakeDestinationPropertiesProperty {
IntermediateBucketName = "intermediateBucketName",
Object = "object",
// the properties below are optional
BucketPrefix = "bucketPrefix",
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
}
},
Upsolver = new UpsolverDestinationPropertiesProperty {
BucketName = "bucketName",
S3OutputFormatConfig = new UpsolverS3OutputFormatConfigProperty {
PrefixConfig = new PrefixConfigProperty {
PathPrefixHierarchy = new [] { "pathPrefixHierarchy" },
PrefixFormat = "prefixFormat",
PrefixType = "prefixType"
},
// the properties below are optional
AggregationConfig = new AggregationConfigProperty {
AggregationType = "aggregationType",
TargetFileSize = 123
},
FileType = "fileType"
},
// the properties below are optional
BucketPrefix = "bucketPrefix"
},
Zendesk = new ZendeskDestinationPropertiesProperty {
Object = "object",
// the properties below are optional
ErrorHandlingConfig = new ErrorHandlingConfigProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
FailOnFirstError = false
},
IdFieldNames = new [] { "idFieldNames" },
WriteOperationType = "writeOperationType"
}
},
// the properties below are optional
ApiVersion = "apiVersion",
ConnectorProfileName = "connectorProfileName"
} },
FlowName = "flowName",
SourceFlowConfig = new SourceFlowConfigProperty {
ConnectorType = "connectorType",
SourceConnectorProperties = new SourceConnectorPropertiesProperty {
Amplitude = new AmplitudeSourcePropertiesProperty {
Object = "object"
},
CustomConnector = new CustomConnectorSourcePropertiesProperty {
EntityName = "entityName",
// the properties below are optional
CustomProperties = new Dictionary<string, string> {
{ "customPropertiesKey", "customProperties" }
}
},
Datadog = new DatadogSourcePropertiesProperty {
Object = "object"
},
Dynatrace = new DynatraceSourcePropertiesProperty {
Object = "object"
},
GoogleAnalytics = new GoogleAnalyticsSourcePropertiesProperty {
Object = "object"
},
InforNexus = new InforNexusSourcePropertiesProperty {
Object = "object"
},
Marketo = new MarketoSourcePropertiesProperty {
Object = "object"
},
Pardot = new PardotSourcePropertiesProperty {
Object = "object"
},
S3 = new S3SourcePropertiesProperty {
BucketName = "bucketName",
BucketPrefix = "bucketPrefix",
// the properties below are optional
S3InputFormatConfig = new S3InputFormatConfigProperty {
S3InputFileType = "s3InputFileType"
}
},
Salesforce = new SalesforceSourcePropertiesProperty {
Object = "object",
// the properties below are optional
DataTransferApi = "dataTransferApi",
EnableDynamicFieldUpdate = false,
IncludeDeletedRecords = false
},
SapoData = new SAPODataSourcePropertiesProperty {
ObjectPath = "objectPath"
},
ServiceNow = new ServiceNowSourcePropertiesProperty {
Object = "object"
},
Singular = new SingularSourcePropertiesProperty {
Object = "object"
},
Slack = new SlackSourcePropertiesProperty {
Object = "object"
},
Trendmicro = new TrendmicroSourcePropertiesProperty {
Object = "object"
},
Veeva = new VeevaSourcePropertiesProperty {
Object = "object",
// the properties below are optional
DocumentType = "documentType",
IncludeAllVersions = false,
IncludeRenditions = false,
IncludeSourceFiles = false
},
Zendesk = new ZendeskSourcePropertiesProperty {
Object = "object"
}
},
// the properties below are optional
ApiVersion = "apiVersion",
ConnectorProfileName = "connectorProfileName",
IncrementalPullConfig = new IncrementalPullConfigProperty {
DatetimeTypeFieldName = "datetimeTypeFieldName"
}
},
Tasks = new [] { new TaskProperty {
SourceFields = new [] { "sourceFields" },
TaskType = "taskType",
// the properties below are optional
ConnectorOperator = new ConnectorOperatorProperty {
Amplitude = "amplitude",
CustomConnector = "customConnector",
Datadog = "datadog",
Dynatrace = "dynatrace",
GoogleAnalytics = "googleAnalytics",
InforNexus = "inforNexus",
Marketo = "marketo",
Pardot = "pardot",
S3 = "s3",
Salesforce = "salesforce",
SapoData = "sapoData",
ServiceNow = "serviceNow",
Singular = "singular",
Slack = "slack",
Trendmicro = "trendmicro",
Veeva = "veeva",
Zendesk = "zendesk"
},
DestinationField = "destinationField",
TaskProperties = new [] { new TaskPropertiesObjectProperty {
Key = "key",
Value = "value"
} }
} },
TriggerConfig = new TriggerConfigProperty {
TriggerType = "triggerType",
// the properties below are optional
TriggerProperties = new ScheduledTriggerPropertiesProperty {
ScheduleExpression = "scheduleExpression",
// the properties below are optional
DataPullMode = "dataPullMode",
FirstExecutionFrom = 123,
FlowErrorDeactivationThreshold = 123,
ScheduleEndTime = 123,
ScheduleOffset = 123,
ScheduleStartTime = 123,
TimeZone = "timeZone"
}
},
// the properties below are optional
Description = "description",
FlowStatus = "flowStatus",
KmsArn = "kmsArn",
MetadataCatalogConfig = new MetadataCatalogConfigProperty {
GlueDataCatalog = new GlueDataCatalogProperty {
DatabaseName = "databaseName",
RoleArn = "roleArn",
TablePrefix = "tablePrefix"
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
});
Synopsis
Constructors
CfnFlow(Construct, String, ICfnFlowProps) | Create a new |
CfnFlow(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnFlow(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
Properties
AttrFlowArn | The flow's Amazon Resource Name (ARN). |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
Description | A user-entered description of the flow. |
DestinationFlowConfigList | The configuration that controls how Amazon AppFlow places data in the destination connector. |
FlowName | The specified name of the flow. |
FlowStatus | Sets the status of the flow. You can specify one of the following values:. |
KmsArn | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. |
MetadataCatalogConfig |
|
SourceFlowConfig | Contains information about the configuration of the source connector used in the flow. |
Tags | The tags used to organize, track, or control access for your flow. |
Tasks | A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. |
TriggerConfig | The trigger settings that determine how and when Amazon AppFlow runs the specified flow. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnFlow(Construct, String, ICfnFlowProps)
Create a new AWS::AppFlow::Flow
.
public CfnFlow(Construct scope, string id, ICfnFlowProps props)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnFlowProps
- resource properties.
CfnFlow(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnFlow(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnFlow(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnFlow(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
AttrFlowArn
The flow's Amazon Resource Name (ARN).
public virtual string AttrFlowArn { get; }
Property Value
System.String
Remarks
CloudformationAttribute: FlowArn
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
Description
A user-entered description of the flow.
public virtual string Description { get; set; }
Property Value
System.String
Remarks
DestinationFlowConfigList
The configuration that controls how Amazon AppFlow places data in the destination connector.
public virtual object DestinationFlowConfigList { get; set; }
Property Value
System.Object
Remarks
FlowName
The specified name of the flow.
public virtual string FlowName { get; set; }
Property Value
System.String
Remarks
Spaces are not allowed. Use underscores (_) or hyphens (-) only.
FlowStatus
Sets the status of the flow. You can specify one of the following values:.
public virtual string FlowStatus { get; set; }
Property Value
System.String
Remarks
If you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they’re not yet active.
KmsArn
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
public virtual string KmsArn { get; set; }
Property Value
System.String
Remarks
This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
MetadataCatalogConfig
AWS::AppFlow::Flow.MetadataCatalogConfig
.
public virtual object MetadataCatalogConfig { get; set; }
Property Value
System.Object
Remarks
SourceFlowConfig
Contains information about the configuration of the source connector used in the flow.
public virtual object SourceFlowConfig { get; set; }
Property Value
System.Object
Remarks
Tags
The tags used to organize, track, or control access for your flow.
public virtual TagManager Tags { get; }
Property Value
Remarks
Tasks
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
public virtual object Tasks { get; set; }
Property Value
System.Object
Remarks
TriggerConfig
The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
public virtual object TriggerConfig { get; set; }
Property Value
System.Object
Remarks
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
- tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>