flows
Creates, updates, deletes or gets a flow
resource or lists flows
in a region
Overview
Name | flows |
Type | Resource |
Description | Resource schema for AWS::AppFlow::Flow. |
Id | aws.appflow.flows |
Fields
Name | Datatype | Description |
---|---|---|
flow_arn | string | ARN identifier of the flow. |
flow_name | string | Name of the flow. |
description | string | Description of the flow. |
kms_arn | string | 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. |
trigger_config | object | Trigger settings of the flow. |
flow_status | string | Flow activation status for Scheduled- and Event-triggered flows |
source_flow_config | object | Configurations of Source connector of the flow. |
destination_flow_config_list | array | List of Destination connectors of the flow. |
tasks | array | List of tasks for the flow. |
tags | array | List of Tags. |
metadata_catalog_config | object | Configurations of metadata catalog of the flow. |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | FlowName, Tasks, SourceFlowConfig, DestinationFlowConfigList, TriggerConfig, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all flows
in a region.
SELECT
region,
flow_arn,
flow_name,
description,
kms_arn,
trigger_config,
flow_status,
source_flow_config,
destination_flow_config_list,
tasks,
tags,
metadata_catalog_config
FROM aws.appflow.flows
WHERE region = 'us-east-1';
Gets all properties from an individual flow
.
SELECT
region,
flow_arn,
flow_name,
description,
kms_arn,
trigger_config,
flow_status,
source_flow_config,
destination_flow_config_list,
tasks,
tags,
metadata_catalog_config
FROM aws.appflow.flows
WHERE region = 'us-east-1' AND data__Identifier = '<FlowName>';
INSERT
example
Use the following StackQL query and manifest file to create a new flow
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.appflow.flows (
FlowName,
TriggerConfig,
SourceFlowConfig,
DestinationFlowConfigList,
Tasks,
region
)
SELECT
'{{ FlowName }}',
'{{ TriggerConfig }}',
'{{ SourceFlowConfig }}',
'{{ DestinationFlowConfigList }}',
'{{ Tasks }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.appflow.flows (
FlowName,
Description,
KMSArn,
TriggerConfig,
FlowStatus,
SourceFlowConfig,
DestinationFlowConfigList,
Tasks,
Tags,
MetadataCatalogConfig,
region
)
SELECT
'{{ FlowName }}',
'{{ Description }}',
'{{ KMSArn }}',
'{{ TriggerConfig }}',
'{{ FlowStatus }}',
'{{ SourceFlowConfig }}',
'{{ DestinationFlowConfigList }}',
'{{ Tasks }}',
'{{ Tags }}',
'{{ MetadataCatalogConfig }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: flow
props:
- name: FlowName
value: '{{ FlowName }}'
- name: Description
value: '{{ Description }}'
- name: KMSArn
value: '{{ KMSArn }}'
- name: TriggerConfig
value:
TriggerType: '{{ TriggerType }}'
TriggerProperties:
ScheduleExpression: '{{ ScheduleExpression }}'
DataPullMode: '{{ DataPullMode }}'
ScheduleStartTime: null
ScheduleEndTime: null
FirstExecutionFrom: null
TimeZone: '{{ TimeZone }}'
ScheduleOffset: null
FlowErrorDeactivationThreshold: '{{ FlowErrorDeactivationThreshold }}'
- name: FlowStatus
value: '{{ FlowStatus }}'
- name: SourceFlowConfig
value:
ConnectorType: '{{ ConnectorType }}'
ApiVersion: '{{ ApiVersion }}'
ConnectorProfileName: '{{ ConnectorProfileName }}'
SourceConnectorProperties:
Amplitude:
Object: '{{ Object }}'
Datadog:
Object: null
Dynatrace:
Object: null
GoogleAnalytics:
Object: null
InforNexus:
Object: null
Marketo:
Object: null
S3:
BucketName: '{{ BucketName }}'
BucketPrefix: '{{ BucketPrefix }}'
S3InputFormatConfig:
S3InputFileType: '{{ S3InputFileType }}'
SAPOData:
ObjectPath: null
parallelismConfig:
maxParallelism: '{{ maxParallelism }}'
paginationConfig:
maxPageSize: '{{ maxPageSize }}'
Salesforce:
Object: null
EnableDynamicFieldUpdate: '{{ EnableDynamicFieldUpdate }}'
IncludeDeletedRecords: '{{ IncludeDeletedRecords }}'
DataTransferApi: '{{ DataTransferApi }}'
Pardot:
Object: null
ServiceNow:
Object: null
Singular:
Object: null
Slack:
Object: null
Trendmicro:
Object: null
Veeva:
Object: null
DocumentType: '{{ DocumentType }}'
IncludeSourceFiles: '{{ IncludeSourceFiles }}'
IncludeRenditions: '{{ IncludeRenditions }}'
IncludeAllVersions: '{{ IncludeAllVersions }}'
Zendesk:
Object: null
CustomConnector:
EntityName: '{{ EntityName }}'
CustomProperties: {}
DataTransferApi:
Name: '{{ Name }}'
Type: '{{ Type }}'
IncrementalPullConfig:
DatetimeTypeFieldName: '{{ DatetimeTypeFieldName }}'
- name: DestinationFlowConfigList
value:
- ConnectorType: null
ApiVersion: null
ConnectorProfileName: null
DestinationConnectorProperties:
Redshift:
Object: null
IntermediateBucketName: null
BucketPrefix: null
ErrorHandlingConfig:
FailOnFirstError: '{{ FailOnFirstError }}'
BucketPrefix: null
BucketName: null
S3:
BucketName: null
BucketPrefix: null
S3OutputFormatConfig:
FileType: '{{ FileType }}'
PrefixConfig:
PrefixType: '{{ PrefixType }}'
PrefixFormat: '{{ PrefixFormat }}'
PathPrefixHierarchy:
- '{{ PathPrefixHierarchy[0] }}'
AggregationConfig:
AggregationType: '{{ AggregationType }}'
TargetFileSize: '{{ TargetFileSize }}'
PreserveSourceDataTyping: '{{ PreserveSourceDataTyping }}'
Salesforce:
Object: null
ErrorHandlingConfig: null
IdFieldNames:
- '{{ IdFieldNames[0] }}'
WriteOperationType: '{{ WriteOperationType }}'
DataTransferApi: null
Snowflake:
Object: null
IntermediateBucketName: null
BucketPrefix: null
ErrorHandlingConfig: null
EventBridge:
Object: null
ErrorHandlingConfig: null
Upsolver:
BucketName: '{{ BucketName }}'
BucketPrefix: null
S3OutputFormatConfig:
FileType: null
PrefixConfig: null
AggregationConfig: null
LookoutMetrics:
Object: null
Marketo:
Object: null
ErrorHandlingConfig: null
Zendesk:
Object: null
ErrorHandlingConfig: null
IdFieldNames:
- '{{ IdFieldNames[0] }}'
WriteOperationType: null
CustomConnector:
EntityName: null
ErrorHandlingConfig: null
WriteOperationType: null
IdFieldNames:
- '{{ IdFieldNames[0] }}'
CustomProperties: null
SAPOData:
ObjectPath: null
ErrorHandlingConfig: null
SuccessResponseHandlingConfig:
BucketPrefix: null
BucketName: null
IdFieldNames:
- '{{ IdFieldNames[0] }}'
WriteOperationType: null
- name: Tasks
value:
- SourceFields:
- '{{ SourceFields[0] }}'
ConnectorOperator:
Amplitude: '{{ Amplitude }}'
Datadog: '{{ Datadog }}'
Dynatrace: '{{ Dynatrace }}'
GoogleAnalytics: '{{ GoogleAnalytics }}'
InforNexus: '{{ InforNexus }}'
Marketo: '{{ Marketo }}'
S3: '{{ S3 }}'
SAPOData: '{{ SAPOData }}'
Salesforce: '{{ Salesforce }}'
Pardot: '{{ Pardot }}'
ServiceNow: '{{ ServiceNow }}'
Singular: '{{ Singular }}'
Slack: '{{ Slack }}'
Trendmicro: '{{ Trendmicro }}'
Veeva: '{{ Veeva }}'
Zendesk: '{{ Zendesk }}'
CustomConnector: '{{ CustomConnector }}'
DestinationField: '{{ DestinationField }}'
TaskType: '{{ TaskType }}'
TaskProperties:
- Key: '{{ Key }}'
Value: '{{ Value }}'
- name: Tags
value:
- Key: '{{ Key }}'
Value: '{{ Value }}'
- name: MetadataCatalogConfig
value:
GlueDataCatalog:
RoleArn: '{{ RoleArn }}'
DatabaseName: '{{ DatabaseName }}'
TablePrefix: '{{ TablePrefix }}'
DELETE
example
/*+ delete */
DELETE FROM aws.appflow.flows
WHERE data__Identifier = '<FlowName>'
AND region = 'us-east-1';
Permissions
To operate on the flows
resource, the following permissions are required:
Create
appflow:CreateFlow,
appflow:StartFlow,
appflow:TagResource,
appflow:ListTagsForResource,
appflow:UseConnectorProfile,
iam:PassRole,
s3:ListAllMyBuckets,
s3:GetBucketLocation,
s3:GetBucketPolicy,
kms:ListGrants,
kms:ListKeys,
kms:DescribeKey,
kms:ListAliases,
kms:CreateGrant,
secretsmanager:CreateSecret,
secretsmanager:PutResourcePolicy
Read
appflow:DescribeFlow,
appflow:ListTagsForResource
Update
appflow:UpdateFlow,
appflow:StartFlow,
appflow:StopFlow,
appflow:TagResource,
appflow:UntagResource,
appflow:ListTagsForResource,
appflow:UseConnectorProfile,
iam:PassRole,
s3:ListAllMyBuckets,
s3:GetBucketLocation,
s3:GetBucketPolicy,
kms:ListGrants,
secretsmanager:CreateSecret,
secretsmanager:PutResourcePolicy
Delete
appflow:DeleteFlow
List
appflow:ListFlows