NAME
Paws::Appflow::CreateFlow - Arguments for method CreateFlow on Paws::Appflow
DESCRIPTION
This class represents the parameters used for calling the method CreateFlow on the Amazon Appflow service. Use the attributes of this class as arguments to method CreateFlow.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateFlow.
SYNOPSIS
my $appflow = Paws->service('Appflow');
my $CreateFlowResponse = $appflow->CreateFlow(
DestinationFlowConfigList => [
{
ConnectorType => 'Salesforce'
, # values: Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge, LookoutMetrics, Upsolver, Honeycode, CustomerProfiles
DestinationConnectorProperties => {
CustomerProfiles => {
DomainName => 'MyDomainName', # max: 64
ObjectTypeName => 'MyObjectTypeName', # max: 255; OPTIONAL
}, # OPTIONAL
EventBridge => {
Object => 'MyObject', # max: 512
ErrorHandlingConfig => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
FailOnFirstDestinationError => 1, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
Honeycode => {
Object => 'MyObject', # max: 512
ErrorHandlingConfig => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
FailOnFirstDestinationError => 1, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
LookoutMetrics => {
}, # OPTIONAL
Redshift => {
IntermediateBucketName =>
'MyBucketName', # min: 3, max: 63; OPTIONAL
Object => 'MyObject', # max: 512
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
ErrorHandlingConfig => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
FailOnFirstDestinationError => 1, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
S3 => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
S3OutputFormatConfig => {
AggregationConfig => {
AggregationType =>
'None', # values: None, SingleFile; OPTIONAL
}, # OPTIONAL
FileType => 'CSV', # values: CSV, JSON, PARQUET; OPTIONAL
PrefixConfig => {
PrefixFormat =>
'YEAR', # values: YEAR, MONTH, DAY, HOUR, MINUTE; OPTIONAL
PrefixType => 'FILENAME'
, # values: FILENAME, PATH, PATH_AND_FILENAME; OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
Salesforce => {
Object => 'MyObject', # max: 512
ErrorHandlingConfig => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
FailOnFirstDestinationError => 1, # OPTIONAL
}, # OPTIONAL
IdFieldNames => [
'MyName', ... # max: 128
], # max: 1; OPTIONAL
WriteOperationType =>
'INSERT', # values: INSERT, UPSERT, UPDATE; OPTIONAL
}, # OPTIONAL
Snowflake => {
IntermediateBucketName =>
'MyBucketName', # min: 3, max: 63; OPTIONAL
Object => 'MyObject', # max: 512
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
ErrorHandlingConfig => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
FailOnFirstDestinationError => 1, # OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
Upsolver => {
BucketName => 'MyUpsolverBucketName', # min: 16, max: 63
S3OutputFormatConfig => {
PrefixConfig => {
PrefixFormat =>
'YEAR', # values: YEAR, MONTH, DAY, HOUR, MINUTE; OPTIONAL
PrefixType => 'FILENAME'
, # values: FILENAME, PATH, PATH_AND_FILENAME; OPTIONAL
}, # OPTIONAL
AggregationConfig => {
AggregationType =>
'None', # values: None, SingleFile; OPTIONAL
}, # OPTIONAL
FileType => 'CSV', # values: CSV, JSON, PARQUET; OPTIONAL
},
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
}, # OPTIONAL
Zendesk => {
Object => 'MyObject', # max: 512
ErrorHandlingConfig => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
FailOnFirstDestinationError => 1, # OPTIONAL
}, # OPTIONAL
IdFieldNames => [
'MyName', ... # max: 128
], # max: 1; OPTIONAL
WriteOperationType =>
'INSERT', # values: INSERT, UPSERT, UPDATE; OPTIONAL
}, # OPTIONAL
},
ConnectorProfileName => 'MyConnectorProfileName', # max: 256; OPTIONAL
},
...
],
FlowName => 'MyFlowName',
SourceFlowConfig => {
ConnectorType => 'Salesforce'
, # values: Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge, LookoutMetrics, Upsolver, Honeycode, CustomerProfiles
SourceConnectorProperties => {
Amplitude => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Datadog => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Dynatrace => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
GoogleAnalytics => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
InforNexus => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Marketo => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
S3 => {
BucketName => 'MyBucketName', # min: 3, max: 63; OPTIONAL
BucketPrefix => 'MyBucketPrefix', # max: 512; OPTIONAL
}, # OPTIONAL
Salesforce => {
Object => 'MyObject', # max: 512
EnableDynamicFieldUpdate => 1, # OPTIONAL
IncludeDeletedRecords => 1, # OPTIONAL
}, # OPTIONAL
ServiceNow => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Singular => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Slack => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Trendmicro => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Veeva => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
Zendesk => {
Object => 'MyObject', # max: 512
}, # OPTIONAL
},
ConnectorProfileName => 'MyConnectorProfileName', # max: 256; OPTIONAL
IncrementalPullConfig => {
DatetimeTypeFieldName =>
'MyDatetimeTypeFieldName', # max: 256; OPTIONAL
}, # OPTIONAL
},
Tasks => [
{
SourceFields => [
'MyString', ... # max: 2048
],
TaskType => 'Arithmetic'
, # values: Arithmetic, Filter, Map, Map_all, Mask, Merge, Truncate, Validate
ConnectorOperator => {
Amplitude => 'BETWEEN', # values: BETWEEN; OPTIONAL
Datadog => 'PROJECTION'
, # values: PROJECTION, BETWEEN, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Dynatrace => 'PROJECTION'
, # values: PROJECTION, BETWEEN, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
GoogleAnalytics =>
'PROJECTION', # values: PROJECTION, BETWEEN; OPTIONAL
InforNexus => 'PROJECTION'
, # values: PROJECTION, BETWEEN, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Marketo => 'PROJECTION'
, # values: PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
S3 => 'PROJECTION'
, # values: PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Salesforce => 'PROJECTION'
, # values: PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
ServiceNow => 'PROJECTION'
, # values: PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Singular => 'PROJECTION'
, # values: PROJECTION, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Slack => 'PROJECTION'
, # values: PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Trendmicro => 'PROJECTION'
, # values: PROJECTION, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Veeva => 'PROJECTION'
, # values: PROJECTION, LESS_THAN, GREATER_THAN, CONTAINS, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
Zendesk => 'PROJECTION'
, # values: PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP; OPTIONAL
}, # OPTIONAL
DestinationField => 'MyDestinationField', # max: 256; OPTIONAL
TaskProperties => {
'VALUE' => 'MyProperty'
, # key: values: VALUE, VALUES, DATA_TYPE, UPPER_BOUND, LOWER_BOUND, SOURCE_DATA_TYPE, DESTINATION_DATA_TYPE, VALIDATION_ACTION, MASK_VALUE, MASK_LENGTH, TRUNCATE_LENGTH, MATH_OPERATION_FIELDS_ORDER, CONCAT_FORMAT, SUBFIELD_CATEGORY_MAP, EXCLUDE_SOURCE_FIELDS_LIST, value: max: 2048
}, # OPTIONAL
},
...
],
TriggerConfig => {
TriggerType => 'Scheduled', # values: Scheduled, Event, OnDemand
TriggerProperties => {
Scheduled => {
ScheduleExpression => 'MyScheduleExpression', # max: 256
DataPullMode =>
'Incremental', # values: Incremental, Complete; OPTIONAL
FirstExecutionFrom => '1970-01-01T01:00:00', # OPTIONAL
ScheduleEndTime => '1970-01-01T01:00:00', # OPTIONAL
ScheduleOffset => 1, # max: 36000; OPTIONAL
ScheduleStartTime => '1970-01-01T01:00:00', # OPTIONAL
Timezone => 'MyTimezone', # max: 256; OPTIONAL
}, # OPTIONAL
}, # OPTIONAL
},
Description => 'MyFlowDescription', # OPTIONAL
KmsArn => 'MyKMSArn', # OPTIONAL
Tags => {
'MyTagKey' => 'MyTagValue', # key: min: 1, max: 128, value: max: 256
}, # OPTIONAL
);
# Results:
my $FlowArn = $CreateFlowResponse->FlowArn;
my $FlowStatus = $CreateFlowResponse->FlowStatus;
# Returns a L<Paws::Appflow::CreateFlowResponse> object.
Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/appflow/CreateFlow
ATTRIBUTES
Description => Str
A description of the flow you want to create.
REQUIRED DestinationFlowConfigList => ArrayRef[Paws::Appflow::DestinationFlowConfig]
The configuration that controls how Amazon AppFlow places data in the destination connector.
REQUIRED FlowName => Str
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
KmsArn => Str
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. 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.
REQUIRED SourceFlowConfig => Paws::Appflow::SourceFlowConfig
The configuration that controls how Amazon AppFlow retrieves data from the source connector.
Tags => Paws::Appflow::TagMap
The tags used to organize, track, or control access for your flow.
REQUIRED Tasks => ArrayRef[Paws::Appflow::Task]
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
REQUIRED TriggerConfig => Paws::Appflow::TriggerConfig
The trigger settings that determine how and when the flow runs.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateFlow in Paws::Appflow
BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues