SDK for PHP 3.x

Client: Aws\Appflow\AppflowClient
Service ID: appflow
Version: 2020-08-23

This page describes the parameters and results for the operations of the Amazon Appflow (2020-08-23), and shows how to use the Aws\Appflow\AppflowClient object to call the described operations. This documentation is specific to the 2020-08-23 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CancelFlowExecutions ( array $params = [] )
Cancels active runs for a flow.
CreateConnectorProfile ( array $params = [] )
Creates a new connector profile associated with your Amazon Web Services account.
CreateFlow ( array $params = [] )
Enables your application to create a new flow using Amazon AppFlow.
DeleteConnectorProfile ( array $params = [] )
Enables you to delete an existing connector profile.
DeleteFlow ( array $params = [] )
Enables your application to delete an existing flow.
DescribeConnector ( array $params = [] )
Describes the given custom connector registered in your Amazon Web Services account.
DescribeConnectorEntity ( array $params = [] )
Provides details regarding the entity used with the connector, with a description of the data model for each field in that entity.
DescribeConnectorProfiles ( array $params = [] )
Returns a list of connector-profile details matching the provided connector-profile names and connector-types.
DescribeConnectors ( array $params = [] )
Describes the connectors vended by Amazon AppFlow for specified connector types.
DescribeFlow ( array $params = [] )
Provides a description of the specified flow.
DescribeFlowExecutionRecords ( array $params = [] )
Fetches the execution history of the flow.
ListConnectorEntities ( array $params = [] )
Returns the list of available connector entities supported by Amazon AppFlow.
ListConnectors ( array $params = [] )
Returns the list of all registered custom connectors in your Amazon Web Services account.
ListFlows ( array $params = [] )
Lists all of the flows associated with your account.
ListTagsForResource ( array $params = [] )
Retrieves the tags that are associated with a specified flow.
RegisterConnector ( array $params = [] )
Registers a new custom connector with your Amazon Web Services account.
ResetConnectorMetadataCache ( array $params = [] )
Resets metadata about your connector entities that Amazon AppFlow stored in its cache.
StartFlow ( array $params = [] )
Activates an existing flow.
StopFlow ( array $params = [] )
Deactivates the existing flow.
TagResource ( array $params = [] )
Applies a tag to the specified flow.
UnregisterConnector ( array $params = [] )
Unregisters the custom connector registered in your account that matches the connector label provided in the request.
UntagResource ( array $params = [] )
Removes a tag from the specified flow.
UpdateConnectorProfile ( array $params = [] )
Updates a given connector profile associated with your account.
UpdateConnectorRegistration ( array $params = [] )
Updates a custom connector that you've previously registered.
UpdateFlow ( array $params = [] )
Updates an existing flow.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeConnectorProfiles
DescribeConnectors
DescribeFlowExecutionRecords
ListConnectors
ListFlows

Operations

CancelFlowExecutions

$result = $client->cancelFlowExecutions([/* ... */]);
$promise = $client->cancelFlowExecutionsAsync([/* ... */]);

Cancels active runs for a flow.

You can cancel all of the active runs for a flow, or you can cancel specific runs by providing their IDs.

You can cancel a flow run only when the run is in progress. You can't cancel a run that has already completed or failed. You also can't cancel a run that's scheduled to occur but hasn't started yet. To prevent a scheduled run, you can deactivate the flow with the StopFlow action.

You cannot resume a run after you cancel it.

When you send your request, the status for each run becomes CancelStarted. When the cancellation completes, the status becomes Canceled.

When you cancel a run, you still incur charges for any data that the run already processed before the cancellation. If the run had already written some data to the flow destination, then that data remains in the destination. If you configured the flow to use a batch API (such as the Salesforce Bulk API 2.0), then the run will finish reading or writing its entire batch of data after the cancellation. For these operations, the data processing charges for Amazon AppFlow apply. For the pricing information, see Amazon AppFlow pricing.

Parameter Syntax

$result = $client->cancelFlowExecutions([
    'executionIds' => ['<string>', ...],
    'flowName' => '<string>', // REQUIRED
]);

Parameter Details

Members
executionIds
Type: Array of strings

The ID of each active run to cancel. These runs must belong to the flow you specify in your request.

If you omit this parameter, your request ends all active runs that belong to the flow.

flowName
Required: Yes
Type: string

The name of a flow with active runs that you want to cancel.

Result Syntax

[
    'invalidExecutions' => ['<string>', ...],
]

Result Details

Members
invalidExecutions
Type: Array of strings

The IDs of runs that Amazon AppFlow couldn't cancel. These runs might be ineligible for canceling because they haven't started yet or have already completed.

Errors

ValidationException:

The request has invalid or missing parameters.

AccessDeniedException:

AppFlow/Requester has invalid or missing permissions.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ThrottlingException:

API calls have exceeded the maximum allowed API request rate per account and per Region.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

CreateConnectorProfile

$result = $client->createConnectorProfile([/* ... */]);
$promise = $client->createConnectorProfileAsync([/* ... */]);

Creates a new connector profile associated with your Amazon Web Services account. There is a soft quota of 100 connector profiles per Amazon Web Services account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. In each connector profile that you create, you can provide the credentials and properties for only one connector.

Parameter Syntax

$result = $client->createConnectorProfile([
    'clientToken' => '<string>',
    'connectionMode' => 'Public|Private', // REQUIRED
    'connectorLabel' => '<string>',
    'connectorProfileConfig' => [ // REQUIRED
        'connectorProfileCredentials' => [
            'Amplitude' => [
                'apiKey' => '<string>', // REQUIRED
                'secretKey' => '<string>', // REQUIRED
            ],
            'CustomConnector' => [
                'apiKey' => [
                    'apiKey' => '<string>', // REQUIRED
                    'apiSecretKey' => '<string>',
                ],
                'authenticationType' => 'OAUTH2|APIKEY|BASIC|CUSTOM', // REQUIRED
                'basic' => [
                    'password' => '<string>', // REQUIRED
                    'username' => '<string>', // REQUIRED
                ],
                'custom' => [
                    'credentialsMap' => ['<string>', ...],
                    'customAuthenticationType' => '<string>', // REQUIRED
                ],
                'oauth2' => [
                    'accessToken' => '<string>',
                    'clientId' => '<string>',
                    'clientSecret' => '<string>',
                    'oAuthRequest' => [
                        'authCode' => '<string>',
                        'redirectUri' => '<string>',
                    ],
                    'refreshToken' => '<string>',
                ],
            ],
            'Datadog' => [
                'apiKey' => '<string>', // REQUIRED
                'applicationKey' => '<string>', // REQUIRED
            ],
            'Dynatrace' => [
                'apiToken' => '<string>', // REQUIRED
            ],
            'GoogleAnalytics' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'Honeycode' => [
                'accessToken' => '<string>',
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'InforNexus' => [
                'accessKeyId' => '<string>', // REQUIRED
                'datakey' => '<string>', // REQUIRED
                'secretAccessKey' => '<string>', // REQUIRED
                'userId' => '<string>', // REQUIRED
            ],
            'Marketo' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
            ],
            'Pardot' => [
                'accessToken' => '<string>',
                'clientCredentialsArn' => '<string>',
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'Redshift' => [
                'password' => '<string>',
                'username' => '<string>',
            ],
            'SAPOData' => [
                'basicAuthCredentials' => [
                    'password' => '<string>', // REQUIRED
                    'username' => '<string>', // REQUIRED
                ],
                'oAuthCredentials' => [
                    'accessToken' => '<string>',
                    'clientId' => '<string>', // REQUIRED
                    'clientSecret' => '<string>', // REQUIRED
                    'oAuthRequest' => [
                        'authCode' => '<string>',
                        'redirectUri' => '<string>',
                    ],
                    'refreshToken' => '<string>',
                ],
            ],
            'Salesforce' => [
                'accessToken' => '<string>',
                'clientCredentialsArn' => '<string>',
                'jwtToken' => '<string>',
                'oAuth2GrantType' => 'CLIENT_CREDENTIALS|AUTHORIZATION_CODE|JWT_BEARER',
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'ServiceNow' => [
                'oAuth2Credentials' => [
                    'accessToken' => '<string>',
                    'clientId' => '<string>',
                    'clientSecret' => '<string>',
                    'oAuthRequest' => [
                        'authCode' => '<string>',
                        'redirectUri' => '<string>',
                    ],
                    'refreshToken' => '<string>',
                ],
                'password' => '<string>',
                'username' => '<string>',
            ],
            'Singular' => [
                'apiKey' => '<string>', // REQUIRED
            ],
            'Slack' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
            ],
            'Snowflake' => [
                'password' => '<string>', // REQUIRED
                'username' => '<string>', // REQUIRED
            ],
            'Trendmicro' => [
                'apiSecretKey' => '<string>', // REQUIRED
            ],
            'Veeva' => [
                'password' => '<string>', // REQUIRED
                'username' => '<string>', // REQUIRED
            ],
            'Zendesk' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
            ],
        ],
        'connectorProfileProperties' => [ // REQUIRED
            'Amplitude' => [
            ],
            'CustomConnector' => [
                'oAuth2Properties' => [
                    'oAuth2GrantType' => 'CLIENT_CREDENTIALS|AUTHORIZATION_CODE|JWT_BEARER', // REQUIRED
                    'tokenUrl' => '<string>', // REQUIRED
                    'tokenUrlCustomProperties' => ['<string>', ...],
                ],
                'profileProperties' => ['<string>', ...],
            ],
            'Datadog' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Dynatrace' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'GoogleAnalytics' => [
            ],
            'Honeycode' => [
            ],
            'InforNexus' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Marketo' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Pardot' => [
                'businessUnitId' => '<string>',
                'instanceUrl' => '<string>',
                'isSandboxEnvironment' => true || false,
            ],
            'Redshift' => [
                'bucketName' => '<string>', // REQUIRED
                'bucketPrefix' => '<string>',
                'clusterIdentifier' => '<string>',
                'dataApiRoleArn' => '<string>',
                'databaseName' => '<string>',
                'databaseUrl' => '<string>',
                'isRedshiftServerless' => true || false,
                'roleArn' => '<string>', // REQUIRED
                'workgroupName' => '<string>',
            ],
            'SAPOData' => [
                'applicationHostUrl' => '<string>', // REQUIRED
                'applicationServicePath' => '<string>', // REQUIRED
                'clientNumber' => '<string>', // REQUIRED
                'disableSSO' => true || false,
                'logonLanguage' => '<string>',
                'oAuthProperties' => [
                    'authCodeUrl' => '<string>', // REQUIRED
                    'oAuthScopes' => ['<string>', ...], // REQUIRED
                    'tokenUrl' => '<string>', // REQUIRED
                ],
                'portNumber' => <integer>, // REQUIRED
                'privateLinkServiceName' => '<string>',
            ],
            'Salesforce' => [
                'instanceUrl' => '<string>',
                'isSandboxEnvironment' => true || false,
                'usePrivateLinkForMetadataAndAuthorization' => true || false,
            ],
            'ServiceNow' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Singular' => [
            ],
            'Slack' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Snowflake' => [
                'accountName' => '<string>',
                'bucketName' => '<string>', // REQUIRED
                'bucketPrefix' => '<string>',
                'privateLinkServiceName' => '<string>',
                'region' => '<string>',
                'stage' => '<string>', // REQUIRED
                'warehouse' => '<string>', // REQUIRED
            ],
            'Trendmicro' => [
            ],
            'Veeva' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Zendesk' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
        ],
    ],
    'connectorProfileName' => '<string>', // REQUIRED
    'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot', // REQUIRED
    'kmsArn' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your CreateConnectorProfile request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to CreateConnectorProfile. The token is active for 8 hours.

connectionMode
Required: Yes
Type: string

Indicates the connection mode and specifies whether it is public or private. Private flows use Amazon Web Services PrivateLink to route data over Amazon Web Services infrastructure without exposing it to the public internet.

connectorLabel
Type: string

The label of the connector. The label is unique for each ConnectorRegistration in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector type/.

connectorProfileConfig
Required: Yes
Type: ConnectorProfileConfig structure

Defines the connector-specific configuration and credentials.

connectorProfileName
Required: Yes
Type: string

The name of the connector profile. The name is unique for each ConnectorProfile in your Amazon Web Services account.

connectorType
Required: Yes
Type: string

The type of connector, such as Salesforce, Amplitude, and so on.

kmsArn
Type: string

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.

Result Syntax

[
    'connectorProfileArn' => '<string>',
]

Result Details

Members
connectorProfileArn
Type: string

The Amazon Resource Name (ARN) of the connector profile.

Errors

ValidationException:

The request has invalid or missing parameters.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

ServiceQuotaExceededException:

The request would cause a service quota (such as the number of flows) to be exceeded.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

CreateFlow

$result = $client->createFlow([/* ... */]);
$promise = $client->createFlowAsync([/* ... */]);

Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once.

Parameter Syntax

$result = $client->createFlow([
    'clientToken' => '<string>',
    'description' => '<string>',
    'destinationFlowConfigList' => [ // REQUIRED
        [
            'apiVersion' => '<string>',
            'connectorProfileName' => '<string>',
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot', // REQUIRED
            'destinationConnectorProperties' => [ // REQUIRED
                'CustomConnector' => [
                    'customProperties' => ['<string>', ...],
                    'entityName' => '<string>', // REQUIRED
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'CustomerProfiles' => [
                    'domainName' => '<string>', // REQUIRED
                    'objectTypeName' => '<string>',
                ],
                'EventBridge' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>', // REQUIRED
                ],
                'Honeycode' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>', // REQUIRED
                ],
                'LookoutMetrics' => [
                ],
                'Marketo' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>', // REQUIRED
                ],
                'Redshift' => [
                    'bucketPrefix' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'intermediateBucketName' => '<string>', // REQUIRED
                    'object' => '<string>', // REQUIRED
                ],
                'S3' => [
                    'bucketName' => '<string>', // REQUIRED
                    'bucketPrefix' => '<string>',
                    's3OutputFormatConfig' => [
                        'aggregationConfig' => [
                            'aggregationType' => 'None|SingleFile',
                            'targetFileSize' => <integer>,
                        ],
                        'fileType' => 'CSV|JSON|PARQUET',
                        'prefixConfig' => [
                            'pathPrefixHierarchy' => ['<string>', ...],
                            'prefixFormat' => 'YEAR|MONTH|DAY|HOUR|MINUTE',
                            'prefixType' => 'FILENAME|PATH|PATH_AND_FILENAME',
                        ],
                        'preserveSourceDataTyping' => true || false,
                    ],
                ],
                'SAPOData' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'objectPath' => '<string>', // REQUIRED
                    'successResponseHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                    ],
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'Salesforce' => [
                    'dataTransferApi' => 'AUTOMATIC|BULKV2|REST_SYNC',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'object' => '<string>', // REQUIRED
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'Snowflake' => [
                    'bucketPrefix' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'intermediateBucketName' => '<string>', // REQUIRED
                    'object' => '<string>', // REQUIRED
                ],
                'Upsolver' => [
                    'bucketName' => '<string>', // REQUIRED
                    'bucketPrefix' => '<string>',
                    's3OutputFormatConfig' => [ // REQUIRED
                        'aggregationConfig' => [
                            'aggregationType' => 'None|SingleFile',
                            'targetFileSize' => <integer>,
                        ],
                        'fileType' => 'CSV|JSON|PARQUET',
                        'prefixConfig' => [ // REQUIRED
                            'pathPrefixHierarchy' => ['<string>', ...],
                            'prefixFormat' => 'YEAR|MONTH|DAY|HOUR|MINUTE',
                            'prefixType' => 'FILENAME|PATH|PATH_AND_FILENAME',
                        ],
                    ],
                ],
                'Zendesk' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'object' => '<string>', // REQUIRED
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
            ],
        ],
        // ...
    ],
    'flowName' => '<string>', // REQUIRED
    'kmsArn' => '<string>',
    'metadataCatalogConfig' => [
        'glueDataCatalog' => [
            'databaseName' => '<string>', // REQUIRED
            'roleArn' => '<string>', // REQUIRED
            'tablePrefix' => '<string>', // REQUIRED
        ],
    ],
    'sourceFlowConfig' => [ // REQUIRED
        'apiVersion' => '<string>',
        'connectorProfileName' => '<string>',
        'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot', // REQUIRED
        'incrementalPullConfig' => [
            'datetimeTypeFieldName' => '<string>',
        ],
        'sourceConnectorProperties' => [ // REQUIRED
            'Amplitude' => [
                'object' => '<string>', // REQUIRED
            ],
            'CustomConnector' => [
                'customProperties' => ['<string>', ...],
                'dataTransferApi' => [
                    'Name' => '<string>',
                    'Type' => 'SYNC|ASYNC|AUTOMATIC',
                ],
                'entityName' => '<string>', // REQUIRED
            ],
            'Datadog' => [
                'object' => '<string>', // REQUIRED
            ],
            'Dynatrace' => [
                'object' => '<string>', // REQUIRED
            ],
            'GoogleAnalytics' => [
                'object' => '<string>', // REQUIRED
            ],
            'InforNexus' => [
                'object' => '<string>', // REQUIRED
            ],
            'Marketo' => [
                'object' => '<string>', // REQUIRED
            ],
            'Pardot' => [
                'object' => '<string>', // REQUIRED
            ],
            'S3' => [
                'bucketName' => '<string>', // REQUIRED
                'bucketPrefix' => '<string>',
                's3InputFormatConfig' => [
                    's3InputFileType' => 'CSV|JSON',
                ],
            ],
            'SAPOData' => [
                'objectPath' => '<string>',
                'paginationConfig' => [
                    'maxPageSize' => <integer>, // REQUIRED
                ],
                'parallelismConfig' => [
                    'maxParallelism' => <integer>, // REQUIRED
                ],
            ],
            'Salesforce' => [
                'dataTransferApi' => 'AUTOMATIC|BULKV2|REST_SYNC',
                'enableDynamicFieldUpdate' => true || false,
                'includeDeletedRecords' => true || false,
                'object' => '<string>', // REQUIRED
            ],
            'ServiceNow' => [
                'object' => '<string>', // REQUIRED
            ],
            'Singular' => [
                'object' => '<string>', // REQUIRED
            ],
            'Slack' => [
                'object' => '<string>', // REQUIRED
            ],
            'Trendmicro' => [
                'object' => '<string>', // REQUIRED
            ],
            'Veeva' => [
                'documentType' => '<string>',
                'includeAllVersions' => true || false,
                'includeRenditions' => true || false,
                'includeSourceFiles' => true || false,
                'object' => '<string>', // REQUIRED
            ],
            'Zendesk' => [
                'object' => '<string>', // REQUIRED
            ],
        ],
    ],
    'tags' => ['<string>', ...],
    'tasks' => [ // REQUIRED
        [
            'connectorOperator' => [
                'Amplitude' => 'BETWEEN',
                'CustomConnector' => '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',
                'Datadog' => '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',
                'Dynatrace' => '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',
                'GoogleAnalytics' => 'PROJECTION|BETWEEN',
                'InforNexus' => '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',
                'Marketo' => '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',
                'Pardot' => 'PROJECTION|EQUAL_TO|NO_OP|ADDITION|MULTIPLICATION|DIVISION|SUBTRACTION|MASK_ALL|MASK_FIRST_N|MASK_LAST_N|VALIDATE_NON_NULL|VALIDATE_NON_ZERO|VALIDATE_NON_NEGATIVE|VALIDATE_NUMERIC',
                'S3' => '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',
                'SAPOData' => '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',
                'Salesforce' => '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',
                'ServiceNow' => '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',
                'Singular' => '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',
                'Slack' => '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',
                'Trendmicro' => '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',
                'Veeva' => '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',
                'Zendesk' => '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',
            ],
            'destinationField' => '<string>',
            'sourceFields' => ['<string>', ...], // REQUIRED
            'taskProperties' => ['<string>', ...],
            'taskType' => 'Arithmetic|Filter|Map|Map_all|Mask|Merge|Passthrough|Truncate|Validate|Partition', // REQUIRED
        ],
        // ...
    ],
    'triggerConfig' => [ // REQUIRED
        'triggerProperties' => [
            'Scheduled' => [
                'dataPullMode' => 'Incremental|Complete',
                'firstExecutionFrom' => <integer || string || DateTime>,
                'flowErrorDeactivationThreshold' => <integer>,
                'scheduleEndTime' => <integer || string || DateTime>,
                'scheduleExpression' => '<string>', // REQUIRED
                'scheduleOffset' => <integer>,
                'scheduleStartTime' => <integer || string || DateTime>,
                'timezone' => '<string>',
            ],
        ],
        'triggerType' => 'Scheduled|Event|OnDemand', // REQUIRED
    ],
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your CreateFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to CreateFlow. The token is active for 8 hours.

description
Type: string

A description of the flow you want to create.

destinationFlowConfigList
Required: Yes
Type: Array of DestinationFlowConfig structures

The configuration that controls how Amazon AppFlow places data in the destination connector.

flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

kmsArn
Type: string

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.

metadataCatalogConfig
Type: MetadataCatalogConfig structure

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

sourceFlowConfig
Required: Yes
Type: SourceFlowConfig structure

The configuration that controls how Amazon AppFlow retrieves data from the source connector.

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags used to organize, track, or control access for your flow.

tasks
Required: Yes
Type: Array of Task structures

A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.

triggerConfig
Required: Yes
Type: TriggerConfig structure

The trigger settings that determine how and when the flow runs.

Result Syntax

[
    'flowArn' => '<string>',
    'flowStatus' => 'Active|Deprecated|Deleted|Draft|Errored|Suspended',
]

Result Details

Members
flowArn
Type: string

The flow's Amazon Resource Name (ARN).

flowStatus
Type: string

Indicates the current status of the flow.

Errors

ValidationException:

The request has invalid or missing parameters.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ServiceQuotaExceededException:

The request would cause a service quota (such as the number of flows) to be exceeded.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

ConnectorServerException:

An error occurred when retrieving data from the connector endpoint.

AccessDeniedException:

AppFlow/Requester has invalid or missing permissions.

DeleteConnectorProfile

$result = $client->deleteConnectorProfile([/* ... */]);
$promise = $client->deleteConnectorProfileAsync([/* ... */]);

Enables you to delete an existing connector profile.

Parameter Syntax

$result = $client->deleteConnectorProfile([
    'connectorProfileName' => '<string>', // REQUIRED
    'forceDelete' => true || false,
]);

Parameter Details

Members
connectorProfileName
Required: Yes
Type: string

The name of the connector profile. The name is unique for each ConnectorProfile in your account.

forceDelete
Type: boolean

Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

DeleteFlow

$result = $client->deleteFlow([/* ... */]);
$promise = $client->deleteFlowAsync([/* ... */]);

Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time.

Parameter Syntax

$result = $client->deleteFlow([
    'flowName' => '<string>', // REQUIRED
    'forceDelete' => true || false,
]);

Parameter Details

Members
flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

forceDelete
Type: boolean

Indicates whether Amazon AppFlow should delete the flow, even if it is currently in use.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

DescribeConnector

$result = $client->describeConnector([/* ... */]);
$promise = $client->describeConnectorAsync([/* ... */]);

Describes the given custom connector registered in your Amazon Web Services account. This API can be used for custom connectors that are registered in your account and also for Amazon authored connectors.

Parameter Syntax

$result = $client->describeConnector([
    'connectorLabel' => '<string>',
    'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot', // REQUIRED
]);

Parameter Details

Members
connectorLabel
Type: string

The label of the connector. The label is unique for each ConnectorRegistration in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector type/.

connectorType
Required: Yes
Type: string

The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please choose CUSTOMCONNECTOR for Lambda based custom connectors.

Result Syntax

[
    'connectorConfiguration' => [
        'authenticationConfig' => [
            'customAuthConfigs' => [
                [
                    'authParameters' => [
                        [
                            'connectorSuppliedValues' => ['<string>', ...],
                            'description' => '<string>',
                            'isRequired' => true || false,
                            'isSensitiveField' => true || false,
                            'key' => '<string>',
                            'label' => '<string>',
                        ],
                        // ...
                    ],
                    'customAuthenticationType' => '<string>',
                ],
                // ...
            ],
            'isApiKeyAuthSupported' => true || false,
            'isBasicAuthSupported' => true || false,
            'isCustomAuthSupported' => true || false,
            'isOAuth2Supported' => true || false,
            'oAuth2Defaults' => [
                'authCodeUrls' => ['<string>', ...],
                'oauth2CustomProperties' => [
                    [
                        'connectorSuppliedValues' => ['<string>', ...],
                        'description' => '<string>',
                        'isRequired' => true || false,
                        'isSensitiveField' => true || false,
                        'key' => '<string>',
                        'label' => '<string>',
                        'type' => 'TOKEN_URL|AUTH_URL',
                    ],
                    // ...
                ],
                'oauth2GrantTypesSupported' => ['<string>', ...],
                'oauthScopes' => ['<string>', ...],
                'tokenUrls' => ['<string>', ...],
            ],
        ],
        'canUseAsDestination' => true || false,
        'canUseAsSource' => true || false,
        'connectorArn' => '<string>',
        'connectorDescription' => '<string>',
        'connectorLabel' => '<string>',
        'connectorMetadata' => [
            'Amplitude' => [
            ],
            'CustomerProfiles' => [
            ],
            'Datadog' => [
            ],
            'Dynatrace' => [
            ],
            'EventBridge' => [
            ],
            'GoogleAnalytics' => [
                'oAuthScopes' => ['<string>', ...],
            ],
            'Honeycode' => [
                'oAuthScopes' => ['<string>', ...],
            ],
            'InforNexus' => [
            ],
            'Marketo' => [
            ],
            'Pardot' => [
            ],
            'Redshift' => [
            ],
            'S3' => [
            ],
            'SAPOData' => [
            ],
            'Salesforce' => [
                'dataTransferApis' => ['<string>', ...],
                'oAuthScopes' => ['<string>', ...],
                'oauth2GrantTypesSupported' => ['<string>', ...],
            ],
            'ServiceNow' => [
            ],
            'Singular' => [
            ],
            'Slack' => [
                'oAuthScopes' => ['<string>', ...],
            ],
            'Snowflake' => [
                'supportedRegions' => ['<string>', ...],
            ],
            'Trendmicro' => [
            ],
            'Upsolver' => [
            ],
            'Veeva' => [
            ],
            'Zendesk' => [
                'oAuthScopes' => ['<string>', ...],
            ],
        ],
        'connectorModes' => ['<string>', ...],
        'connectorName' => '<string>',
        'connectorOwner' => '<string>',
        'connectorProvisioningConfig' => [
            'lambda' => [
                'lambdaArn' => '<string>',
            ],
        ],
        'connectorProvisioningType' => 'LAMBDA',
        'connectorRuntimeSettings' => [
            [
                'connectorSuppliedValueOptions' => ['<string>', ...],
                'dataType' => '<string>',
                'description' => '<string>',
                'isRequired' => true || false,
                'key' => '<string>',
                'label' => '<string>',
                'scope' => '<string>',
            ],
            // ...
        ],
        'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
        'connectorVersion' => '<string>',
        'isPrivateLinkEnabled' => true || false,
        'isPrivateLinkEndpointUrlRequired' => true || false,
        'logoURL' => '<string>',
        'registeredAt' => <DateTime>,
        'registeredBy' => '<string>',
        'supportedApiVersions' => ['<string>', ...],
        'supportedDataTransferApis' => [
            [
                'Name' => '<string>',
                'Type' => 'SYNC|ASYNC|AUTOMATIC',
            ],
            // ...
        ],
        'supportedDataTransferTypes' => ['<string>', ...],
        'supportedDestinationConnectors' => ['<string>', ...],
        'supportedOperators' => ['<string>', ...],
        'supportedSchedulingFrequencies' => ['<string>', ...],
        'supportedTriggerTypes' => ['<string>', ...],
        'supportedWriteOperations' => ['<string>', ...],
    ],
]

Result Details

Members
connectorConfiguration
Type: ConnectorConfiguration structure

Configuration info of all the connectors that the user requested.

Errors

ValidationException:

The request has invalid or missing parameters.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

DescribeConnectorEntity

$result = $client->describeConnectorEntity([/* ... */]);
$promise = $client->describeConnectorEntityAsync([/* ... */]);

Provides details regarding the entity used with the connector, with a description of the data model for each field in that entity.

Parameter Syntax

$result = $client->describeConnectorEntity([
    'apiVersion' => '<string>',
    'connectorEntityName' => '<string>', // REQUIRED
    'connectorProfileName' => '<string>',
    'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
]);

Parameter Details

Members
apiVersion
Type: string

The version of the API that's used by the connector.

connectorEntityName
Required: Yes
Type: string

The entity name for that connector.

connectorProfileName
Type: string

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account.

connectorType
Type: string

The type of connector application, such as Salesforce, Amplitude, and so on.

Result Syntax

[
    'connectorEntityFields' => [
        [
            'customProperties' => ['<string>', ...],
            'defaultValue' => '<string>',
            'description' => '<string>',
            'destinationProperties' => [
                'isCreatable' => true || false,
                'isDefaultedOnCreate' => true || false,
                'isNullable' => true || false,
                'isUpdatable' => true || false,
                'isUpsertable' => true || false,
                'supportedWriteOperations' => ['<string>', ...],
            ],
            'identifier' => '<string>',
            'isDeprecated' => true || false,
            'isPrimaryKey' => true || false,
            'label' => '<string>',
            'parentIdentifier' => '<string>',
            'sourceProperties' => [
                'isQueryable' => true || false,
                'isRetrievable' => true || false,
                'isTimestampFieldForIncrementalQueries' => true || false,
            ],
            'supportedFieldTypeDetails' => [
                'v1' => [
                    'fieldLengthRange' => [
                        'maximum' => <float>,
                        'minimum' => <float>,
                    ],
                    'fieldType' => '<string>',
                    'fieldValueRange' => [
                        'maximum' => <float>,
                        'minimum' => <float>,
                    ],
                    'filterOperators' => ['<string>', ...],
                    'supportedDateFormat' => '<string>',
                    'supportedValues' => ['<string>', ...],
                    'valueRegexPattern' => '<string>',
                ],
            ],
        ],
        // ...
    ],
]

Result Details

Members
connectorEntityFields
Required: Yes
Type: Array of ConnectorEntityField structures

Describes the fields for that connector entity. For example, for an account entity, the fields would be account name, account ID, and so on.

Errors

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

ConnectorServerException:

An error occurred when retrieving data from the connector endpoint.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

DescribeConnectorProfiles

$result = $client->describeConnectorProfiles([/* ... */]);
$promise = $client->describeConnectorProfilesAsync([/* ... */]);

Returns a list of connector-profile details matching the provided connector-profile names and connector-types. Both input lists are optional, and you can use them to filter the result.

If no names or connector-types are provided, returns all connector profiles in a paginated form. If there is no match, this operation returns an empty list.

Parameter Syntax

$result = $client->describeConnectorProfiles([
    'connectorLabel' => '<string>',
    'connectorProfileNames' => ['<string>', ...],
    'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
connectorLabel
Type: string

The name of the connector. The name is unique for each ConnectorRegistration in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector type/.

connectorProfileNames
Type: Array of strings

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account.

connectorType
Type: string

The type of connector, such as Salesforce, Amplitude, and so on.

maxResults
Type: int

Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations).

nextToken
Type: string

The pagination token for the next page of data.

Result Syntax

[
    'connectorProfileDetails' => [
        [
            'connectionMode' => 'Public|Private',
            'connectorLabel' => '<string>',
            'connectorProfileArn' => '<string>',
            'connectorProfileName' => '<string>',
            'connectorProfileProperties' => [
                'Amplitude' => [
                ],
                'CustomConnector' => [
                    'oAuth2Properties' => [
                        'oAuth2GrantType' => 'CLIENT_CREDENTIALS|AUTHORIZATION_CODE|JWT_BEARER',
                        'tokenUrl' => '<string>',
                        'tokenUrlCustomProperties' => ['<string>', ...],
                    ],
                    'profileProperties' => ['<string>', ...],
                ],
                'Datadog' => [
                    'instanceUrl' => '<string>',
                ],
                'Dynatrace' => [
                    'instanceUrl' => '<string>',
                ],
                'GoogleAnalytics' => [
                ],
                'Honeycode' => [
                ],
                'InforNexus' => [
                    'instanceUrl' => '<string>',
                ],
                'Marketo' => [
                    'instanceUrl' => '<string>',
                ],
                'Pardot' => [
                    'businessUnitId' => '<string>',
                    'instanceUrl' => '<string>',
                    'isSandboxEnvironment' => true || false,
                ],
                'Redshift' => [
                    'bucketName' => '<string>',
                    'bucketPrefix' => '<string>',
                    'clusterIdentifier' => '<string>',
                    'dataApiRoleArn' => '<string>',
                    'databaseName' => '<string>',
                    'databaseUrl' => '<string>',
                    'isRedshiftServerless' => true || false,
                    'roleArn' => '<string>',
                    'workgroupName' => '<string>',
                ],
                'SAPOData' => [
                    'applicationHostUrl' => '<string>',
                    'applicationServicePath' => '<string>',
                    'clientNumber' => '<string>',
                    'disableSSO' => true || false,
                    'logonLanguage' => '<string>',
                    'oAuthProperties' => [
                        'authCodeUrl' => '<string>',
                        'oAuthScopes' => ['<string>', ...],
                        'tokenUrl' => '<string>',
                    ],
                    'portNumber' => <integer>,
                    'privateLinkServiceName' => '<string>',
                ],
                'Salesforce' => [
                    'instanceUrl' => '<string>',
                    'isSandboxEnvironment' => true || false,
                    'usePrivateLinkForMetadataAndAuthorization' => true || false,
                ],
                'ServiceNow' => [
                    'instanceUrl' => '<string>',
                ],
                'Singular' => [
                ],
                'Slack' => [
                    'instanceUrl' => '<string>',
                ],
                'Snowflake' => [
                    'accountName' => '<string>',
                    'bucketName' => '<string>',
                    'bucketPrefix' => '<string>',
                    'privateLinkServiceName' => '<string>',
                    'region' => '<string>',
                    'stage' => '<string>',
                    'warehouse' => '<string>',
                ],
                'Trendmicro' => [
                ],
                'Veeva' => [
                    'instanceUrl' => '<string>',
                ],
                'Zendesk' => [
                    'instanceUrl' => '<string>',
                ],
            ],
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'createdAt' => <DateTime>,
            'credentialsArn' => '<string>',
            'lastUpdatedAt' => <DateTime>,
            'privateConnectionProvisioningState' => [
                'failureCause' => 'CONNECTOR_AUTHENTICATION|CONNECTOR_SERVER|INTERNAL_SERVER|ACCESS_DENIED|VALIDATION',
                'failureMessage' => '<string>',
                'status' => 'FAILED|PENDING|CREATED',
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
connectorProfileDetails
Type: Array of ConnectorProfile structures

Returns information about the connector profiles associated with the flow.

nextToken
Type: string

The pagination token for the next page of data. If nextToken=null, this means that all records have been fetched.

Errors

ValidationException:

The request has invalid or missing parameters.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

DescribeConnectors

$result = $client->describeConnectors([/* ... */]);
$promise = $client->describeConnectorsAsync([/* ... */]);

Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If there are more connectors than can be returned in one page, the response contains a nextToken object, which can be be passed in to the next call to the DescribeConnectors API operation to retrieve the next page.

Parameter Syntax

$result = $client->describeConnectors([
    'connectorTypes' => ['<string>', ...],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
connectorTypes
Type: Array of strings

The type of connector, such as Salesforce, Amplitude, and so on.

maxResults
Type: int

The maximum number of items that should be returned in the result set. The default is 20.

nextToken
Type: string

The pagination token for the next page of data.

Result Syntax

[
    'connectorConfigurations' => [
        '<ConnectorType>' => [
            'authenticationConfig' => [
                'customAuthConfigs' => [
                    [
                        'authParameters' => [
                            [
                                'connectorSuppliedValues' => ['<string>', ...],
                                'description' => '<string>',
                                'isRequired' => true || false,
                                'isSensitiveField' => true || false,
                                'key' => '<string>',
                                'label' => '<string>',
                            ],
                            // ...
                        ],
                        'customAuthenticationType' => '<string>',
                    ],
                    // ...
                ],
                'isApiKeyAuthSupported' => true || false,
                'isBasicAuthSupported' => true || false,
                'isCustomAuthSupported' => true || false,
                'isOAuth2Supported' => true || false,
                'oAuth2Defaults' => [
                    'authCodeUrls' => ['<string>', ...],
                    'oauth2CustomProperties' => [
                        [
                            'connectorSuppliedValues' => ['<string>', ...],
                            'description' => '<string>',
                            'isRequired' => true || false,
                            'isSensitiveField' => true || false,
                            'key' => '<string>',
                            'label' => '<string>',
                            'type' => 'TOKEN_URL|AUTH_URL',
                        ],
                        // ...
                    ],
                    'oauth2GrantTypesSupported' => ['<string>', ...],
                    'oauthScopes' => ['<string>', ...],
                    'tokenUrls' => ['<string>', ...],
                ],
            ],
            'canUseAsDestination' => true || false,
            'canUseAsSource' => true || false,
            'connectorArn' => '<string>',
            'connectorDescription' => '<string>',
            'connectorLabel' => '<string>',
            'connectorMetadata' => [
                'Amplitude' => [
                ],
                'CustomerProfiles' => [
                ],
                'Datadog' => [
                ],
                'Dynatrace' => [
                ],
                'EventBridge' => [
                ],
                'GoogleAnalytics' => [
                    'oAuthScopes' => ['<string>', ...],
                ],
                'Honeycode' => [
                    'oAuthScopes' => ['<string>', ...],
                ],
                'InforNexus' => [
                ],
                'Marketo' => [
                ],
                'Pardot' => [
                ],
                'Redshift' => [
                ],
                'S3' => [
                ],
                'SAPOData' => [
                ],
                'Salesforce' => [
                    'dataTransferApis' => ['<string>', ...],
                    'oAuthScopes' => ['<string>', ...],
                    'oauth2GrantTypesSupported' => ['<string>', ...],
                ],
                'ServiceNow' => [
                ],
                'Singular' => [
                ],
                'Slack' => [
                    'oAuthScopes' => ['<string>', ...],
                ],
                'Snowflake' => [
                    'supportedRegions' => ['<string>', ...],
                ],
                'Trendmicro' => [
                ],
                'Upsolver' => [
                ],
                'Veeva' => [
                ],
                'Zendesk' => [
                    'oAuthScopes' => ['<string>', ...],
                ],
            ],
            'connectorModes' => ['<string>', ...],
            'connectorName' => '<string>',
            'connectorOwner' => '<string>',
            'connectorProvisioningConfig' => [
                'lambda' => [
                    'lambdaArn' => '<string>',
                ],
            ],
            'connectorProvisioningType' => 'LAMBDA',
            'connectorRuntimeSettings' => [
                [
                    'connectorSuppliedValueOptions' => ['<string>', ...],
                    'dataType' => '<string>',
                    'description' => '<string>',
                    'isRequired' => true || false,
                    'key' => '<string>',
                    'label' => '<string>',
                    'scope' => '<string>',
                ],
                // ...
            ],
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'connectorVersion' => '<string>',
            'isPrivateLinkEnabled' => true || false,
            'isPrivateLinkEndpointUrlRequired' => true || false,
            'logoURL' => '<string>',
            'registeredAt' => <DateTime>,
            'registeredBy' => '<string>',
            'supportedApiVersions' => ['<string>', ...],
            'supportedDataTransferApis' => [
                [
                    'Name' => '<string>',
                    'Type' => 'SYNC|ASYNC|AUTOMATIC',
                ],
                // ...
            ],
            'supportedDataTransferTypes' => ['<string>', ...],
            'supportedDestinationConnectors' => ['<string>', ...],
            'supportedOperators' => ['<string>', ...],
            'supportedSchedulingFrequencies' => ['<string>', ...],
            'supportedTriggerTypes' => ['<string>', ...],
            'supportedWriteOperations' => ['<string>', ...],
        ],
        // ...
    ],
    'connectors' => [
        [
            'applicationType' => '<string>',
            'connectorDescription' => '<string>',
            'connectorLabel' => '<string>',
            'connectorModes' => ['<string>', ...],
            'connectorName' => '<string>',
            'connectorOwner' => '<string>',
            'connectorProvisioningType' => 'LAMBDA',
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'connectorVersion' => '<string>',
            'registeredAt' => <DateTime>,
            'registeredBy' => '<string>',
            'supportedDataTransferTypes' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
connectorConfigurations
Type: Associative array of custom strings keys (ConnectorType) to ConnectorConfiguration structures

The configuration that is applied to the connectors used in the flow.

connectors
Type: Array of ConnectorDetail structures

Information about the connectors supported in Amazon AppFlow.

nextToken
Type: string

The pagination token for the next page of data.

Errors

ValidationException:

The request has invalid or missing parameters.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

DescribeFlow

$result = $client->describeFlow([/* ... */]);
$promise = $client->describeFlowAsync([/* ... */]);

Provides a description of the specified flow.

Parameter Syntax

$result = $client->describeFlow([
    'flowName' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

Result Syntax

[
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'description' => '<string>',
    'destinationFlowConfigList' => [
        [
            'apiVersion' => '<string>',
            'connectorProfileName' => '<string>',
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'destinationConnectorProperties' => [
                'CustomConnector' => [
                    'customProperties' => ['<string>', ...],
                    'entityName' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'CustomerProfiles' => [
                    'domainName' => '<string>',
                    'objectTypeName' => '<string>',
                ],
                'EventBridge' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>',
                ],
                'Honeycode' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>',
                ],
                'LookoutMetrics' => [
                ],
                'Marketo' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>',
                ],
                'Redshift' => [
                    'bucketPrefix' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'intermediateBucketName' => '<string>',
                    'object' => '<string>',
                ],
                'S3' => [
                    'bucketName' => '<string>',
                    'bucketPrefix' => '<string>',
                    's3OutputFormatConfig' => [
                        'aggregationConfig' => [
                            'aggregationType' => 'None|SingleFile',
                            'targetFileSize' => <integer>,
                        ],
                        'fileType' => 'CSV|JSON|PARQUET',
                        'prefixConfig' => [
                            'pathPrefixHierarchy' => ['<string>', ...],
                            'prefixFormat' => 'YEAR|MONTH|DAY|HOUR|MINUTE',
                            'prefixType' => 'FILENAME|PATH|PATH_AND_FILENAME',
                        ],
                        'preserveSourceDataTyping' => true || false,
                    ],
                ],
                'SAPOData' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'objectPath' => '<string>',
                    'successResponseHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                    ],
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'Salesforce' => [
                    'dataTransferApi' => 'AUTOMATIC|BULKV2|REST_SYNC',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'object' => '<string>',
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'Snowflake' => [
                    'bucketPrefix' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'intermediateBucketName' => '<string>',
                    'object' => '<string>',
                ],
                'Upsolver' => [
                    'bucketName' => '<string>',
                    'bucketPrefix' => '<string>',
                    's3OutputFormatConfig' => [
                        'aggregationConfig' => [
                            'aggregationType' => 'None|SingleFile',
                            'targetFileSize' => <integer>,
                        ],
                        'fileType' => 'CSV|JSON|PARQUET',
                        'prefixConfig' => [
                            'pathPrefixHierarchy' => ['<string>', ...],
                            'prefixFormat' => 'YEAR|MONTH|DAY|HOUR|MINUTE',
                            'prefixType' => 'FILENAME|PATH|PATH_AND_FILENAME',
                        ],
                    ],
                ],
                'Zendesk' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'object' => '<string>',
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
            ],
        ],
        // ...
    ],
    'flowArn' => '<string>',
    'flowName' => '<string>',
    'flowStatus' => 'Active|Deprecated|Deleted|Draft|Errored|Suspended',
    'flowStatusMessage' => '<string>',
    'kmsArn' => '<string>',
    'lastRunExecutionDetails' => [
        'mostRecentExecutionMessage' => '<string>',
        'mostRecentExecutionStatus' => 'InProgress|Successful|Error|CancelStarted|Canceled',
        'mostRecentExecutionTime' => <DateTime>,
    ],
    'lastRunMetadataCatalogDetails' => [
        [
            'catalogType' => 'GLUE',
            'partitionRegistrationOutput' => [
                'message' => '<string>',
                'result' => '<string>',
                'status' => 'InProgress|Successful|Error|CancelStarted|Canceled',
            ],
            'tableName' => '<string>',
            'tableRegistrationOutput' => [
                'message' => '<string>',
                'result' => '<string>',
                'status' => 'InProgress|Successful|Error|CancelStarted|Canceled',
            ],
        ],
        // ...
    ],
    'lastUpdatedAt' => <DateTime>,
    'lastUpdatedBy' => '<string>',
    'metadataCatalogConfig' => [
        'glueDataCatalog' => [
            'databaseName' => '<string>',
            'roleArn' => '<string>',
            'tablePrefix' => '<string>',
        ],
    ],
    'schemaVersion' => <integer>,
    'sourceFlowConfig' => [
        'apiVersion' => '<string>',
        'connectorProfileName' => '<string>',
        'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
        'incrementalPullConfig' => [
            'datetimeTypeFieldName' => '<string>',
        ],
        'sourceConnectorProperties' => [
            'Amplitude' => [
                'object' => '<string>',
            ],
            'CustomConnector' => [
                'customProperties' => ['<string>', ...],
                'dataTransferApi' => [
                    'Name' => '<string>',
                    'Type' => 'SYNC|ASYNC|AUTOMATIC',
                ],
                'entityName' => '<string>',
            ],
            'Datadog' => [
                'object' => '<string>',
            ],
            'Dynatrace' => [
                'object' => '<string>',
            ],
            'GoogleAnalytics' => [
                'object' => '<string>',
            ],
            'InforNexus' => [
                'object' => '<string>',
            ],
            'Marketo' => [
                'object' => '<string>',
            ],
            'Pardot' => [
                'object' => '<string>',
            ],
            'S3' => [
                'bucketName' => '<string>',
                'bucketPrefix' => '<string>',
                's3InputFormatConfig' => [
                    's3InputFileType' => 'CSV|JSON',
                ],
            ],
            'SAPOData' => [
                'objectPath' => '<string>',
                'paginationConfig' => [
                    'maxPageSize' => <integer>,
                ],
                'parallelismConfig' => [
                    'maxParallelism' => <integer>,
                ],
            ],
            'Salesforce' => [
                'dataTransferApi' => 'AUTOMATIC|BULKV2|REST_SYNC',
                'enableDynamicFieldUpdate' => true || false,
                'includeDeletedRecords' => true || false,
                'object' => '<string>',
            ],
            'ServiceNow' => [
                'object' => '<string>',
            ],
            'Singular' => [
                'object' => '<string>',
            ],
            'Slack' => [
                'object' => '<string>',
            ],
            'Trendmicro' => [
                'object' => '<string>',
            ],
            'Veeva' => [
                'documentType' => '<string>',
                'includeAllVersions' => true || false,
                'includeRenditions' => true || false,
                'includeSourceFiles' => true || false,
                'object' => '<string>',
            ],
            'Zendesk' => [
                'object' => '<string>',
            ],
        ],
    ],
    'tags' => ['<string>', ...],
    'tasks' => [
        [
            'connectorOperator' => [
                'Amplitude' => 'BETWEEN',
                'CustomConnector' => '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',
                'Datadog' => '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',
                'Dynatrace' => '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',
                'GoogleAnalytics' => 'PROJECTION|BETWEEN',
                'InforNexus' => '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',
                'Marketo' => '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',
                'Pardot' => 'PROJECTION|EQUAL_TO|NO_OP|ADDITION|MULTIPLICATION|DIVISION|SUBTRACTION|MASK_ALL|MASK_FIRST_N|MASK_LAST_N|VALIDATE_NON_NULL|VALIDATE_NON_ZERO|VALIDATE_NON_NEGATIVE|VALIDATE_NUMERIC',
                'S3' => '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',
                'SAPOData' => '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',
                'Salesforce' => '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',
                'ServiceNow' => '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',
                'Singular' => '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',
                'Slack' => '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',
                'Trendmicro' => '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',
                'Veeva' => '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',
                'Zendesk' => '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',
            ],
            'destinationField' => '<string>',
            'sourceFields' => ['<string>', ...],
            'taskProperties' => ['<string>', ...],
            'taskType' => 'Arithmetic|Filter|Map|Map_all|Mask|Merge|Passthrough|Truncate|Validate|Partition',
        ],
        // ...
    ],
    'triggerConfig' => [
        'triggerProperties' => [
            'Scheduled' => [
                'dataPullMode' => 'Incremental|Complete',
                'firstExecutionFrom' => <DateTime>,
                'flowErrorDeactivationThreshold' => <integer>,
                'scheduleEndTime' => <DateTime>,
                'scheduleExpression' => '<string>',
                'scheduleOffset' => <integer>,
                'scheduleStartTime' => <DateTime>,
                'timezone' => '<string>',
            ],
        ],
        'triggerType' => 'Scheduled|Event|OnDemand',
    ],
]

Result Details

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies when the flow was created.

createdBy
Type: string

The ARN of the user who created the flow.

description
Type: string

A description of the flow.

destinationFlowConfigList
Type: Array of DestinationFlowConfig structures

The configuration that controls how Amazon AppFlow transfers data to the destination connector.

flowArn
Type: string

The flow's Amazon Resource Name (ARN).

flowName
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

flowStatus
Type: string

Indicates the current status of the flow.

flowStatusMessage
Type: string

Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows.

kmsArn
Type: string

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.

lastRunExecutionDetails
Type: ExecutionDetails structure

Describes the details of the most recent flow run.

lastRunMetadataCatalogDetails
Type: Array of MetadataCatalogDetail structures

Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies when the flow was last updated.

lastUpdatedBy
Type: string

Specifies the user name of the account that performed the most recent update.

metadataCatalogConfig
Type: MetadataCatalogConfig structure

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

schemaVersion
Type: long (int|float)

The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

  • Source-to-destination field mappings

  • Field data types

  • Partition keys

sourceFlowConfig
Type: SourceFlowConfig structure

The configuration that controls how Amazon AppFlow retrieves data from the source connector.

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags used to organize, track, or control access for your flow.

tasks
Type: Array of Task structures

A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.

triggerConfig
Type: TriggerConfig structure

The trigger settings that determine how and when the flow runs.

Errors

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

DescribeFlowExecutionRecords

$result = $client->describeFlowExecutionRecords([/* ... */]);
$promise = $client->describeFlowExecutionRecordsAsync([/* ... */]);

Fetches the execution history of the flow.

Parameter Syntax

$result = $client->describeFlowExecutionRecords([
    'flowName' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

maxResults
Type: int

Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations).

nextToken
Type: string

The pagination token for the next page of data.

Result Syntax

[
    'flowExecutions' => [
        [
            'dataPullEndTime' => <DateTime>,
            'dataPullStartTime' => <DateTime>,
            'executionId' => '<string>',
            'executionResult' => [
                'bytesProcessed' => <integer>,
                'bytesWritten' => <integer>,
                'errorInfo' => [
                    'executionMessage' => '<string>',
                    'putFailuresCount' => <integer>,
                ],
                'maxPageSize' => <integer>,
                'numParallelProcesses' => <integer>,
                'recordsProcessed' => <integer>,
            ],
            'executionStatus' => 'InProgress|Successful|Error|CancelStarted|Canceled',
            'lastUpdatedAt' => <DateTime>,
            'metadataCatalogDetails' => [
                [
                    'catalogType' => 'GLUE',
                    'partitionRegistrationOutput' => [
                        'message' => '<string>',
                        'result' => '<string>',
                        'status' => 'InProgress|Successful|Error|CancelStarted|Canceled',
                    ],
                    'tableName' => '<string>',
                    'tableRegistrationOutput' => [
                        'message' => '<string>',
                        'result' => '<string>',
                        'status' => 'InProgress|Successful|Error|CancelStarted|Canceled',
                    ],
                ],
                // ...
            ],
            'startedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
flowExecutions
Type: Array of ExecutionRecord structures

Returns a list of all instances when this flow was run.

nextToken
Type: string

The pagination token for the next page of data.

Errors

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ListConnectorEntities

$result = $client->listConnectorEntities([/* ... */]);
$promise = $client->listConnectorEntitiesAsync([/* ... */]);

Returns the list of available connector entities supported by Amazon AppFlow. For example, you can query Salesforce for Account and Opportunity entities, or query ServiceNow for the Incident entity.

Parameter Syntax

$result = $client->listConnectorEntities([
    'apiVersion' => '<string>',
    'connectorProfileName' => '<string>',
    'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
    'entitiesPath' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
apiVersion
Type: string

The version of the API that's used by the connector.

connectorProfileName
Type: string

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account, and is used to query the downstream connector.

connectorType
Type: string

The type of connector, such as Salesforce, Amplitude, and so on.

entitiesPath
Type: string

This optional parameter is specific to connector implementation. Some connectors support multiple levels or categories of entities. You can find out the list of roots for such providers by sending a request without the entitiesPath parameter. If the connector supports entities at different roots, this initial request returns the list of roots. Otherwise, this request returns all entities supported by the provider.

maxResults
Type: int

The maximum number of items that the operation returns in the response.

nextToken
Type: string

A token that was provided by your prior ListConnectorEntities operation if the response was too big for the page size. You specify this token to get the next page of results in paginated response.

Result Syntax

[
    'connectorEntityMap' => [
        '<Group>' => [
            [
                'hasNestedEntities' => true || false,
                'label' => '<string>',
                'name' => '<string>',
            ],
            // ...
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
connectorEntityMap
Required: Yes
Type: Associative array of custom strings keys (Group) to ConnectorEntity structuress

The response of ListConnectorEntities lists entities grouped by category. This map's key represents the group name, and its value contains the list of entities belonging to that group.

nextToken
Type: string

A token that you specify in your next ListConnectorEntities operation to get the next page of results in paginated response. The ListConnectorEntities operation provides this token if the response is too big for the page size.

Errors

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

ConnectorServerException:

An error occurred when retrieving data from the connector endpoint.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ListConnectors

$result = $client->listConnectors([/* ... */]);
$promise = $client->listConnectorsAsync([/* ... */]);

Returns the list of all registered custom connectors in your Amazon Web Services account. This API lists only custom connectors registered in this account, not the Amazon Web Services authored connectors.

Parameter Syntax

$result = $client->listConnectors([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations).

nextToken
Type: string

The pagination token for the next page of data.

Result Syntax

[
    'connectors' => [
        [
            'applicationType' => '<string>',
            'connectorDescription' => '<string>',
            'connectorLabel' => '<string>',
            'connectorModes' => ['<string>', ...],
            'connectorName' => '<string>',
            'connectorOwner' => '<string>',
            'connectorProvisioningType' => 'LAMBDA',
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'connectorVersion' => '<string>',
            'registeredAt' => <DateTime>,
            'registeredBy' => '<string>',
            'supportedDataTransferTypes' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
connectors
Type: Array of ConnectorDetail structures

Contains information about the connectors supported by Amazon AppFlow.

nextToken
Type: string

The pagination token for the next page of data. If nextToken=null, this means that all records have been fetched.

Errors

ValidationException:

The request has invalid or missing parameters.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ListFlows

$result = $client->listFlows([/* ... */]);
$promise = $client->listFlowsAsync([/* ... */]);

Lists all of the flows associated with your account.

Parameter Syntax

$result = $client->listFlows([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

Specifies the maximum number of items that should be returned in the result set.

nextToken
Type: string

The pagination token for next page of data.

Result Syntax

[
    'flows' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'description' => '<string>',
            'destinationConnectorLabel' => '<string>',
            'destinationConnectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'flowArn' => '<string>',
            'flowName' => '<string>',
            'flowStatus' => 'Active|Deprecated|Deleted|Draft|Errored|Suspended',
            'lastRunExecutionDetails' => [
                'mostRecentExecutionMessage' => '<string>',
                'mostRecentExecutionStatus' => 'InProgress|Successful|Error|CancelStarted|Canceled',
                'mostRecentExecutionTime' => <DateTime>,
            ],
            'lastUpdatedAt' => <DateTime>,
            'lastUpdatedBy' => '<string>',
            'sourceConnectorLabel' => '<string>',
            'sourceConnectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
            'tags' => ['<string>', ...],
            'triggerType' => 'Scheduled|Event|OnDemand',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
flows
Type: Array of FlowDefinition structures

The list of flows associated with your account.

nextToken
Type: string

The pagination token for next page of data.

Errors

ValidationException:

The request has invalid or missing parameters.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Retrieves the tags that are associated with a specified flow.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the specified flow.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags used to organize, track, or control access for your flow.

Errors

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

RegisterConnector

$result = $client->registerConnector([/* ... */]);
$promise = $client->registerConnectorAsync([/* ... */]);

Registers a new custom connector with your Amazon Web Services account. Before you can register the connector, you must deploy the associated AWS lambda function in your account.

Parameter Syntax

$result = $client->registerConnector([
    'clientToken' => '<string>',
    'connectorLabel' => '<string>',
    'connectorProvisioningConfig' => [
        'lambda' => [
            'lambdaArn' => '<string>', // REQUIRED
        ],
    ],
    'connectorProvisioningType' => 'LAMBDA',
    'description' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your RegisterConnector request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to RegisterConnector. The token is active for 8 hours.

connectorLabel
Type: string

The name of the connector. The name is unique for each ConnectorRegistration in your Amazon Web Services account.

connectorProvisioningConfig
Type: ConnectorProvisioningConfig structure

The provisioning type of the connector. Currently the only supported value is LAMBDA.

connectorProvisioningType
Type: string

The provisioning type of the connector. Currently the only supported value is LAMBDA.

description
Type: string

A description about the connector that's being registered.

Result Syntax

[
    'connectorArn' => '<string>',
]

Result Details

Members
connectorArn
Type: string

The ARN of the connector being registered.

Errors

ValidationException:

The request has invalid or missing parameters.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

AccessDeniedException:

AppFlow/Requester has invalid or missing permissions.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ServiceQuotaExceededException:

The request would cause a service quota (such as the number of flows) to be exceeded.

ThrottlingException:

API calls have exceeded the maximum allowed API request rate per account and per Region.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ConnectorServerException:

An error occurred when retrieving data from the connector endpoint.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

ResetConnectorMetadataCache

$result = $client->resetConnectorMetadataCache([/* ... */]);
$promise = $client->resetConnectorMetadataCacheAsync([/* ... */]);

Resets metadata about your connector entities that Amazon AppFlow stored in its cache. Use this action when you want Amazon AppFlow to return the latest information about the data that you have in a source application.

Amazon AppFlow returns metadata about your entities when you use the ListConnectorEntities or DescribeConnectorEntities actions. Following these actions, Amazon AppFlow caches the metadata to reduce the number of API requests that it must send to the source application. Amazon AppFlow automatically resets the cache once every hour, but you can use this action when you want to get the latest metadata right away.

Parameter Syntax

$result = $client->resetConnectorMetadataCache([
    'apiVersion' => '<string>',
    'connectorEntityName' => '<string>',
    'connectorProfileName' => '<string>',
    'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot',
    'entitiesPath' => '<string>',
]);

Parameter Details

Members
apiVersion
Type: string

The API version that you specified in the connector profile that you’re resetting cached metadata for. You must use this parameter only if the connector supports multiple API versions or if the connector type is CustomConnector.

To look up how many versions a connector supports, use the DescribeConnectors action. In the response, find the value that Amazon AppFlow returns for the connectorVersion parameter.

To look up the connector type, use the DescribeConnectorProfiles action. In the response, find the value that Amazon AppFlow returns for the connectorType parameter.

To look up the API version that you specified in a connector profile, use the DescribeConnectorProfiles action.

connectorEntityName
Type: string

Use this parameter if you want to reset cached metadata about the details for an individual entity.

If you don't include this parameter in your request, Amazon AppFlow only resets cached metadata about entity names, not entity details.

connectorProfileName
Type: string

The name of the connector profile that you want to reset cached metadata for.

You can omit this parameter if you're resetting the cache for any of the following connectors: Amazon Connect, Amazon EventBridge, Amazon Lookout for Metrics, Amazon S3, or Upsolver. If you're resetting the cache for any other connector, you must include this parameter in your request.

connectorType
Type: string

The type of connector to reset cached metadata for.

You must include this parameter in your request if you're resetting the cache for any of the following connectors: Amazon Connect, Amazon EventBridge, Amazon Lookout for Metrics, Amazon S3, or Upsolver. If you're resetting the cache for any other connector, you can omit this parameter from your request.

entitiesPath
Type: string

Use this parameter only if you’re resetting the cached metadata about a nested entity. Only some connectors support nested entities. A nested entity is one that has another entity as a parent. To use this parameter, specify the name of the parent entity.

To look up the parent-child relationship of entities, you can send a ListConnectorEntities request that omits the entitiesPath parameter. Amazon AppFlow will return a list of top-level entities. For each one, it indicates whether the entity has nested entities. Then, in a subsequent ListConnectorEntities request, you can specify a parent entity name for the entitiesPath parameter. Amazon AppFlow will return a list of the child entities for that parent.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

StartFlow

$result = $client->startFlow([/* ... */]);
$promise = $client->startFlowAsync([/* ... */]);

Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow.

Parameter Syntax

$result = $client->startFlow([
    'clientToken' => '<string>',
    'flowName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your StartFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs for flows that run on a schedule or based on an event. However, the error doesn't occur for flows that run on demand. You set the conditions that initiate your flow for the triggerConfig parameter.

If you use a different value for clientToken, Amazon AppFlow considers it a new call to StartFlow. The token is active for 8 hours.

flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

Result Syntax

[
    'executionId' => '<string>',
    'flowArn' => '<string>',
    'flowStatus' => 'Active|Deprecated|Deleted|Draft|Errored|Suspended',
]

Result Details

Members
executionId
Type: string

Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled or event-triggered flows, this value is null.

flowArn
Type: string

The flow's Amazon Resource Name (ARN).

flowStatus
Type: string

Indicates the current status of the flow.

Errors

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ServiceQuotaExceededException:

The request would cause a service quota (such as the number of flows) to be exceeded.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

StopFlow

$result = $client->stopFlow([/* ... */]);
$promise = $client->stopFlowAsync([/* ... */]);

Deactivates the existing flow. For on-demand flows, this operation returns an unsupportedOperationException error message. For schedule and event-triggered flows, this operation deactivates the flow.

Parameter Syntax

$result = $client->stopFlow([
    'flowName' => '<string>', // REQUIRED
]);

Parameter Details

Members
flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

Result Syntax

[
    'flowArn' => '<string>',
    'flowStatus' => 'Active|Deprecated|Deleted|Draft|Errored|Suspended',
]

Result Details

Members
flowArn
Type: string

The flow's Amazon Resource Name (ARN).

flowStatus
Type: string

Indicates the current status of the flow.

Errors

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

UnsupportedOperationException:

The requested operation is not supported for the current flow.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Applies a tag to the specified flow.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the flow that you want to tag.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

The tags used to organize, track, or control access for your flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

UnregisterConnector

$result = $client->unregisterConnector([/* ... */]);
$promise = $client->unregisterConnectorAsync([/* ... */]);

Unregisters the custom connector registered in your account that matches the connector label provided in the request.

Parameter Syntax

$result = $client->unregisterConnector([
    'connectorLabel' => '<string>', // REQUIRED
    'forceDelete' => true || false,
]);

Parameter Details

Members
connectorLabel
Required: Yes
Type: string

The label of the connector. The label is unique for each ConnectorRegistration in your Amazon Web Services account.

forceDelete
Type: boolean

Indicates whether Amazon AppFlow should unregister the connector, even if it is currently in use in one or more connector profiles. The default value is false.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes a tag from the specified flow.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the flow that you want to untag.

tagKeys
Required: Yes
Type: Array of strings

The tag keys associated with the tag that you want to remove from your flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

UpdateConnectorProfile

$result = $client->updateConnectorProfile([/* ... */]);
$promise = $client->updateConnectorProfileAsync([/* ... */]);

Updates a given connector profile associated with your account.

Parameter Syntax

$result = $client->updateConnectorProfile([
    'clientToken' => '<string>',
    'connectionMode' => 'Public|Private', // REQUIRED
    'connectorProfileConfig' => [ // REQUIRED
        'connectorProfileCredentials' => [
            'Amplitude' => [
                'apiKey' => '<string>', // REQUIRED
                'secretKey' => '<string>', // REQUIRED
            ],
            'CustomConnector' => [
                'apiKey' => [
                    'apiKey' => '<string>', // REQUIRED
                    'apiSecretKey' => '<string>',
                ],
                'authenticationType' => 'OAUTH2|APIKEY|BASIC|CUSTOM', // REQUIRED
                'basic' => [
                    'password' => '<string>', // REQUIRED
                    'username' => '<string>', // REQUIRED
                ],
                'custom' => [
                    'credentialsMap' => ['<string>', ...],
                    'customAuthenticationType' => '<string>', // REQUIRED
                ],
                'oauth2' => [
                    'accessToken' => '<string>',
                    'clientId' => '<string>',
                    'clientSecret' => '<string>',
                    'oAuthRequest' => [
                        'authCode' => '<string>',
                        'redirectUri' => '<string>',
                    ],
                    'refreshToken' => '<string>',
                ],
            ],
            'Datadog' => [
                'apiKey' => '<string>', // REQUIRED
                'applicationKey' => '<string>', // REQUIRED
            ],
            'Dynatrace' => [
                'apiToken' => '<string>', // REQUIRED
            ],
            'GoogleAnalytics' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'Honeycode' => [
                'accessToken' => '<string>',
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'InforNexus' => [
                'accessKeyId' => '<string>', // REQUIRED
                'datakey' => '<string>', // REQUIRED
                'secretAccessKey' => '<string>', // REQUIRED
                'userId' => '<string>', // REQUIRED
            ],
            'Marketo' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
            ],
            'Pardot' => [
                'accessToken' => '<string>',
                'clientCredentialsArn' => '<string>',
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'Redshift' => [
                'password' => '<string>',
                'username' => '<string>',
            ],
            'SAPOData' => [
                'basicAuthCredentials' => [
                    'password' => '<string>', // REQUIRED
                    'username' => '<string>', // REQUIRED
                ],
                'oAuthCredentials' => [
                    'accessToken' => '<string>',
                    'clientId' => '<string>', // REQUIRED
                    'clientSecret' => '<string>', // REQUIRED
                    'oAuthRequest' => [
                        'authCode' => '<string>',
                        'redirectUri' => '<string>',
                    ],
                    'refreshToken' => '<string>',
                ],
            ],
            'Salesforce' => [
                'accessToken' => '<string>',
                'clientCredentialsArn' => '<string>',
                'jwtToken' => '<string>',
                'oAuth2GrantType' => 'CLIENT_CREDENTIALS|AUTHORIZATION_CODE|JWT_BEARER',
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
                'refreshToken' => '<string>',
            ],
            'ServiceNow' => [
                'oAuth2Credentials' => [
                    'accessToken' => '<string>',
                    'clientId' => '<string>',
                    'clientSecret' => '<string>',
                    'oAuthRequest' => [
                        'authCode' => '<string>',
                        'redirectUri' => '<string>',
                    ],
                    'refreshToken' => '<string>',
                ],
                'password' => '<string>',
                'username' => '<string>',
            ],
            'Singular' => [
                'apiKey' => '<string>', // REQUIRED
            ],
            'Slack' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
            ],
            'Snowflake' => [
                'password' => '<string>', // REQUIRED
                'username' => '<string>', // REQUIRED
            ],
            'Trendmicro' => [
                'apiSecretKey' => '<string>', // REQUIRED
            ],
            'Veeva' => [
                'password' => '<string>', // REQUIRED
                'username' => '<string>', // REQUIRED
            ],
            'Zendesk' => [
                'accessToken' => '<string>',
                'clientId' => '<string>', // REQUIRED
                'clientSecret' => '<string>', // REQUIRED
                'oAuthRequest' => [
                    'authCode' => '<string>',
                    'redirectUri' => '<string>',
                ],
            ],
        ],
        'connectorProfileProperties' => [ // REQUIRED
            'Amplitude' => [
            ],
            'CustomConnector' => [
                'oAuth2Properties' => [
                    'oAuth2GrantType' => 'CLIENT_CREDENTIALS|AUTHORIZATION_CODE|JWT_BEARER', // REQUIRED
                    'tokenUrl' => '<string>', // REQUIRED
                    'tokenUrlCustomProperties' => ['<string>', ...],
                ],
                'profileProperties' => ['<string>', ...],
            ],
            'Datadog' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Dynatrace' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'GoogleAnalytics' => [
            ],
            'Honeycode' => [
            ],
            'InforNexus' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Marketo' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Pardot' => [
                'businessUnitId' => '<string>',
                'instanceUrl' => '<string>',
                'isSandboxEnvironment' => true || false,
            ],
            'Redshift' => [
                'bucketName' => '<string>', // REQUIRED
                'bucketPrefix' => '<string>',
                'clusterIdentifier' => '<string>',
                'dataApiRoleArn' => '<string>',
                'databaseName' => '<string>',
                'databaseUrl' => '<string>',
                'isRedshiftServerless' => true || false,
                'roleArn' => '<string>', // REQUIRED
                'workgroupName' => '<string>',
            ],
            'SAPOData' => [
                'applicationHostUrl' => '<string>', // REQUIRED
                'applicationServicePath' => '<string>', // REQUIRED
                'clientNumber' => '<string>', // REQUIRED
                'disableSSO' => true || false,
                'logonLanguage' => '<string>',
                'oAuthProperties' => [
                    'authCodeUrl' => '<string>', // REQUIRED
                    'oAuthScopes' => ['<string>', ...], // REQUIRED
                    'tokenUrl' => '<string>', // REQUIRED
                ],
                'portNumber' => <integer>, // REQUIRED
                'privateLinkServiceName' => '<string>',
            ],
            'Salesforce' => [
                'instanceUrl' => '<string>',
                'isSandboxEnvironment' => true || false,
                'usePrivateLinkForMetadataAndAuthorization' => true || false,
            ],
            'ServiceNow' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Singular' => [
            ],
            'Slack' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Snowflake' => [
                'accountName' => '<string>',
                'bucketName' => '<string>', // REQUIRED
                'bucketPrefix' => '<string>',
                'privateLinkServiceName' => '<string>',
                'region' => '<string>',
                'stage' => '<string>', // REQUIRED
                'warehouse' => '<string>', // REQUIRED
            ],
            'Trendmicro' => [
            ],
            'Veeva' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
            'Zendesk' => [
                'instanceUrl' => '<string>', // REQUIRED
            ],
        ],
    ],
    'connectorProfileName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your UpdateConnectorProfile request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to UpdateConnectorProfile. The token is active for 8 hours.

connectionMode
Required: Yes
Type: string

Indicates the connection mode and if it is public or private.

connectorProfileConfig
Required: Yes
Type: ConnectorProfileConfig structure

Defines the connector-specific profile configuration and credentials.

connectorProfileName
Required: Yes
Type: string

The name of the connector profile and is unique for each ConnectorProfile in the Amazon Web Services account.

Result Syntax

[
    'connectorProfileArn' => '<string>',
]

Result Details

Members
connectorProfileArn
Type: string

The Amazon Resource Name (ARN) of the connector profile.

Errors

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

UpdateConnectorRegistration

$result = $client->updateConnectorRegistration([/* ... */]);
$promise = $client->updateConnectorRegistrationAsync([/* ... */]);

Updates a custom connector that you've previously registered. This operation updates the connector with one of the following:

  • The latest version of the AWS Lambda function that's assigned to the connector

  • A new AWS Lambda function that you specify

Parameter Syntax

$result = $client->updateConnectorRegistration([
    'clientToken' => '<string>',
    'connectorLabel' => '<string>', // REQUIRED
    'connectorProvisioningConfig' => [
        'lambda' => [
            'lambdaArn' => '<string>', // REQUIRED
        ],
    ],
    'description' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your UpdateConnectorRegistration request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to UpdateConnectorRegistration. The token is active for 8 hours.

connectorLabel
Required: Yes
Type: string

The name of the connector. The name is unique for each connector registration in your AWS account.

connectorProvisioningConfig
Type: ConnectorProvisioningConfig structure

Contains information about the configuration of the connector being registered.

description
Type: string

A description about the update that you're applying to the connector.

Result Syntax

[
    'connectorArn' => '<string>',
]

Result Details

Members
connectorArn
Type: string

The ARN of the connector being updated.

Errors

ValidationException:

The request has invalid or missing parameters.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

AccessDeniedException:

AppFlow/Requester has invalid or missing permissions.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ServiceQuotaExceededException:

The request would cause a service quota (such as the number of flows) to be exceeded.

ThrottlingException:

API calls have exceeded the maximum allowed API request rate per account and per Region.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

ConnectorServerException:

An error occurred when retrieving data from the connector endpoint.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

UpdateFlow

$result = $client->updateFlow([/* ... */]);
$promise = $client->updateFlowAsync([/* ... */]);

Updates an existing flow.

Parameter Syntax

$result = $client->updateFlow([
    'clientToken' => '<string>',
    'description' => '<string>',
    'destinationFlowConfigList' => [ // REQUIRED
        [
            'apiVersion' => '<string>',
            'connectorProfileName' => '<string>',
            'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot', // REQUIRED
            'destinationConnectorProperties' => [ // REQUIRED
                'CustomConnector' => [
                    'customProperties' => ['<string>', ...],
                    'entityName' => '<string>', // REQUIRED
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'CustomerProfiles' => [
                    'domainName' => '<string>', // REQUIRED
                    'objectTypeName' => '<string>',
                ],
                'EventBridge' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>', // REQUIRED
                ],
                'Honeycode' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>', // REQUIRED
                ],
                'LookoutMetrics' => [
                ],
                'Marketo' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'object' => '<string>', // REQUIRED
                ],
                'Redshift' => [
                    'bucketPrefix' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'intermediateBucketName' => '<string>', // REQUIRED
                    'object' => '<string>', // REQUIRED
                ],
                'S3' => [
                    'bucketName' => '<string>', // REQUIRED
                    'bucketPrefix' => '<string>',
                    's3OutputFormatConfig' => [
                        'aggregationConfig' => [
                            'aggregationType' => 'None|SingleFile',
                            'targetFileSize' => <integer>,
                        ],
                        'fileType' => 'CSV|JSON|PARQUET',
                        'prefixConfig' => [
                            'pathPrefixHierarchy' => ['<string>', ...],
                            'prefixFormat' => 'YEAR|MONTH|DAY|HOUR|MINUTE',
                            'prefixType' => 'FILENAME|PATH|PATH_AND_FILENAME',
                        ],
                        'preserveSourceDataTyping' => true || false,
                    ],
                ],
                'SAPOData' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'objectPath' => '<string>', // REQUIRED
                    'successResponseHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                    ],
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'Salesforce' => [
                    'dataTransferApi' => 'AUTOMATIC|BULKV2|REST_SYNC',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'object' => '<string>', // REQUIRED
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
                'Snowflake' => [
                    'bucketPrefix' => '<string>',
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'intermediateBucketName' => '<string>', // REQUIRED
                    'object' => '<string>', // REQUIRED
                ],
                'Upsolver' => [
                    'bucketName' => '<string>', // REQUIRED
                    'bucketPrefix' => '<string>',
                    's3OutputFormatConfig' => [ // REQUIRED
                        'aggregationConfig' => [
                            'aggregationType' => 'None|SingleFile',
                            'targetFileSize' => <integer>,
                        ],
                        'fileType' => 'CSV|JSON|PARQUET',
                        'prefixConfig' => [ // REQUIRED
                            'pathPrefixHierarchy' => ['<string>', ...],
                            'prefixFormat' => 'YEAR|MONTH|DAY|HOUR|MINUTE',
                            'prefixType' => 'FILENAME|PATH|PATH_AND_FILENAME',
                        ],
                    ],
                ],
                'Zendesk' => [
                    'errorHandlingConfig' => [
                        'bucketName' => '<string>',
                        'bucketPrefix' => '<string>',
                        'failOnFirstDestinationError' => true || false,
                    ],
                    'idFieldNames' => ['<string>', ...],
                    'object' => '<string>', // REQUIRED
                    'writeOperationType' => 'INSERT|UPSERT|UPDATE|DELETE',
                ],
            ],
        ],
        // ...
    ],
    'flowName' => '<string>', // REQUIRED
    'metadataCatalogConfig' => [
        'glueDataCatalog' => [
            'databaseName' => '<string>', // REQUIRED
            'roleArn' => '<string>', // REQUIRED
            'tablePrefix' => '<string>', // REQUIRED
        ],
    ],
    'sourceFlowConfig' => [ // REQUIRED
        'apiVersion' => '<string>',
        'connectorProfileName' => '<string>',
        'connectorType' => 'Salesforce|Singular|Slack|Redshift|S3|Marketo|Googleanalytics|Zendesk|Servicenow|Datadog|Trendmicro|Snowflake|Dynatrace|Infornexus|Amplitude|Veeva|EventBridge|LookoutMetrics|Upsolver|Honeycode|CustomerProfiles|SAPOData|CustomConnector|Pardot', // REQUIRED
        'incrementalPullConfig' => [
            'datetimeTypeFieldName' => '<string>',
        ],
        'sourceConnectorProperties' => [ // REQUIRED
            'Amplitude' => [
                'object' => '<string>', // REQUIRED
            ],
            'CustomConnector' => [
                'customProperties' => ['<string>', ...],
                'dataTransferApi' => [
                    'Name' => '<string>',
                    'Type' => 'SYNC|ASYNC|AUTOMATIC',
                ],
                'entityName' => '<string>', // REQUIRED
            ],
            'Datadog' => [
                'object' => '<string>', // REQUIRED
            ],
            'Dynatrace' => [
                'object' => '<string>', // REQUIRED
            ],
            'GoogleAnalytics' => [
                'object' => '<string>', // REQUIRED
            ],
            'InforNexus' => [
                'object' => '<string>', // REQUIRED
            ],
            'Marketo' => [
                'object' => '<string>', // REQUIRED
            ],
            'Pardot' => [
                'object' => '<string>', // REQUIRED
            ],
            'S3' => [
                'bucketName' => '<string>', // REQUIRED
                'bucketPrefix' => '<string>',
                's3InputFormatConfig' => [
                    's3InputFileType' => 'CSV|JSON',
                ],
            ],
            'SAPOData' => [
                'objectPath' => '<string>',
                'paginationConfig' => [
                    'maxPageSize' => <integer>, // REQUIRED
                ],
                'parallelismConfig' => [
                    'maxParallelism' => <integer>, // REQUIRED
                ],
            ],
            'Salesforce' => [
                'dataTransferApi' => 'AUTOMATIC|BULKV2|REST_SYNC',
                'enableDynamicFieldUpdate' => true || false,
                'includeDeletedRecords' => true || false,
                'object' => '<string>', // REQUIRED
            ],
            'ServiceNow' => [
                'object' => '<string>', // REQUIRED
            ],
            'Singular' => [
                'object' => '<string>', // REQUIRED
            ],
            'Slack' => [
                'object' => '<string>', // REQUIRED
            ],
            'Trendmicro' => [
                'object' => '<string>', // REQUIRED
            ],
            'Veeva' => [
                'documentType' => '<string>',
                'includeAllVersions' => true || false,
                'includeRenditions' => true || false,
                'includeSourceFiles' => true || false,
                'object' => '<string>', // REQUIRED
            ],
            'Zendesk' => [
                'object' => '<string>', // REQUIRED
            ],
        ],
    ],
    'tasks' => [ // REQUIRED
        [
            'connectorOperator' => [
                'Amplitude' => 'BETWEEN',
                'CustomConnector' => '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',
                'Datadog' => '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',
                'Dynatrace' => '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',
                'GoogleAnalytics' => 'PROJECTION|BETWEEN',
                'InforNexus' => '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',
                'Marketo' => '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',
                'Pardot' => 'PROJECTION|EQUAL_TO|NO_OP|ADDITION|MULTIPLICATION|DIVISION|SUBTRACTION|MASK_ALL|MASK_FIRST_N|MASK_LAST_N|VALIDATE_NON_NULL|VALIDATE_NON_ZERO|VALIDATE_NON_NEGATIVE|VALIDATE_NUMERIC',
                'S3' => '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',
                'SAPOData' => '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',
                'Salesforce' => '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',
                'ServiceNow' => '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',
                'Singular' => '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',
                'Slack' => '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',
                'Trendmicro' => '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',
                'Veeva' => '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',
                'Zendesk' => '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',
            ],
            'destinationField' => '<string>',
            'sourceFields' => ['<string>', ...], // REQUIRED
            'taskProperties' => ['<string>', ...],
            'taskType' => 'Arithmetic|Filter|Map|Map_all|Mask|Merge|Passthrough|Truncate|Validate|Partition', // REQUIRED
        ],
        // ...
    ],
    'triggerConfig' => [ // REQUIRED
        'triggerProperties' => [
            'Scheduled' => [
                'dataPullMode' => 'Incremental|Complete',
                'firstExecutionFrom' => <integer || string || DateTime>,
                'flowErrorDeactivationThreshold' => <integer>,
                'scheduleEndTime' => <integer || string || DateTime>,
                'scheduleExpression' => '<string>', // REQUIRED
                'scheduleOffset' => <integer>,
                'scheduleStartTime' => <integer || string || DateTime>,
                'timezone' => '<string>',
            ],
        ],
        'triggerType' => 'Scheduled|Event|OnDemand', // REQUIRED
    ],
]);

Parameter Details

Members
clientToken
Type: string

The clientToken parameter is an idempotency token. It ensures that your UpdateFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to UpdateFlow. The token is active for 8 hours.

description
Type: string

A description of the flow.

destinationFlowConfigList
Required: Yes
Type: Array of DestinationFlowConfig structures

The configuration that controls how Amazon AppFlow transfers data to the destination connector.

flowName
Required: Yes
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

metadataCatalogConfig
Type: MetadataCatalogConfig structure

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

sourceFlowConfig
Required: Yes
Type: SourceFlowConfig structure

Contains information about the configuration of the source connector used in the flow.

tasks
Required: Yes
Type: Array of Task structures

A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.

triggerConfig
Required: Yes
Type: TriggerConfig structure

The trigger settings that determine how and when the flow runs.

Result Syntax

[
    'flowStatus' => 'Active|Deprecated|Deleted|Draft|Errored|Suspended',
]

Result Details

Members
flowStatus
Type: string

Indicates the current status of the flow.

Errors

ValidationException:

The request has invalid or missing parameters.

ResourceNotFoundException:

The resource specified in the request (such as the source or destination connector profile) is not found.

ServiceQuotaExceededException:

The request would cause a service quota (such as the number of flows) to be exceeded.

ConflictException:

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

ConnectorAuthenticationException:

An error occurred when authenticating with the connector endpoint.

ConnectorServerException:

An error occurred when retrieving data from the connector endpoint.

InternalServerException:

An internal service error occurred during the processing of your request. Try again later.

AccessDeniedException:

AppFlow/Requester has invalid or missing permissions.

Shapes

AccessDeniedException

Description

AppFlow/Requester has invalid or missing permissions.

Members
message
Type: string

AggregationConfig

Description

The aggregation settings that you can use to customize the output format of your flow data.

Members
aggregationType
Type: string

Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.

targetFileSize
Type: long (int|float)

The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.

AmplitudeConnectorProfileCredentials

Description

The connector-specific credentials required when using Amplitude.

Members
apiKey
Required: Yes
Type: string

A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

secretKey
Required: Yes
Type: string

The Secret Access Key portion of the credentials.

AmplitudeConnectorProfileProperties

Description

The connector-specific profile properties required when using Amplitude.

Members

AmplitudeMetadata

Description

The connector metadata specific to Amplitude.

Members

AmplitudeSourceProperties

Description

The properties that are applied when Amplitude is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Amplitude flow source.

ApiKeyCredentials

Description

The API key credentials required for API key authentication.

Members
apiKey
Required: Yes
Type: string

The API key required for API key authentication.

apiSecretKey
Type: string

The API secret key required for API key authentication.

AuthParameter

Description

Information about required authentication parameters.

Members
connectorSuppliedValues
Type: Array of strings

Contains default values for this authentication parameter that are supplied by the connector.

description
Type: string

A description about the authentication parameter.

isRequired
Type: boolean

Indicates whether this authentication parameter is required.

isSensitiveField
Type: boolean

Indicates whether this authentication parameter is a sensitive field.

key
Type: string

The authentication key required to authenticate with the connector.

label
Type: string

Label used for authentication parameter.

AuthenticationConfig

Description

Contains information about the authentication config that the connector supports.

Members
customAuthConfigs
Type: Array of CustomAuthConfig structures

Contains information required for custom authentication.

isApiKeyAuthSupported
Type: boolean

Indicates whether API key authentication is supported by the connector

isBasicAuthSupported
Type: boolean

Indicates whether basic authentication is supported by the connector.

isCustomAuthSupported
Type: boolean

Indicates whether custom authentication is supported by the connector

isOAuth2Supported
Type: boolean

Indicates whether OAuth 2.0 authentication is supported by the connector.

oAuth2Defaults
Type: OAuth2Defaults structure

Contains the default values required for OAuth 2.0 authentication.

BasicAuthCredentials

Description

The basic auth credentials required for basic authentication.

Members
password
Required: Yes
Type: string

The password to use to connect to a resource.

username
Required: Yes
Type: string

The username to use to connect to a resource.

ConflictException

Description

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

Members
message
Type: string

ConnectorAuthenticationException

Description

An error occurred when authenticating with the connector endpoint.

Members
message
Type: string

ConnectorConfiguration

Description

The configuration settings related to a given connector.

Members
authenticationConfig
Type: AuthenticationConfig structure

The authentication config required for the connector.

canUseAsDestination
Type: boolean

Specifies whether the connector can be used as a destination.

canUseAsSource
Type: boolean

Specifies whether the connector can be used as a source.

connectorArn
Type: string

The Amazon Resource Name (ARN) for the registered connector.

connectorDescription
Type: string

A description about the connector.

connectorLabel
Type: string

The label used for registering the connector.

connectorMetadata
Type: ConnectorMetadata structure

Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on.

connectorModes
Type: Array of strings

The connection modes that the connector supports.

connectorName
Type: string

The connector name.

connectorOwner
Type: string

The owner who developed the connector.

connectorProvisioningConfig
Type: ConnectorProvisioningConfig structure

The configuration required for registering the connector.

connectorProvisioningType
Type: string

The provisioning type used to register the connector.

connectorRuntimeSettings
Type: Array of ConnectorRuntimeSetting structures

The required connector runtime settings.

connectorType
Type: string

The connector type.

connectorVersion
Type: string

The connector version.

isPrivateLinkEnabled
Type: boolean

Specifies if PrivateLink is enabled for that connector.

isPrivateLinkEndpointUrlRequired
Type: boolean

Specifies if a PrivateLink endpoint URL is required.

logoURL
Type: string

Logo URL of the connector.

registeredAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date on which the connector was registered.

registeredBy
Type: string

Information about who registered the connector.

supportedApiVersions
Type: Array of strings

A list of API versions that are supported by the connector.

supportedDataTransferApis
Type: Array of DataTransferApi structures

The APIs of the connector application that Amazon AppFlow can use to transfer your data.

supportedDataTransferTypes
Type: Array of strings

The data transfer types that the connector supports.

RECORD

Structured records.

FILE

Files or binary data.

supportedDestinationConnectors
Type: Array of strings

Lists the connectors that are available for use as destinations.

supportedOperators
Type: Array of strings

A list of operators supported by the connector.

supportedSchedulingFrequencies
Type: Array of strings

Specifies the supported flow frequency for that connector.

supportedTriggerTypes
Type: Array of strings

Specifies the supported trigger types for the flow.

supportedWriteOperations
Type: Array of strings

A list of write operations supported by the connector.

ConnectorDetail

Description

Information about the registered connector.

Members
applicationType
Type: string

The application type of the connector.

connectorDescription
Type: string

A description about the registered connector.

connectorLabel
Type: string

A label used for the connector.

connectorModes
Type: Array of strings

The connection mode that the connector supports.

connectorName
Type: string

The name of the connector.

connectorOwner
Type: string

The owner of the connector.

connectorProvisioningType
Type: string

The provisioning type that the connector uses.

connectorType
Type: string

The connector type.

connectorVersion
Type: string

The connector version.

registeredAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the connector was registered.

registeredBy
Type: string

The user who registered the connector.

supportedDataTransferTypes
Type: Array of strings

The data transfer types that the connector supports.

RECORD

Structured records.

FILE

Files or binary data.

ConnectorEntity

Description

The high-level entity that can be queried in Amazon AppFlow. For example, a Salesforce entity might be an Account or Opportunity, whereas a ServiceNow entity might be an Incident.

Members
hasNestedEntities
Type: boolean

Specifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = "the_current_entity_name_with_hasNestedEntities_true", then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion.

label
Type: string

The label applied to the connector entity.

name
Required: Yes
Type: string

The name of the connector entity.

ConnectorEntityField

Description

Describes the data model of a connector field. For example, for an account entity, the fields would be account name, account ID, and so on.

Members
customProperties
Type: Associative array of custom strings keys (CustomPropertyKey) to strings

A map that has specific properties related to the ConnectorEntityField.

defaultValue
Type: string

Default value that can be assigned to this field.

description
Type: string

A description of the connector entity field.

destinationProperties
Type: DestinationFieldProperties structure

The properties applied to a field when the connector is being used as a destination.

identifier
Required: Yes
Type: string

The unique identifier of the connector field.

isDeprecated
Type: boolean

Booelan value that indicates whether this field is deprecated or not.

isPrimaryKey
Type: boolean

Booelan value that indicates whether this field can be used as a primary key.

label
Type: string

The label applied to a connector entity field.

parentIdentifier
Type: string

The parent identifier of the connector field.

sourceProperties
Type: SourceFieldProperties structure

The properties that can be applied to a field when the connector is being used as a source.

supportedFieldTypeDetails
Type: SupportedFieldTypeDetails structure

Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues.

ConnectorMetadata

Description

A structure to specify connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on.

Members
Amplitude
Type: AmplitudeMetadata structure

The connector metadata specific to Amplitude.

CustomerProfiles
Type: CustomerProfilesMetadata structure

The connector metadata specific to Amazon Connect Customer Profiles.

Datadog
Type: DatadogMetadata structure

The connector metadata specific to Datadog.

Dynatrace
Type: DynatraceMetadata structure

The connector metadata specific to Dynatrace.

EventBridge
Type: EventBridgeMetadata structure

The connector metadata specific to Amazon EventBridge.

GoogleAnalytics
Type: GoogleAnalyticsMetadata structure

The connector metadata specific to Google Analytics.

Honeycode
Type: HoneycodeMetadata structure

The connector metadata specific to Amazon Honeycode.

InforNexus
Type: InforNexusMetadata structure

The connector metadata specific to Infor Nexus.

Marketo
Type: MarketoMetadata structure

The connector metadata specific to Marketo.

Pardot
Type: PardotMetadata structure

The connector metadata specific to Salesforce Pardot.

Redshift
Type: RedshiftMetadata structure

The connector metadata specific to Amazon Redshift.

S3
Type: S3Metadata structure

The connector metadata specific to Amazon S3.

SAPOData
Type: SAPODataMetadata structure

The connector metadata specific to SAPOData.

Salesforce
Type: SalesforceMetadata structure

The connector metadata specific to Salesforce.

ServiceNow
Type: ServiceNowMetadata structure

The connector metadata specific to ServiceNow.

Singular
Type: SingularMetadata structure

The connector metadata specific to Singular.

Slack
Type: SlackMetadata structure

The connector metadata specific to Slack.

Snowflake
Type: SnowflakeMetadata structure

The connector metadata specific to Snowflake.

Trendmicro
Type: TrendmicroMetadata structure

The connector metadata specific to Trend Micro.

Upsolver
Type: UpsolverMetadata structure

The connector metadata specific to Upsolver.

Veeva
Type: VeevaMetadata structure

The connector metadata specific to Veeva.

Zendesk
Type: ZendeskMetadata structure

The connector metadata specific to Zendesk.

ConnectorOAuthRequest

Description

Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

Members
authCode
Type: string

The code provided by the connector when it has been authenticated via the connected app.

redirectUri
Type: string

The URL to which the authentication server redirects the browser after authorization has been granted.

ConnectorOperator

Description

The operation to be performed on the provided source fields.

Members
Amplitude
Type: string

The operation to be performed on the provided Amplitude source fields.

CustomConnector
Type: string

Operators supported by the custom connector.

Datadog
Type: string

The operation to be performed on the provided Datadog source fields.

Dynatrace
Type: string

The operation to be performed on the provided Dynatrace source fields.

GoogleAnalytics
Type: string

The operation to be performed on the provided Google Analytics source fields.

InforNexus
Type: string

The operation to be performed on the provided Infor Nexus source fields.

Marketo
Type: string

The operation to be performed on the provided Marketo source fields.

Pardot
Type: string

The operation to be performed on the provided Salesforce Pardot source fields.

S3
Type: string

The operation to be performed on the provided Amazon S3 source fields.

SAPOData
Type: string

The operation to be performed on the provided SAPOData source fields.

Salesforce
Type: string

The operation to be performed on the provided Salesforce source fields.

ServiceNow
Type: string

The operation to be performed on the provided ServiceNow source fields.

Singular
Type: string

The operation to be performed on the provided Singular source fields.

Slack
Type: string

The operation to be performed on the provided Slack source fields.

Trendmicro
Type: string

The operation to be performed on the provided Trend Micro source fields.

Veeva
Type: string

The operation to be performed on the provided Veeva source fields.

Zendesk
Type: string

The operation to be performed on the provided Zendesk source fields.

ConnectorProfile

Description

Describes an instance of a connector. This includes the provided name, credentials ARN, connection-mode, and so on. To keep the API intuitive and extensible, the fields that are common to all types of connector profiles are explicitly specified at the top level. The rest of the connector-specific properties are available via the connectorProfileProperties field.

Members
connectionMode
Type: string

Indicates the connection mode and if it is public or private.

connectorLabel
Type: string

The label for the connector profile being created.

connectorProfileArn
Type: string

The Amazon Resource Name (ARN) of the connector profile.

connectorProfileName
Type: string

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account.

connectorProfileProperties
Type: ConnectorProfileProperties structure

The connector-specific properties of the profile configuration.

connectorType
Type: string

The type of connector, such as Salesforce, Amplitude, and so on.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies when the connector profile was created.

credentialsArn
Type: string

The Amazon Resource Name (ARN) of the connector profile credentials.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies when the connector profile was last updated.

privateConnectionProvisioningState

Specifies the private connection provisioning state.

ConnectorProfileConfig

Description

Defines the connector-specific configuration and credentials for the connector profile.

Members
connectorProfileCredentials
Type: ConnectorProfileCredentials structure

The connector-specific credentials required by each connector.

connectorProfileProperties
Required: Yes
Type: ConnectorProfileProperties structure

The connector-specific properties of the profile configuration.

ConnectorProfileCredentials

Description

The connector-specific credentials required by a connector.

Members
Amplitude

The connector-specific credentials required when using Amplitude.

CustomConnector

The connector-specific profile credentials that are required when using the custom connector.

Datadog

The connector-specific credentials required when using Datadog.

Dynatrace

The connector-specific credentials required when using Dynatrace.

GoogleAnalytics

The connector-specific credentials required when using Google Analytics.

Honeycode

The connector-specific credentials required when using Amazon Honeycode.

InforNexus

The connector-specific credentials required when using Infor Nexus.

Marketo

The connector-specific credentials required when using Marketo.

Pardot

The connector-specific credentials required when using Salesforce Pardot.

Redshift

The connector-specific credentials required when using Amazon Redshift.

SAPOData

The connector-specific profile credentials required when using SAPOData.

Salesforce

The connector-specific credentials required when using Salesforce.

ServiceNow

The connector-specific credentials required when using ServiceNow.

Singular

The connector-specific credentials required when using Singular.

Slack

The connector-specific credentials required when using Slack.

Snowflake

The connector-specific credentials required when using Snowflake.

Trendmicro

The connector-specific credentials required when using Trend Micro.

Veeva

The connector-specific credentials required when using Veeva.

Zendesk

The connector-specific credentials required when using Zendesk.

ConnectorProfileProperties

Description

The connector-specific profile properties required by each connector.

Members
Amplitude

The connector-specific properties required by Amplitude.

CustomConnector

The properties required by the custom connector.

Datadog

The connector-specific properties required by Datadog.

Dynatrace

The connector-specific properties required by Dynatrace.

GoogleAnalytics

The connector-specific properties required Google Analytics.

Honeycode

The connector-specific properties required by Amazon Honeycode.

InforNexus

The connector-specific properties required by Infor Nexus.

Marketo

The connector-specific properties required by Marketo.

Pardot

The connector-specific properties required by Salesforce Pardot.

Redshift

The connector-specific properties required by Amazon Redshift.

SAPOData

The connector-specific profile properties required when using SAPOData.

Salesforce

The connector-specific properties required by Salesforce.

ServiceNow

The connector-specific properties required by serviceNow.

Singular

The connector-specific properties required by Singular.

Slack

The connector-specific properties required by Slack.

Snowflake

The connector-specific properties required by Snowflake.

Trendmicro

The connector-specific properties required by Trend Micro.

Veeva

The connector-specific properties required by Veeva.

Zendesk

The connector-specific properties required by Zendesk.

ConnectorProvisioningConfig

Description

Contains information about the configuration of the connector being registered.

Members
lambda

Contains information about the configuration of the lambda which is being registered as the connector.

ConnectorRuntimeSetting

Description

Contains information about the connector runtime settings that are required for flow execution.

Members
connectorSuppliedValueOptions
Type: Array of strings

Contains default values for the connector runtime setting that are supplied by the connector.

dataType
Type: string

Data type of the connector runtime setting.

description
Type: string

A description about the connector runtime setting.

isRequired
Type: boolean

Indicates whether this connector runtime setting is required.

key
Type: string

Contains value information about the connector runtime setting.

label
Type: string

A label used for connector runtime setting.

scope
Type: string

Indicates the scope of the connector runtime setting.

ConnectorServerException

Description

An error occurred when retrieving data from the connector endpoint.

Members
message
Type: string

CustomAuthConfig

Description

Configuration information required for custom authentication.

Members
authParameters
Type: Array of AuthParameter structures

Information about authentication parameters required for authentication.

customAuthenticationType
Type: string

The authentication type that the custom connector uses.

CustomAuthCredentials

Description

The custom credentials required for custom authentication.

Members
credentialsMap
Type: Associative array of custom strings keys (CredentialsMapKey) to strings

A map that holds custom authentication credentials.

customAuthenticationType
Required: Yes
Type: string

The custom authentication type that the connector uses.

CustomConnectorDestinationProperties

Description

The properties that are applied when the custom connector is being used as a destination.

Members
customProperties
Type: Associative array of custom strings keys (CustomPropertyKey) to strings

The custom properties that are specific to the connector when it's used as a destination in the flow.

entityName
Required: Yes
Type: string

The entity specified in the custom connector as a destination in the flow.

errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.

idFieldNames
Type: Array of strings

The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.

writeOperationType
Type: string

Specifies the type of write operation to be performed in the custom connector when it's used as destination.

CustomConnectorProfileCredentials

Description

The connector-specific profile credentials that are required when using the custom connector.

Members
apiKey
Type: ApiKeyCredentials structure

The API keys required for the authentication of the user.

authenticationType
Required: Yes
Type: string

The authentication type that the custom connector uses for authenticating while creating a connector profile.

basic
Type: BasicAuthCredentials structure

The basic credentials that are required for the authentication of the user.

custom
Type: CustomAuthCredentials structure

If the connector uses the custom authentication mechanism, this holds the required credentials.

oauth2
Type: OAuth2Credentials structure

The OAuth 2.0 credentials required for the authentication of the user.

CustomConnectorProfileProperties

Description

The profile properties required by the custom connector.

Members
oAuth2Properties
Type: OAuth2Properties structure

The OAuth 2.0 properties required for OAuth 2.0 authentication.

profileProperties
Type: Associative array of custom strings keys (ProfilePropertyKey) to strings

A map of properties that are required to create a profile for the custom connector.

CustomConnectorSourceProperties

Description

The properties that are applied when the custom connector is being used as a source.

Members
customProperties
Type: Associative array of custom strings keys (CustomPropertyKey) to strings

Custom properties that are required to use the custom connector as a source.

dataTransferApi
Type: DataTransferApi structure

The API of the connector application that Amazon AppFlow uses to transfer your data.

entityName
Required: Yes
Type: string

The entity specified in the custom connector as a source in the flow.

CustomerProfilesDestinationProperties

Description

The properties that are applied when Amazon Connect Customer Profiles is used as a destination.

Members
domainName
Required: Yes
Type: string

The unique name of the Amazon Connect Customer Profiles domain.

objectTypeName
Type: string

The object specified in the Amazon Connect Customer Profiles flow destination.

CustomerProfilesMetadata

Description

The connector metadata specific to Amazon Connect Customer Profiles.

Members

DataTransferApi

Description

The API of the connector application that Amazon AppFlow uses to transfer your data.

Members
Name
Type: string

The name of the connector application API.

Type
Type: string

You can specify one of the following types:

AUTOMATIC

The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.

SYNC

A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.

ASYNC

An asynchronous API. This type of API optimizes a flow for large datasets.

DatadogConnectorProfileCredentials

Description

The connector-specific credentials required by Datadog.

Members
apiKey
Required: Yes
Type: string

A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

applicationKey
Required: Yes
Type: string

Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.

DatadogConnectorProfileProperties

Description

The connector-specific profile properties required by Datadog.

Members
instanceUrl
Required: Yes
Type: string

The location of the Datadog resource.

DatadogMetadata

Description

The connector metadata specific to Datadog.

Members

DatadogSourceProperties

Description

The properties that are applied when Datadog is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Datadog flow source.

DestinationConnectorProperties

Description

This stores the information that is required to query a particular connector.

Members
CustomConnector

The properties that are required to query the custom Connector.

CustomerProfiles

The properties required to query Amazon Connect Customer Profiles.

EventBridge

The properties required to query Amazon EventBridge.

Honeycode

The properties required to query Amazon Honeycode.

LookoutMetrics

The properties required to query Amazon Lookout for Metrics.

Marketo

The properties required to query Marketo.

Redshift

The properties required to query Amazon Redshift.

S3
Type: S3DestinationProperties structure

The properties required to query Amazon S3.

SAPOData

The properties required to query SAPOData.

Salesforce

The properties required to query Salesforce.

Snowflake

The properties required to query Snowflake.

Upsolver

The properties required to query Upsolver.

Zendesk

The properties required to query Zendesk.

DestinationFieldProperties

Description

The properties that can be applied to a field when connector is being used as a destination.

Members
isCreatable
Type: boolean

Specifies if the destination field can be created by the current user.

isDefaultedOnCreate
Type: boolean

Specifies whether the field can use the default value during a Create operation.

isNullable
Type: boolean

Specifies if the destination field can have a null value.

isUpdatable
Type: boolean

Specifies whether the field can be updated during an UPDATE or UPSERT write operation.

isUpsertable
Type: boolean

Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do.

supportedWriteOperations
Type: Array of strings

A list of supported write operations. For each write operation listed, this field can be used in idFieldNames when that write operation is present as a destination option.

DestinationFlowConfig

Description

Contains information about the configuration of destination connectors present in the flow.

Members
apiVersion
Type: string

The API version that the destination connector uses.

connectorProfileName
Type: string

The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

connectorType
Required: Yes
Type: string

The type of connector, such as Salesforce, Amplitude, and so on.

destinationConnectorProperties
Required: Yes
Type: DestinationConnectorProperties structure

This stores the information that is required to query a particular connector.

DynatraceConnectorProfileCredentials

Description

The connector-specific profile credentials required by Dynatrace.

Members
apiToken
Required: Yes
Type: string

The API tokens used by Dynatrace API to authenticate various API calls.

DynatraceConnectorProfileProperties

Description

The connector-specific profile properties required by Dynatrace.

Members
instanceUrl
Required: Yes
Type: string

The location of the Dynatrace resource.

DynatraceMetadata

Description

The connector metadata specific to Dynatrace.

Members

DynatraceSourceProperties

Description

The properties that are applied when Dynatrace is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Dynatrace flow source.

ErrorHandlingConfig

Description

The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

Members
bucketName
Type: string

Specifies the name of the Amazon S3 bucket.

bucketPrefix
Type: string

Specifies the Amazon S3 bucket prefix.

failOnFirstDestinationError
Type: boolean

Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

ErrorInfo

Description

Provides details in the event of a failed flow, including the failure count and the related error messages.

Members
executionMessage
Type: string

Specifies the error message that appears if a flow fails.

putFailuresCount
Type: long (int|float)

Specifies the failure count for the attempted flow.

EventBridgeDestinationProperties

Description

The properties that are applied when Amazon EventBridge is being used as a destination.

Members
errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

object
Required: Yes
Type: string

The object specified in the Amazon EventBridge flow destination.

EventBridgeMetadata

Description

The connector metadata specific to Amazon EventBridge.

Members

ExecutionDetails

Description

Describes the details of the flow run, including the timestamp, status, and message.

Members
mostRecentExecutionMessage
Type: string

Describes the details of the most recent flow run.

mostRecentExecutionStatus
Type: string

Specifies the status of the most recent flow run.

mostRecentExecutionTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies the time of the most recent flow run.

ExecutionRecord

Description

Specifies information about the past flow run instances for a given flow.

Members
dataPullEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp that indicates the last new or updated record to be transferred in the flow run.

dataPullStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp that determines the first new or updated record to be transferred in the flow run.

executionId
Type: string

Specifies the identifier of the given flow run.

executionResult
Type: ExecutionResult structure

Describes the result of the given flow run.

executionStatus
Type: string

Specifies the flow run status and whether it is in progress, has completed successfully, or has failed.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies the time of the most recent update.

metadataCatalogDetails
Type: Array of MetadataCatalogDetail structures

Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.

startedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies the start time of the flow run.

ExecutionResult

Description

Specifies the end result of the flow run.

Members
bytesProcessed
Type: long (int|float)

The total number of bytes processed by the flow run.

bytesWritten
Type: long (int|float)

The total number of bytes written as a result of the flow run.

errorInfo
Type: ErrorInfo structure

Provides any error message information related to the flow run.

maxPageSize
Type: long (int|float)

The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application.

numParallelProcesses
Type: long (int|float)

The number of processes that Amazon AppFlow ran at the same time when it retrieved your data.

recordsProcessed
Type: long (int|float)

The number of records processed in the flow run.

FieldTypeDetails

Description

Contains details regarding the supported field type and the operators that can be applied for filtering.

Members
fieldLengthRange
Type: Range structure

This is the allowable length range for this field's value.

fieldType
Required: Yes
Type: string

The type of field, such as string, integer, date, and so on.

fieldValueRange
Type: Range structure

The range of values this field can hold.

filterOperators
Required: Yes
Type: Array of strings

The list of operators supported by a field.

supportedDateFormat
Type: string

The date format that the field supports.

supportedValues
Type: Array of strings

The list of values that a field can contain. For example, a Boolean fieldType can have two values: "true" and "false".

valueRegexPattern
Type: string

The regular expression pattern for the field name.

FlowDefinition

Description

The properties of the flow, such as its source, destination, trigger type, and so on.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies when the flow was created.

createdBy
Type: string

The ARN of the user who created the flow.

description
Type: string

A user-entered description of the flow.

destinationConnectorLabel
Type: string

The label of the destination connector in the flow.

destinationConnectorType
Type: string

Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on.

flowArn
Type: string

The flow's Amazon Resource Name (ARN).

flowName
Type: string

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

flowStatus
Type: string

Indicates the current status of the flow.

lastRunExecutionDetails
Type: ExecutionDetails structure

Describes the details of the most recent flow run.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies when the flow was last updated.

lastUpdatedBy
Type: string

Specifies the account user name that most recently updated the flow.

sourceConnectorLabel
Type: string

The label of the source connector in the flow.

sourceConnectorType
Type: string

Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on.

tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags used to organize, track, or control access for your flow.

triggerType
Type: string

Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.

GlueDataCatalogConfig

Description

Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog. When Amazon AppFlow catalogs your data, it stores metadata in Data Catalog tables. This metadata represents the data that's transferred by the flow that you configure with these settings.

You can configure a flow with these settings only when the flow destination is Amazon S3.

Members
databaseName
Required: Yes
Type: string

The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.

When you configure a new flow with this parameter, you must specify an existing database.

roleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.

For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.

tablePrefix
Required: Yes
Type: string

A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.

GoogleAnalyticsConnectorProfileCredentials

Description

The connector-specific profile credentials required by Google Analytics.

Members
accessToken
Type: string

The credentials used to access protected Google Analytics resources.

clientId
Required: Yes
Type: string

The identifier for the desired client.

clientSecret
Required: Yes
Type: string

The client secret used by the OAuth client to authenticate to the authorization server.

oAuthRequest
Type: ConnectorOAuthRequest structure

The OAuth requirement needed to request security tokens from the connector endpoint.

refreshToken
Type: string

The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.

GoogleAnalyticsConnectorProfileProperties

Description

The connector-specific profile properties required by Google Analytics.

Members

GoogleAnalyticsMetadata

Description

The connector metadata specific to Google Analytics.

Members
oAuthScopes
Type: Array of strings

The desired authorization scope for the Google Analytics account.

GoogleAnalyticsSourceProperties

Description

The properties that are applied when Google Analytics is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Google Analytics flow source.

HoneycodeConnectorProfileCredentials

Description

The connector-specific credentials required when using Amazon Honeycode.

Members
accessToken
Type: string

The credentials used to access protected Amazon Honeycode resources.

oAuthRequest
Type: ConnectorOAuthRequest structure

Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

refreshToken
Type: string

The credentials used to acquire new access tokens.

HoneycodeConnectorProfileProperties

Description

The connector-specific properties required when using Amazon Honeycode.

Members

HoneycodeDestinationProperties

Description

The properties that are applied when Amazon Honeycode is used as a destination.

Members
errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

object
Required: Yes
Type: string

The object specified in the Amazon Honeycode flow destination.

HoneycodeMetadata

Description

The connector metadata specific to Amazon Honeycode.

Members
oAuthScopes
Type: Array of strings

The desired authorization scope for the Amazon Honeycode account.

IncrementalPullConfig

Description

Specifies the configuration used when importing incremental records from the source.

Members
datetimeTypeFieldName
Type: string

A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.

InforNexusConnectorProfileCredentials

Description

The connector-specific profile credentials required by Infor Nexus.

Members
accessKeyId
Required: Yes
Type: string

The Access Key portion of the credentials.

datakey
Required: Yes
Type: string

The encryption keys used to encrypt data.

secretAccessKey
Required: Yes
Type: string

The secret key used to sign requests.

userId
Required: Yes
Type: string

The identifier for the user.

InforNexusConnectorProfileProperties

Description

The connector-specific profile properties required by Infor Nexus.

Members
instanceUrl
Required: Yes
Type: string

The location of the Infor Nexus resource.

InforNexusMetadata

Description

The connector metadata specific to Infor Nexus.

Members

InforNexusSourceProperties

Description

The properties that are applied when Infor Nexus is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Infor Nexus flow source.

InternalServerException

Description

An internal service error occurred during the processing of your request. Try again later.

Members
message
Type: string

LambdaConnectorProvisioningConfig

Description

Contains information about the configuration of the lambda which is being registered as the connector.

Members
lambdaArn
Required: Yes
Type: string

Lambda ARN of the connector being registered.

LookoutMetricsDestinationProperties

Description

The properties that are applied when Amazon Lookout for Metrics is used as a destination.

Members

MarketoConnectorProfileCredentials

Description

The connector-specific profile credentials required by Marketo.

Members
accessToken
Type: string

The credentials used to access protected Marketo resources.

clientId
Required: Yes
Type: string

The identifier for the desired client.

clientSecret
Required: Yes
Type: string

The client secret used by the OAuth client to authenticate to the authorization server.

oAuthRequest
Type: ConnectorOAuthRequest structure

The OAuth requirement needed to request security tokens from the connector endpoint.

MarketoConnectorProfileProperties

Description

The connector-specific profile properties required when using Marketo.

Members
instanceUrl
Required: Yes
Type: string

The location of the Marketo resource.

MarketoDestinationProperties

Description

The properties that Amazon AppFlow applies when you use Marketo as a flow destination.

Members
errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

object
Required: Yes
Type: string

The object specified in the Marketo flow destination.

MarketoMetadata

Description

The connector metadata specific to Marketo.

Members

MarketoSourceProperties

Description

The properties that are applied when Marketo is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Marketo flow source.

MetadataCatalogConfig

Description

Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.

Members
glueDataCatalog
Type: GlueDataCatalogConfig structure

Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.

MetadataCatalogDetail

Description

Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.

Members
catalogType
Type: string

The type of metadata catalog that Amazon AppFlow used for the associated flow run. This parameter returns the following value:

GLUE

The metadata catalog is provided by the Glue Data Catalog. Glue includes the Glue Data Catalog as a component.

partitionRegistrationOutput
Type: RegistrationOutput structure

Describes the status of the attempt from Amazon AppFlow to register the data partitions with the metadata catalog. The data partitions organize the flow output into a hierarchical path, such as a folder path in an S3 bucket. Amazon AppFlow creates the partitions (if they don't already exist) based on your flow configuration.

tableName
Type: string

The name of the table that stores the metadata for the associated flow run. The table stores metadata that represents the data that the flow transferred. Amazon AppFlow stores the table in the metadata catalog.

tableRegistrationOutput
Type: RegistrationOutput structure

Describes the status of the attempt from Amazon AppFlow to register the metadata table with the metadata catalog. Amazon AppFlow creates or updates this table for the associated flow run.

OAuth2Credentials

Description

The OAuth 2.0 credentials required for OAuth 2.0 authentication.

Members
accessToken
Type: string

The access token used to access the connector on your behalf.

clientId
Type: string

The identifier for the desired client.

clientSecret
Type: string

The client secret used by the OAuth client to authenticate to the authorization server.

oAuthRequest
Type: ConnectorOAuthRequest structure

Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

refreshToken
Type: string

The refresh token used to refresh an expired access token.

OAuth2CustomParameter

Description

Custom parameter required for OAuth 2.0 authentication.

Members
connectorSuppliedValues
Type: Array of strings

Contains default values for this authentication parameter that are supplied by the connector.

description
Type: string

A description about the custom parameter used for OAuth 2.0 authentication.

isRequired
Type: boolean

Indicates whether the custom parameter for OAuth 2.0 authentication is required.

isSensitiveField
Type: boolean

Indicates whether this authentication custom parameter is a sensitive field.

key
Type: string

The key of the custom parameter required for OAuth 2.0 authentication.

label
Type: string

The label of the custom parameter used for OAuth 2.0 authentication.

type
Type: string

Indicates whether custom parameter is used with TokenUrl or AuthUrl.

OAuth2Defaults

Description

Contains the default values required for OAuth 2.0 authentication.

Members
authCodeUrls
Type: Array of strings

Auth code URLs that can be used for OAuth 2.0 authentication.

oauth2CustomProperties
Type: Array of OAuth2CustomParameter structures

List of custom parameters required for OAuth 2.0 authentication.

oauth2GrantTypesSupported
Type: Array of strings

OAuth 2.0 grant types supported by the connector.

oauthScopes
Type: Array of strings

OAuth 2.0 scopes that the connector supports.

tokenUrls
Type: Array of strings

Token URLs that can be used for OAuth 2.0 authentication.

OAuth2Properties

Description

The OAuth 2.0 properties required for OAuth 2.0 authentication.

Members
oAuth2GrantType
Required: Yes
Type: string

The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.

tokenUrl
Required: Yes
Type: string

The token URL required for OAuth 2.0 authentication.

tokenUrlCustomProperties
Type: Associative array of custom strings keys (CustomPropertyKey) to strings

Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.

OAuthCredentials

Description

The OAuth credentials required for OAuth type authentication.

Members
accessToken
Type: string

The access token used to access protected SAPOData resources.

clientId
Required: Yes
Type: string

The identifier for the desired client.

clientSecret
Required: Yes
Type: string

The client secret used by the OAuth client to authenticate to the authorization server.

oAuthRequest
Type: ConnectorOAuthRequest structure

The OAuth requirement needed to request security tokens from the connector endpoint.

refreshToken
Type: string

The refresh token used to refresh expired access token.

OAuthProperties

Description

The OAuth properties required for OAuth type authentication.

Members
authCodeUrl
Required: Yes
Type: string

The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.

oAuthScopes
Required: Yes
Type: Array of strings

The OAuth scopes required for OAuth type authentication.

tokenUrl
Required: Yes
Type: string

The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.

PardotConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Salesforce Pardot.

Members
accessToken
Type: string

The credentials used to access protected Salesforce Pardot resources.

clientCredentialsArn
Type: string

The secret manager ARN, which contains the client ID and client secret of the connected app.

oAuthRequest
Type: ConnectorOAuthRequest structure

Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

refreshToken
Type: string

The credentials used to acquire new access tokens.

PardotConnectorProfileProperties

Description

The connector-specific profile properties required when using Salesforce Pardot.

Members
businessUnitId
Type: string

The business unit id of Salesforce Pardot instance.

instanceUrl
Type: string

The location of the Salesforce Pardot resource.

isSandboxEnvironment
Type: boolean

Indicates whether the connector profile applies to a sandbox or production environment.

PardotMetadata

Description

The connector metadata specific to Salesforce Pardot.

Members

PardotSourceProperties

Description

The properties that are applied when Salesforce Pardot is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Salesforce Pardot flow source.

PrefixConfig

Description

Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.

Members
pathPrefixHierarchy
Type: Array of strings

Specifies whether the destination file path includes either or both of the following elements:

EXECUTION_ID

The ID that Amazon AppFlow assigns to the flow run.

SCHEMA_VERSION

The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

  • Source-to-destination field mappings

  • Field data types

  • Partition keys

prefixFormat
Type: string

Determines the level of granularity for the date and time that's included in the prefix.

prefixType
Type: string

Determines the format of the prefix, and whether it applies to the file name, file path, or both.

PrivateConnectionProvisioningState

Description

Specifies the private connection provisioning state.

Members
failureCause
Type: string

Specifies the private connection provisioning failure cause.

failureMessage
Type: string

Specifies the private connection provisioning failure reason.

status
Type: string

Specifies the private connection provisioning status.

Range

Description

The range of values that the property supports.

Members
maximum
Type: double

Maximum value supported by the field.

minimum
Type: double

Minimum value supported by the field.

RedshiftConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Amazon Redshift.

Members
password
Type: string

The password that corresponds to the user name.

username
Type: string

The name of the user.

RedshiftConnectorProfileProperties

Description

The connector-specific profile properties when using Amazon Redshift.

Members
bucketName
Required: Yes
Type: string

A name for the associated Amazon S3 bucket.

bucketPrefix
Type: string

The object key for the destination bucket in which Amazon AppFlow places the files.

clusterIdentifier
Type: string

The unique ID that's assigned to an Amazon Redshift cluster.

dataApiRoleArn
Type: string

The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see Allow Amazon AppFlow to access Amazon Redshift databases with the Data API.

databaseName
Type: string

The name of an Amazon Redshift database.

databaseUrl
Type: string

The JDBC URL of the Amazon Redshift cluster.

isRedshiftServerless
Type: boolean

Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.

roleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3.

workgroupName
Type: string

The name of an Amazon Redshift workgroup.

RedshiftDestinationProperties

Description

The properties that are applied when Amazon Redshift is being used as a destination.

Members
bucketPrefix
Type: string

The object key for the bucket in which Amazon AppFlow places the destination files.

errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

intermediateBucketName
Required: Yes
Type: string

The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.

object
Required: Yes
Type: string

The object specified in the Amazon Redshift flow destination.

RedshiftMetadata

Description

The connector metadata specific to Amazon Redshift.

Members

RegistrationOutput

Description

Describes the status of an attempt from Amazon AppFlow to register a resource.

When you run a flow that you've configured to use a metadata catalog, Amazon AppFlow registers a metadata table and data partitions with that catalog. This operation provides the status of that registration attempt. The operation also indicates how many related resources Amazon AppFlow created or updated.

Members
message
Type: string

Explains the status of the registration attempt from Amazon AppFlow. If the attempt fails, the message explains why.

result
Type: string

Indicates the number of resources that Amazon AppFlow created or updated. Possible resources include metadata tables and data partitions.

status
Type: string

Indicates the status of the registration attempt from Amazon AppFlow.

ResourceNotFoundException

Description

The resource specified in the request (such as the source or destination connector profile) is not found.

Members
message
Type: string

S3DestinationProperties

Description

The properties that are applied when Amazon S3 is used as a destination.

Members
bucketName
Required: Yes
Type: string

The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.

bucketPrefix
Type: string

The object key for the destination bucket in which Amazon AppFlow places the files.

s3OutputFormatConfig
Type: S3OutputFormatConfig structure

The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.

S3InputFormatConfig

Description

When you use Amazon S3 as the source, the configuration format that you provide the flow input data.

Members
s3InputFileType
Type: string

The file type that Amazon AppFlow gets from your Amazon S3 bucket.

S3Metadata

Description

The connector metadata specific to Amazon S3.

Members

S3OutputFormatConfig

Description

The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.

Members
aggregationConfig
Type: AggregationConfig structure

The aggregation settings that you can use to customize the output format of your flow data.

fileType
Type: string

Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.

prefixConfig
Type: PrefixConfig structure

Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.

preserveSourceDataTyping
Type: boolean

If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.

  • true: Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.

  • false: Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.

S3SourceProperties

Description

The properties that are applied when Amazon S3 is being used as the flow source.

Members
bucketName
Required: Yes
Type: string

The Amazon S3 bucket name where the source files are stored.

bucketPrefix
Type: string

The object key for the Amazon S3 bucket in which the source files are stored.

s3InputFormatConfig
Type: S3InputFormatConfig structure

When you use Amazon S3 as the source, the configuration format that you provide the flow input data.

SAPODataConnectorProfileCredentials

Description

The connector-specific profile credentials required when using SAPOData.

Members
basicAuthCredentials
Type: BasicAuthCredentials structure

The SAPOData basic authentication credentials.

oAuthCredentials
Type: OAuthCredentials structure

The SAPOData OAuth type authentication credentials.

SAPODataConnectorProfileProperties

Description

The connector-specific profile properties required when using SAPOData.

Members
applicationHostUrl
Required: Yes
Type: string

The location of the SAPOData resource.

applicationServicePath
Required: Yes
Type: string

The application path to catalog service.

clientNumber
Required: Yes
Type: string

The client number for the client creating the connection.

disableSSO
Type: boolean

If you set this parameter to true, Amazon AppFlow bypasses the single sign-on (SSO) settings in your SAP account when it accesses your SAP OData instance.

Whether you need this option depends on the types of credentials that you applied to your SAP OData connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no affect.

logonLanguage
Type: string

The logon language of SAPOData instance.

oAuthProperties
Type: OAuthProperties structure

The SAPOData OAuth properties required for OAuth type authentication.

portNumber
Required: Yes
Type: int

The port number of the SAPOData instance.

privateLinkServiceName
Type: string

The SAPOData Private Link service name to be used for private data transfers.

SAPODataDestinationProperties

Description

The properties that are applied when using SAPOData as a flow destination

Members
errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

idFieldNames
Type: Array of strings

A list of field names that can be used as an ID field when performing a write operation.

objectPath
Required: Yes
Type: string

The object path specified in the SAPOData flow destination.

successResponseHandlingConfig

Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.

For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.

writeOperationType
Type: string

The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.

SAPODataMetadata

Description

The connector metadata specific to SAPOData.

Members

SAPODataPaginationConfig

Description

Sets the page size for each concurrent process that transfers OData records from your SAP instance. A concurrent process is query that retrieves a batch of records as part of a flow run. Amazon AppFlow can run multiple concurrent processes in parallel to transfer data faster.

Members
maxPageSize
Required: Yes
Type: int

The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000.

SAPODataParallelismConfig

Description

Sets the number of concurrent processes that transfer OData records from your SAP instance. A concurrent process is query that retrieves a batch of records as part of a flow run. Amazon AppFlow can run multiple concurrent processes in parallel to transfer data faster.

Members
maxParallelism
Required: Yes
Type: int

The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application.

SAPODataSourceProperties

Description

The properties that are applied when using SAPOData as a flow source.

Members
objectPath
Type: string

The object path specified in the SAPOData flow source.

paginationConfig
Type: SAPODataPaginationConfig structure

Sets the page size for each concurrent process that transfers OData records from your SAP instance.

parallelismConfig
Type: SAPODataParallelismConfig structure

Sets the number of concurrent processes that transfers OData records from your SAP instance.

SalesforceConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Salesforce.

Members
accessToken
Type: string

The credentials used to access protected Salesforce resources.

clientCredentialsArn
Type: string

The secret manager ARN, which contains the client ID and client secret of the connected app.

jwtToken
Type: string

A JSON web token (JWT) that authorizes Amazon AppFlow to access your Salesforce records.

oAuth2GrantType
Type: string

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.

You can specify one of the following values:

AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.

CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a client ID and client secret) when it requests the access token from Salesforce. You provide these credentials to Amazon AppFlow when you define the connection to your Salesforce account.

JWT_BEARER

Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.

oAuthRequest
Type: ConnectorOAuthRequest structure

The OAuth requirement needed to request security tokens from the connector endpoint.

refreshToken
Type: string

The credentials used to acquire new access tokens.

SalesforceConnectorProfileProperties

Description

The connector-specific profile properties required when using Salesforce.

Members
instanceUrl
Type: string

The location of the Salesforce resource.

isSandboxEnvironment
Type: boolean

Indicates whether the connector profile applies to a sandbox or production environment.

usePrivateLinkForMetadataAndAuthorization
Type: boolean

If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through Amazon Web Services PrivateLink. These calls travel through Amazon Web Services infrastructure without being exposed to the public internet.

Set either of the following values:

true

Amazon AppFlow sends all calls to Salesforce over the private network.

These private calls are:

  • Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.

  • Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.

  • Calls to transfer your Salesforce records as part of a flow run.

false

The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.

The public calls are:

  • Calls to get metadata about your Salesforce records.

  • Calls to get or refresh access tokens.

The private calls are:

  • Calls to transfer your Salesforce records as part of a flow run.

SalesforceDestinationProperties

Description

The properties that are applied when Salesforce is being used as a destination.

Members
dataTransferApi
Type: string

Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.

AUTOMATIC

The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.

Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.

By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.

BULKV2

Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.

Note that Bulk API 2.0 does not transfer Salesforce compound fields.

REST_SYNC

Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.

errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

idFieldNames
Type: Array of strings

The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.

object
Required: Yes
Type: string

The object specified in the Salesforce flow destination.

writeOperationType
Type: string

This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.

SalesforceMetadata

Description

The connector metadata specific to Salesforce.

Members
dataTransferApis
Type: Array of strings

The Salesforce APIs that you can have Amazon AppFlow use when your flows transfers data to or from Salesforce.

oAuthScopes
Type: Array of strings

The desired authorization scope for the Salesforce account.

oauth2GrantTypesSupported
Type: Array of strings

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.

AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.

CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a client ID and client secret) when it requests the access token from Salesforce. You provide these credentials to Amazon AppFlow when you define the connection to your Salesforce account.

JWT_BEARER

Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.

SalesforceSourceProperties

Description

The properties that are applied when Salesforce is being used as a source.

Members
dataTransferApi
Type: string

Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.

AUTOMATIC

The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.

Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.

By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.

BULKV2

Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.

Note that Bulk API 2.0 does not transfer Salesforce compound fields.

REST_SYNC

Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.

enableDynamicFieldUpdate
Type: boolean

The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.

includeDeletedRecords
Type: boolean

Indicates whether Amazon AppFlow includes deleted files in the flow run.

object
Required: Yes
Type: string

The object specified in the Salesforce flow source.

ScheduledTriggerProperties

Description

Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.

Members
dataPullMode
Type: string

Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.

firstExecutionFrom
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies the date range for the records to import from the connector in the first flow run.

flowErrorDeactivationThreshold
Type: int

Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.

scheduleEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00.

scheduleExpression
Required: Yes
Type: string

The scheduling expression that determines the rate at which the schedule will run, for example rate(5minutes).

scheduleOffset
Type: long (int|float)

Specifies the optional offset that is added to the time interval for a schedule-triggered flow.

scheduleStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00.

timezone
Type: string

Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York. This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.

If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST.

ServiceNowConnectorProfileCredentials

Description

The connector-specific profile credentials required when using ServiceNow.

Members
oAuth2Credentials
Type: OAuth2Credentials structure

The OAuth 2.0 credentials required to authenticate the user.

password
Type: string

The password that corresponds to the user name.

username
Type: string

The name of the user.

ServiceNowConnectorProfileProperties

Description

The connector-specific profile properties required when using ServiceNow.

Members
instanceUrl
Required: Yes
Type: string

The location of the ServiceNow resource.

ServiceNowMetadata

Description

The connector metadata specific to ServiceNow.

Members

ServiceNowSourceProperties

Description

The properties that are applied when ServiceNow is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the ServiceNow flow source.

ServiceQuotaExceededException

Description

The request would cause a service quota (such as the number of flows) to be exceeded.

Members
message
Type: string

SingularConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Singular.

Members
apiKey
Required: Yes
Type: string

A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

SingularConnectorProfileProperties

Description

The connector-specific profile properties required when using Singular.

Members

SingularMetadata

Description

The connector metadata specific to Singular.

Members

SingularSourceProperties

Description

The properties that are applied when Singular is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Singular flow source.

SlackConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Slack.

Members
accessToken
Type: string

The credentials used to access protected Slack resources.

clientId
Required: Yes
Type: string

The identifier for the client.

clientSecret
Required: Yes
Type: string

The client secret used by the OAuth client to authenticate to the authorization server.

oAuthRequest
Type: ConnectorOAuthRequest structure

The OAuth requirement needed to request security tokens from the connector endpoint.

SlackConnectorProfileProperties

Description

The connector-specific profile properties required when using Slack.

Members
instanceUrl
Required: Yes
Type: string

The location of the Slack resource.

SlackMetadata

Description

The connector metadata specific to Slack.

Members
oAuthScopes
Type: Array of strings

The desired authorization scope for the Slack account.

SlackSourceProperties

Description

The properties that are applied when Slack is being used as a source.

Members
object
Required: Yes
Type: string

The object specified in the Slack flow source.

SnowflakeConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Snowflake.

Members
password
Required: Yes
Type: string

The password that corresponds to the user name.

username
Required: Yes
Type: string

The name of the user.

SnowflakeConnectorProfileProperties

Description

The connector-specific profile properties required when using Snowflake.

Members
accountName
Type: string

The name of the account.

bucketName
Required: Yes
Type: string

The name of the Amazon S3 bucket associated with Snowflake.

bucketPrefix
Type: string

The bucket path that refers to the Amazon S3 bucket associated with Snowflake.

privateLinkServiceName
Type: string

The Snowflake Private Link service name to be used for private data transfers.

region
Type: string

The Amazon Web Services Region of the Snowflake account.

stage
Required: Yes
Type: string

The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema><Stage Name>.

warehouse
Required: Yes
Type: string

The name of the Snowflake warehouse.

SnowflakeDestinationProperties

Description

The properties that are applied when Snowflake is being used as a destination.

Members
bucketPrefix
Type: string

The object key for the destination bucket in which Amazon AppFlow places the files.

errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

intermediateBucketName
Required: Yes
Type: string

The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.

object
Required: Yes
Type: string

The object specified in the Snowflake flow destination.

SnowflakeMetadata

Description

The connector metadata specific to Snowflake.

Members
supportedRegions
Type: Array of strings

Specifies the supported Amazon Web Services Regions when using Snowflake.

SourceConnectorProperties

Description

Specifies the information that is required to query a particular connector.

Members
Amplitude
Type: AmplitudeSourceProperties structure

Specifies the information that is required for querying Amplitude.

CustomConnector

The properties that are applied when the custom connector is being used as a source.

Datadog
Type: DatadogSourceProperties structure

Specifies the information that is required for querying Datadog.

Dynatrace
Type: DynatraceSourceProperties structure

Specifies the information that is required for querying Dynatrace.

GoogleAnalytics

Specifies the information that is required for querying Google Analytics.

InforNexus
Type: InforNexusSourceProperties structure

Specifies the information that is required for querying Infor Nexus.

Marketo
Type: MarketoSourceProperties structure

Specifies the information that is required for querying Marketo.

Pardot
Type: PardotSourceProperties structure

Specifies the information that is required for querying Salesforce Pardot.

S3
Type: S3SourceProperties structure

Specifies the information that is required for querying Amazon S3.

SAPOData
Type: SAPODataSourceProperties structure

The properties that are applied when using SAPOData as a flow source.

Salesforce
Type: SalesforceSourceProperties structure

Specifies the information that is required for querying Salesforce.

ServiceNow
Type: ServiceNowSourceProperties structure

Specifies the information that is required for querying ServiceNow.

Singular
Type: SingularSourceProperties structure

Specifies the information that is required for querying Singular.

Slack
Type: SlackSourceProperties structure

Specifies the information that is required for querying Slack.

Trendmicro
Type: TrendmicroSourceProperties structure

Specifies the information that is required for querying Trend Micro.

Veeva
Type: VeevaSourceProperties structure

Specifies the information that is required for querying Veeva.

Zendesk
Type: ZendeskSourceProperties structure

Specifies the information that is required for querying Zendesk.

SourceFieldProperties

Description

The properties that can be applied to a field when the connector is being used as a source.

Members
isQueryable
Type: boolean

Indicates if the field can be queried.

isRetrievable
Type: boolean

Indicates whether the field can be returned in a search result.

isTimestampFieldForIncrementalQueries
Type: boolean

Indicates if this timestamp field can be used for incremental queries.

SourceFlowConfig

Description

Contains information about the configuration of the source connector used in the flow.

Members
apiVersion
Type: string

The API version of the connector when it's used as a source in the flow.

connectorProfileName
Type: string

The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

connectorType
Required: Yes
Type: string

The type of connector, such as Salesforce, Amplitude, and so on.

incrementalPullConfig
Type: IncrementalPullConfig structure

Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.

sourceConnectorProperties
Required: Yes
Type: SourceConnectorProperties structure

Specifies the information that is required to query a particular source connector.

SuccessResponseHandlingConfig

Description

Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.

For example, this setting would determine where to write the response from the destination connector upon a successful insert operation.

Members
bucketName
Type: string

The name of the Amazon S3 bucket.

bucketPrefix
Type: string

The Amazon S3 bucket prefix.

SupportedFieldTypeDetails

Description

Contains details regarding all the supported FieldTypes and their corresponding filterOperators and supportedValues.

Members
v1
Required: Yes
Type: FieldTypeDetails structure

The initial supported version for fieldType. If this is later changed to a different version, v2 will be introduced.

Task

Description

A class for modeling different type of tasks. Task implementation varies based on the TaskType.

Members
connectorOperator
Type: ConnectorOperator structure

The operation to be performed on the provided source fields.

destinationField
Type: string

A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.

sourceFields
Required: Yes
Type: Array of strings

The source fields to which a particular task is applied.

taskProperties
Type: Associative array of custom strings keys (OperatorPropertiesKeys) to strings

A map used to store task-related information. The execution service looks for particular information based on the TaskType.

taskType
Required: Yes
Type: string

Specifies the particular task implementation that Amazon AppFlow performs.

ThrottlingException

Description

API calls have exceeded the maximum allowed API request rate per account and per Region.

Members
message
Type: string

TrendmicroConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Trend Micro.

Members
apiSecretKey
Required: Yes
Type: string

The Secret Access Key portion of the credentials.

TrendmicroConnectorProfileProperties

Description

The connector-specific profile properties required when using Trend Micro.

Members

TrendmicroMetadata

Description

The connector metadata specific to Trend Micro.

Members

TrendmicroSourceProperties

Description

The properties that are applied when using Trend Micro as a flow source.

Members
object
Required: Yes
Type: string

The object specified in the Trend Micro flow source.

TriggerConfig

Description

The trigger settings that determine how and when Amazon AppFlow runs the specified flow.

Members
triggerProperties
Type: TriggerProperties structure

Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.

triggerType
Required: Yes
Type: string

Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.

TriggerProperties

Description

Specifies the configuration details that control the trigger for a flow. Currently, these settings only apply to the Scheduled trigger type.

Members
Scheduled
Type: ScheduledTriggerProperties structure

Specifies the configuration details of a schedule-triggered flow as defined by the user.

UnsupportedOperationException

Description

The requested operation is not supported for the current flow.

Members
message
Type: string

UpsolverDestinationProperties

Description

The properties that are applied when Upsolver is used as a destination.

Members
bucketName
Required: Yes
Type: string

The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.

bucketPrefix
Type: string

The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.

s3OutputFormatConfig
Required: Yes
Type: UpsolverS3OutputFormatConfig structure

The configuration that determines how data is formatted when Upsolver is used as the flow destination.

UpsolverMetadata

Description

The connector metadata specific to Upsolver.

Members

UpsolverS3OutputFormatConfig

Description

The configuration that determines how Amazon AppFlow formats the flow output data when Upsolver is used as the destination.

Members
aggregationConfig
Type: AggregationConfig structure

The aggregation settings that you can use to customize the output format of your flow data.

fileType
Type: string

Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.

prefixConfig
Required: Yes
Type: PrefixConfig structure

Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.

ValidationException

Description

The request has invalid or missing parameters.

Members
message
Type: string

VeevaConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Veeva.

Members
password
Required: Yes
Type: string

The password that corresponds to the user name.

username
Required: Yes
Type: string

The name of the user.

VeevaConnectorProfileProperties

Description

The connector-specific profile properties required when using Veeva.

Members
instanceUrl
Required: Yes
Type: string

The location of the Veeva resource.

VeevaMetadata

Description

The connector metadata specific to Veeva.

Members

VeevaSourceProperties

Description

The properties that are applied when using Veeva as a flow source.

Members
documentType
Type: string

The document type specified in the Veeva document extract flow.

includeAllVersions
Type: boolean

Boolean value to include All Versions of files in Veeva document extract flow.

includeRenditions
Type: boolean

Boolean value to include file renditions in Veeva document extract flow.

includeSourceFiles
Type: boolean

Boolean value to include source files in Veeva document extract flow.

object
Required: Yes
Type: string

The object specified in the Veeva flow source.

ZendeskConnectorProfileCredentials

Description

The connector-specific profile credentials required when using Zendesk.

Members
accessToken
Type: string

The credentials used to access protected Zendesk resources.

clientId
Required: Yes
Type: string

The identifier for the desired client.

clientSecret
Required: Yes
Type: string

The client secret used by the OAuth client to authenticate to the authorization server.

oAuthRequest
Type: ConnectorOAuthRequest structure

The OAuth requirement needed to request security tokens from the connector endpoint.

ZendeskConnectorProfileProperties

Description

The connector-specific profile properties required when using Zendesk.

Members
instanceUrl
Required: Yes
Type: string

The location of the Zendesk resource.

ZendeskDestinationProperties

Description

The properties that are applied when Zendesk is used as a destination.

Members
errorHandlingConfig
Type: ErrorHandlingConfig structure

The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

idFieldNames
Type: Array of strings

A list of field names that can be used as an ID field when performing a write operation.

object
Required: Yes
Type: string

The object specified in the Zendesk flow destination.

writeOperationType
Type: string

The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.

ZendeskMetadata

Description

The connector metadata specific to Zendesk.

Members
oAuthScopes
Type: Array of strings

The desired authorization scope for the Zendesk account.

ZendeskSourceProperties

Description

The properties that are applied when using Zendesk as a flow source.

Members
object
Required: Yes
Type: string

The object specified in the Zendesk flow source.