# Amazon AppFlow Construct Library
*Note:* this library is currently in technical preview.
## Introduction
Amazon AppFlow is a service that enables creating managed, bi-directional data transfer integrations between various SaaS applications and AWS services.
For more information, see the [Amazon AppFlow User Guide](https://docs.aws.amazon.com/appflow/latest/userguide/what-is-appflow.html).
## Example
```ts
import { Bucket } from 'aws-cdk-lib/aws-s3';
import { ISecret } from 'aws-cdk-lib/aws-secretsmanager';
import {
ISource,
IDestination,
Filter,
FilterCondition,
Mapping,
OnDemandFlow,
S3Destination,
SalesforceConnectorProfile,
SalesforceSource,
Transform,
Validation,
ValidationAction,
ValidationCondition,
} from '@cdklabs/cdk-appflow';
declare const clientSecret: ISecret;
declare const accessToken: string;
declare const refreshToken: string;
declare const instanceUrl: string;
const profile = new SalesforceConnectorProfile(this, 'MyConnectorProfile', {
oAuth: {
accessToken: accessToken,
flow: {
refresTokenGrant: {
refreshToken: refreshToken,
client: clientSecret,
},
},
},
instanceUrl: instanceUrl,
isSandbox: false,
});
const source = new SalesforceSource({
profile: profile,
object: 'Account',
});
const bucket = new Bucket(this, 'DestinationBucket');
const destination = new S3Destination({
location: { bucket },
});
new OnDemandFlow(this, 'SfAccountToS3', {
source: source,
destination: destination,
mappings: [Mapping.mapAll()],
transforms: [
Transform.mask({ name: 'Name' }, '*'),
],
validations: [
Validation.when(ValidationCondition.isNull('Name'), ValidationAction.ignoreRecord()),
],
filters: [
Filter.when(FilterCondition.timestampLessThanEquals({ name: 'LastModifiedDate', dataType: 'datetime' }, new Date(Date.parse('2022-02-02')))),
],
});
```
# Concepts
Amazon AppFlow introduces several concepts that abstract away the technicalities of setting up and managing data integrations.
An `Application` is any SaaS data integration component that can be either a *source* or a *destination* for Amazon AppFlow. A source is an application from which Amazon AppFlow will retrieve data, whereas a destination is an application to which Amazon AppFlow will send data.
A `Flow` is Amazon AppFlow's integration between a source and a destination.
A `ConnectorProfile` is Amazon AppFlow's abstraction over authentication/authorization with a particular SaaS application. The per-SaaS application permissions given to a particular `ConnectorProfile` will determine whether the connector profile can support the application as a source or as a destination (see whether a particular application is supported as either a source or a destination in [the documentation](https://docs.aws.amazon.com/appflow/latest/userguide/app-specific.html)).
## Types of Flows
The library introduces three, separate types of flows:
- `OnDemandFlow` - a construct representing a flow that can be triggered programmatically with the use of a [StartFlow API call](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_StartFlow.html).
- `OnEventFlow` - a construct representing a flow that is triggered by a SaaS application event published to AppFlow. At the time of writing only a Salesforce source is able to publish events that can be consumed by AppFlow flows.
- `OnScheduleFlow` - a construct representing a flow that is triggered on a [`Schedule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Schedule.html)
## Tasks
Tasks are steps that can be taken upon fields. Tasks compose higher level objects that in this library are named `Operations`. There are four operations identified:
- Transforms - 1-1 transforms on source fields, like truncation or masking
- Mappings - 1-1 or many-to-1 operations from source fields to a destination field
- Filters - operations that limit the source data on a particular conditions
- Validations - operations that work on a per-record level and can have either a record-level consequence (i.e. dropping the record) or a global one (terminating the flow).
Each flow exposes dedicated properties to each of the operation types that one can use like in the example below:
```ts
import {
Filter,
FilterCondition,
IDestination,
ISource,
Mapping,
OnDemandFlow,
S3Destination,
SalesforceConnectorProfile,
SalesforceSource,
Transform,
Validation,
ValidationAction,
ValidationCondition,
} from '@cdklabs/cdk-appflow';
declare const stack: Stack;
declare const source: ISource;
declare const destination: IDestination;
const flow = new OnDemandFlow(stack, 'OnDemandFlow', {
source: source,
destination: destination,
transforms: [
Transform.mask({ name: 'Name' }, '*'),
],
mappings: [
Mapping.map({ name: 'Name', dataType: 'String' }, { name: 'Name', dataType: 'string' }),
],
filters: [
Filter.when(FilterCondition.timestampLessThanEquals({ name: 'LastModifiedDate', dataType: 'datetime' }, new Date(Date.parse('2022-02-02')))),
],
validations: [
Validation.when(ValidationCondition.isNull('Name'), ValidationAction.ignoreRecord()),
]
});
```
## EventBridge notifications
Each flow publishes events to the default EventBridge bus:
- `onRunStarted`
- `onRunCompleted`
- `onDeactivated` (only for the `OnEventFlow` and the `OnScheduleFlow`)
- `onStatus` (only for the `OnEventFlow` )
This way one can consume the notifications as in the example below:
```ts
import { ITopic } from 'aws-cdk-lib/aws-sns';
import { SnsTopic } from 'aws-cdk-lib/aws-events-targets';
import { IFlow } from '@cdklabs/cdk-appflow';
declare const flow: IFlow;
declare const myTopic: ITopic;
flow.onRunCompleted('OnRunCompleted', {
target: new SnsTopic(myTopic),
});
```
# Notable distinctions from CloudFormation specification
## `OnScheduleFlow` and `incrementalPullConfig`
In CloudFormation the definition of the `incrementalPullConfig` (which effectively gives a name of the field used for tracking the last pulled timestamp) is on the [`SourceFlowConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-flow-sourceflowconfig.html#cfn-appflow-flow-sourceflowconfig-incrementalpullconfig) property. In the library this has been moved to the `OnScheduleFlow` constructor properties.
## `S3Destination` and Glue Catalog
Although in CloudFormation the Glue Catalog configuration is settable on the flow level - it works only when the destination is S3. That is why the library shifts the Glue Catalog properties definition to the `S3Destination`, which in turn requires using Lazy for populating `metadataCatalogConfig` in the flow.
# Security considerations
It is *recommended* to follow [data protection mechanisms for Amazon AppFlow](https://docs.aws.amazon.com/appflow/latest/userguide/data-protection.html).
## Confidential information
Amazon AppFlow application integration is done using `ConnectionProfiles`. A `ConnectionProfile` requires providing sensitive information in the form of e.g. access and refresh tokens. It is *recommended* that such information is stored securely and passed to AWS CDK securely. All the sensitive fields are effectively `IResolvable` and this means they can be resolved at deploy time. With that one should follow the [best practices for credentials with CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security-best-practices.html#creds).
An example of using a predefined AWS Secrets Manager secret for storing the sensitive information can be found below:
```ts
import { Secret } from 'aws-cdk-lib/aws-secretsmanager';
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow';
declare const stack: Stack;
const secret = Secret.fromSecretNameV2(stack, 'GA4Secret', 'appflow/ga4');
const profile = new GoogleAnalytics4ConnectorProfile(stack, 'GA4Connector', {
oAuth: {
flow: {
refreshTokenGrant: {
refreshToken: secret.secretValueFromJson('refreshToken').toString(),
clientId: secret.secretValueFromJson('clientId').toString(),
clientSecret: secret.secretValueFromJson('clientSecret').toString(),
},
},
},
});
```
## An approach to managing permissions
This library relies on an internal `AppFlowPermissionsManager` class to automatically infer and apply appropriate resource policy statements to the S3 Bucket, KMS Key, and Secrets Manager Secret resources. `AppFlowPermissionsManager` places the statements exactly once for the `appflow.amazonaws.com` principal no matter how many times a resource is reused in the code.
### Confused Deputy Problem
Amazon AppFlow is an account-bound and a regional service. With this it is invurlnerable to the confused deputy problem (see, e.g. [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)). However, `AppFlowPermissionsManager` still introduces the `aws:SourceAccount` condtition to the resource policies as a *best practice*.
# API Reference
## Constructs
### ConnectorProfileBase
- *Implements:* IConnectorProfile
#### Initializers
```typescript
import { ConnectorProfileBase } from '@cdklabs/cdk-appflow'
new ConnectorProfileBase(scope: Construct, id: string, props: ConnectorProfileProps, connectorType: ConnectorType)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| ConnectorProfileProps
| *No description.* |
| connectorType
| ConnectorType
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* ConnectorProfileProps
---
##### `connectorType`Required
- *Type:* ConnectorType
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
---
##### ~~`isConstruct`~~
```typescript
import { ConnectorProfileBase } from '@cdklabs/cdk-appflow'
ConnectorProfileBase.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { ConnectorProfileBase } from '@cdklabs/cdk-appflow'
ConnectorProfileBase.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { ConnectorProfileBase } from '@cdklabs/cdk-appflow'
ConnectorProfileBase.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### FlowBase
- *Implements:* IFlow
#### Initializers
```typescript
import { FlowBase } from '@cdklabs/cdk-appflow'
new FlowBase(scope: Construct, id: string, props: FlowBaseProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| FlowBaseProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* FlowBaseProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
| onEvent
| *No description.* |
| onRunCompleted
| *No description.* |
| onRunStarted
| *No description.* |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
##### `onEvent`
```typescript
public onEvent(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunCompleted`
```typescript
public onRunCompleted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunStarted`
```typescript
public onRunStarted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
---
##### ~~`isConstruct`~~
```typescript
import { FlowBase } from '@cdklabs/cdk-appflow'
FlowBase.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { FlowBase } from '@cdklabs/cdk-appflow'
FlowBase.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { FlowBase } from '@cdklabs/cdk-appflow'
FlowBase.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| type
| FlowType
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
### GoogleAnalytics4ConnectorProfile
#### Initializers
```typescript
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow'
new GoogleAnalytics4ConnectorProfile(scope: Construct, id: string, props: GoogleAnalytics4ConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| GoogleAnalytics4ConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* GoogleAnalytics4ConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow'
GoogleAnalytics4ConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow'
GoogleAnalytics4ConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow'
GoogleAnalytics4ConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow'
GoogleAnalytics4ConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { GoogleAnalytics4ConnectorProfile } from '@cdklabs/cdk-appflow'
GoogleAnalytics4ConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### MarketoConnectorProfile
#### Initializers
```typescript
import { MarketoConnectorProfile } from '@cdklabs/cdk-appflow'
new MarketoConnectorProfile(scope: Construct, id: string, props: MarketoConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| MarketoConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* MarketoConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { MarketoConnectorProfile } from '@cdklabs/cdk-appflow'
MarketoConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { MarketoConnectorProfile } from '@cdklabs/cdk-appflow'
MarketoConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { MarketoConnectorProfile } from '@cdklabs/cdk-appflow'
MarketoConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { MarketoConnectorProfile } from '@cdklabs/cdk-appflow'
MarketoConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { MarketoConnectorProfile } from '@cdklabs/cdk-appflow'
MarketoConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### MicrosoftSharepointOnlineConnectorProfile
#### Initializers
```typescript
import { MicrosoftSharepointOnlineConnectorProfile } from '@cdklabs/cdk-appflow'
new MicrosoftSharepointOnlineConnectorProfile(scope: Construct, id: string, props: MicrosoftSharepointOnlineConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| MicrosoftSharepointOnlineConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* MicrosoftSharepointOnlineConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { MicrosoftSharepointOnlineConnectorProfile } from '@cdklabs/cdk-appflow'
MicrosoftSharepointOnlineConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { MicrosoftSharepointOnlineConnectorProfile } from '@cdklabs/cdk-appflow'
MicrosoftSharepointOnlineConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { MicrosoftSharepointOnlineConnectorProfile } from '@cdklabs/cdk-appflow'
MicrosoftSharepointOnlineConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { MicrosoftSharepointOnlineConnectorProfile } from '@cdklabs/cdk-appflow'
MicrosoftSharepointOnlineConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { MicrosoftSharepointOnlineConnectorProfile } from '@cdklabs/cdk-appflow'
MicrosoftSharepointOnlineConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### OnDemandFlow
- *Implements:* IFlow
#### Initializers
```typescript
import { OnDemandFlow } from '@cdklabs/cdk-appflow'
new OnDemandFlow(scope: Construct, id: string, props: OnDemandFlowProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| OnDemandFlowProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* OnDemandFlowProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
| onEvent
| *No description.* |
| onRunCompleted
| *No description.* |
| onRunStarted
| *No description.* |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
##### `onEvent`
```typescript
public onEvent(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunCompleted`
```typescript
public onRunCompleted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunStarted`
```typescript
public onRunStarted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
---
##### ~~`isConstruct`~~
```typescript
import { OnDemandFlow } from '@cdklabs/cdk-appflow'
OnDemandFlow.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { OnDemandFlow } from '@cdklabs/cdk-appflow'
OnDemandFlow.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { OnDemandFlow } from '@cdklabs/cdk-appflow'
OnDemandFlow.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| type
| FlowType
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
### OnEventFlow
- *Implements:* IFlow
#### Initializers
```typescript
import { OnEventFlow } from '@cdklabs/cdk-appflow'
new OnEventFlow(scope: Construct, id: string, props: OnEventFlowProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| OnEventFlowProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* OnEventFlowProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
| onEvent
| *No description.* |
| onRunCompleted
| *No description.* |
| onRunStarted
| *No description.* |
| onDeactivated
| *No description.* |
| onStatus
| *No description.* |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
##### `onEvent`
```typescript
public onEvent(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunCompleted`
```typescript
public onRunCompleted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunStarted`
```typescript
public onRunStarted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onDeactivated`
```typescript
public onDeactivated(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onStatus`
```typescript
public onStatus(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
---
##### ~~`isConstruct`~~
```typescript
import { OnEventFlow } from '@cdklabs/cdk-appflow'
OnEventFlow.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { OnEventFlow } from '@cdklabs/cdk-appflow'
OnEventFlow.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { OnEventFlow } from '@cdklabs/cdk-appflow'
OnEventFlow.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| type
| FlowType
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
### OnScheduleFlow
- *Implements:* IFlow
#### Initializers
```typescript
import { OnScheduleFlow } from '@cdklabs/cdk-appflow'
new OnScheduleFlow(scope: Construct, id: string, props: OnScheduleFlowProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| OnScheduleFlowProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* OnScheduleFlowProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
| onEvent
| *No description.* |
| onRunCompleted
| *No description.* |
| onRunStarted
| *No description.* |
| onDeactivated
| *No description.* |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
##### `onEvent`
```typescript
public onEvent(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunCompleted`
```typescript
public onRunCompleted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunStarted`
```typescript
public onRunStarted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onDeactivated`
```typescript
public onDeactivated(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
---
##### ~~`isConstruct`~~
```typescript
import { OnScheduleFlow } from '@cdklabs/cdk-appflow'
OnScheduleFlow.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { OnScheduleFlow } from '@cdklabs/cdk-appflow'
OnScheduleFlow.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { OnScheduleFlow } from '@cdklabs/cdk-appflow'
OnScheduleFlow.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| type
| FlowType
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
### RedshiftConnectorProfile
#### Initializers
```typescript
import { RedshiftConnectorProfile } from '@cdklabs/cdk-appflow'
new RedshiftConnectorProfile(scope: Construct, id: string, props: RedshiftConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| RedshiftConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* RedshiftConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { RedshiftConnectorProfile } from '@cdklabs/cdk-appflow'
RedshiftConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { RedshiftConnectorProfile } from '@cdklabs/cdk-appflow'
RedshiftConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { RedshiftConnectorProfile } from '@cdklabs/cdk-appflow'
RedshiftConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { RedshiftConnectorProfile } from '@cdklabs/cdk-appflow'
RedshiftConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { RedshiftConnectorProfile } from '@cdklabs/cdk-appflow'
RedshiftConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### SalesforceConnectorProfile
#### Initializers
```typescript
import { SalesforceConnectorProfile } from '@cdklabs/cdk-appflow'
new SalesforceConnectorProfile(scope: Construct, id: string, props: SalesforceConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SalesforceConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SalesforceConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { SalesforceConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { SalesforceConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { SalesforceConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { SalesforceConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { SalesforceConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### SalesforceMarketingCloudConnectorProfile
#### Initializers
```typescript
import { SalesforceMarketingCloudConnectorProfile } from '@cdklabs/cdk-appflow'
new SalesforceMarketingCloudConnectorProfile(scope: Construct, id: string, props: SalesforceMarketingCloudConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SalesforceMarketingCloudConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SalesforceMarketingCloudConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { SalesforceMarketingCloudConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceMarketingCloudConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { SalesforceMarketingCloudConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceMarketingCloudConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { SalesforceMarketingCloudConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceMarketingCloudConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { SalesforceMarketingCloudConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceMarketingCloudConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { SalesforceMarketingCloudConnectorProfile } from '@cdklabs/cdk-appflow'
SalesforceMarketingCloudConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### SAPOdataConnectorProfile
#### Initializers
```typescript
import { SAPOdataConnectorProfile } from '@cdklabs/cdk-appflow'
new SAPOdataConnectorProfile(scope: Construct, id: string, props: SAPOdataConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SAPOdataConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SAPOdataConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { SAPOdataConnectorProfile } from '@cdklabs/cdk-appflow'
SAPOdataConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { SAPOdataConnectorProfile } from '@cdklabs/cdk-appflow'
SAPOdataConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { SAPOdataConnectorProfile } from '@cdklabs/cdk-appflow'
SAPOdataConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { SAPOdataConnectorProfile } from '@cdklabs/cdk-appflow'
SAPOdataConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { SAPOdataConnectorProfile } from '@cdklabs/cdk-appflow'
SAPOdataConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### ServiceNowConnectorProfile
#### Initializers
```typescript
import { ServiceNowConnectorProfile } from '@cdklabs/cdk-appflow'
new ServiceNowConnectorProfile(scope: Construct, id: string, props: ServiceNowConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| ServiceNowConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* ServiceNowConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { ServiceNowConnectorProfile } from '@cdklabs/cdk-appflow'
ServiceNowConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { ServiceNowConnectorProfile } from '@cdklabs/cdk-appflow'
ServiceNowConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { ServiceNowConnectorProfile } from '@cdklabs/cdk-appflow'
ServiceNowConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { ServiceNowConnectorProfile } from '@cdklabs/cdk-appflow'
ServiceNowConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { ServiceNowConnectorProfile } from '@cdklabs/cdk-appflow'
ServiceNowConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### SlackConnectorProfile
#### Initializers
```typescript
import { SlackConnectorProfile } from '@cdklabs/cdk-appflow'
new SlackConnectorProfile(scope: Construct, id: string, props: SlackConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| SlackConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* SlackConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { SlackConnectorProfile } from '@cdklabs/cdk-appflow'
SlackConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { SlackConnectorProfile } from '@cdklabs/cdk-appflow'
SlackConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { SlackConnectorProfile } from '@cdklabs/cdk-appflow'
SlackConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { SlackConnectorProfile } from '@cdklabs/cdk-appflow'
SlackConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { SlackConnectorProfile } from '@cdklabs/cdk-appflow'
SlackConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### TriggeredFlowBase
- *Implements:* IFlow
#### Initializers
```typescript
import { TriggeredFlowBase } from '@cdklabs/cdk-appflow'
new TriggeredFlowBase(scope: Construct, id: string, props: FlowBaseProps, autoActivate?: boolean)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| FlowBaseProps
| *No description.* |
| autoActivate
| boolean
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* FlowBaseProps
---
##### `autoActivate`Optional
- *Type:* boolean
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
| onEvent
| *No description.* |
| onRunCompleted
| *No description.* |
| onRunStarted
| *No description.* |
| onDeactivated
| *No description.* |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
##### `onEvent`
```typescript
public onEvent(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunCompleted`
```typescript
public onRunCompleted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunStarted`
```typescript
public onRunStarted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onDeactivated`
```typescript
public onDeactivated(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
---
##### ~~`isConstruct`~~
```typescript
import { TriggeredFlowBase } from '@cdklabs/cdk-appflow'
TriggeredFlowBase.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { TriggeredFlowBase } from '@cdklabs/cdk-appflow'
TriggeredFlowBase.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { TriggeredFlowBase } from '@cdklabs/cdk-appflow'
TriggeredFlowBase.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| type
| FlowType
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
### ZendeskConnectorProfile
#### Initializers
```typescript
import { ZendeskConnectorProfile } from '@cdklabs/cdk-appflow'
new ZendeskConnectorProfile(scope: Construct, id: string, props: ZendeskConnectorProfileProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| scope
| constructs.Construct
| *No description.* |
| id
| string
| *No description.* |
| props
| ZendeskConnectorProfileProps
| *No description.* |
---
##### `scope`Required
- *Type:* constructs.Construct
---
##### `id`Required
- *Type:* string
---
##### `props`Required
- *Type:* ZendeskConnectorProfileProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| toString
| Returns a string representation of this construct. |
| applyRemovalPolicy
| Apply the given removal policy to this resource. |
---
##### `toString`
```typescript
public toString(): string
```
Returns a string representation of this construct.
##### `applyRemovalPolicy`
```typescript
public applyRemovalPolicy(policy: RemovalPolicy): void
```
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops
being managed by CloudFormation, either because you've removed it from the
CDK application or because you've made a change that requires the resource
to be replaced.
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
###### `policy`Required
- *Type:* aws-cdk-lib.RemovalPolicy
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isConstruct
| Checks if `x` is a construct. |
| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
| isResource
| Check whether the given construct is a Resource. |
| fromConnectionProfileArn
| *No description.* |
| fromConnectionProfileName
| *No description.* |
---
##### ~~`isConstruct`~~
```typescript
import { ZendeskConnectorProfile } from '@cdklabs/cdk-appflow'
ZendeskConnectorProfile.isConstruct(x: any)
```
Checks if `x` is a construct.
###### `x`Required
- *Type:* any
Any object.
---
##### `isOwnedResource`
```typescript
import { ZendeskConnectorProfile } from '@cdklabs/cdk-appflow'
ZendeskConnectorProfile.isOwnedResource(construct: IConstruct)
```
Returns true if the construct was created by CDK, and false otherwise.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `isResource`
```typescript
import { ZendeskConnectorProfile } from '@cdklabs/cdk-appflow'
ZendeskConnectorProfile.isResource(construct: IConstruct)
```
Check whether the given construct is a Resource.
###### `construct`Required
- *Type:* constructs.IConstruct
---
##### `fromConnectionProfileArn`
```typescript
import { ZendeskConnectorProfile } from '@cdklabs/cdk-appflow'
ZendeskConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `arn`Required
- *Type:* string
---
##### `fromConnectionProfileName`
```typescript
import { ZendeskConnectorProfile } from '@cdklabs/cdk-appflow'
ZendeskConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
```
###### `scope`Required
- *Type:* constructs.Construct
---
###### `id`Required
- *Type:* string
---
###### `name`Required
- *Type:* string
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
## Structs
### ConnectorProfileProps
#### Initializer
```typescript
import { ConnectorProfileProps } from '@cdklabs/cdk-appflow'
const connectorProfileProps: ConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
### DataPullConfig
#### Initializer
```typescript
import { DataPullConfig } from '@cdklabs/cdk-appflow'
const dataPullConfig: DataPullConfig = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| mode
| DataPullMode
| *No description.* |
| timestampField
| string
| The name of the field to use as a timestamp for recurring incremental flows. |
---
##### `mode`Required
```typescript
public readonly mode: DataPullMode;
```
- *Type:* DataPullMode
---
##### `timestampField`Optional
```typescript
public readonly timestampField: string;
```
- *Type:* string
The name of the field to use as a timestamp for recurring incremental flows.
The default field is set per particular @see ISource.
---
### ErrorHandlingConfiguration
#### Initializer
```typescript
import { ErrorHandlingConfiguration } from '@cdklabs/cdk-appflow'
const errorHandlingConfiguration: ErrorHandlingConfiguration = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| errorLocation
| S3Location
| *No description.* |
| failOnFirstError
| boolean
| *No description.* |
---
##### `errorLocation`Optional
```typescript
public readonly errorLocation: S3Location;
```
- *Type:* S3Location
---
##### `failOnFirstError`Optional
```typescript
public readonly failOnFirstError: boolean;
```
- *Type:* boolean
---
### EventBridgeDestinationProps
#### Initializer
```typescript
import { EventBridgeDestinationProps } from '@cdklabs/cdk-appflow'
const eventBridgeDestinationProps: EventBridgeDestinationProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| partnerBus
| string
| *No description.* |
| errorHandling
| ErrorHandlingConfiguration
| *No description.* |
---
##### `partnerBus`Required
```typescript
public readonly partnerBus: string;
```
- *Type:* string
---
##### `errorHandling`Optional
```typescript
public readonly errorHandling: ErrorHandlingConfiguration;
```
- *Type:* ErrorHandlingConfiguration
---
### Field
#### Initializer
```typescript
import { Field } from '@cdklabs/cdk-appflow'
const field: Field = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| name
| string
| *No description.* |
| dataType
| string
| *No description.* |
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `dataType`Optional
```typescript
public readonly dataType: string;
```
- *Type:* string
---
### FlowBaseProps
#### Initializer
```typescript
import { FlowBaseProps } from '@cdklabs/cdk-appflow'
const flowBaseProps: FlowBaseProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| destination
| IDestination
| *No description.* |
| mappings
| IMapping[]
| *No description.* |
| source
| ISource
| *No description.* |
| description
| string
| *No description.* |
| filters
| IFilter[]
| *No description.* |
| key
| aws-cdk-lib.aws_kms.IKey
| *No description.* |
| name
| string
| *No description.* |
| transforms
| ITransform[]
| *No description.* |
| validations
| IValidation[]
| *No description.* |
| type
| FlowType
| *No description.* |
| triggerConfig
| TriggerConfig
| *No description.* |
---
##### `destination`Required
```typescript
public readonly destination: IDestination;
```
- *Type:* IDestination
---
##### `mappings`Required
```typescript
public readonly mappings: IMapping[];
```
- *Type:* IMapping[]
---
##### `source`Required
```typescript
public readonly source: ISource;
```
- *Type:* ISource
---
##### `description`Optional
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `filters`Optional
```typescript
public readonly filters: IFilter[];
```
- *Type:* IFilter[]
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `transforms`Optional
```typescript
public readonly transforms: ITransform[];
```
- *Type:* ITransform[]
---
##### `validations`Optional
```typescript
public readonly validations: IValidation[];
```
- *Type:* IValidation[]
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
##### `triggerConfig`Optional
```typescript
public readonly triggerConfig: TriggerConfig;
```
- *Type:* TriggerConfig
---
### FlowProps
#### Initializer
```typescript
import { FlowProps } from '@cdklabs/cdk-appflow'
const flowProps: FlowProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| destination
| IDestination
| *No description.* |
| mappings
| IMapping[]
| *No description.* |
| source
| ISource
| *No description.* |
| description
| string
| *No description.* |
| filters
| IFilter[]
| *No description.* |
| key
| aws-cdk-lib.aws_kms.IKey
| *No description.* |
| name
| string
| *No description.* |
| transforms
| ITransform[]
| *No description.* |
| validations
| IValidation[]
| *No description.* |
---
##### `destination`Required
```typescript
public readonly destination: IDestination;
```
- *Type:* IDestination
---
##### `mappings`Required
```typescript
public readonly mappings: IMapping[];
```
- *Type:* IMapping[]
---
##### `source`Required
```typescript
public readonly source: ISource;
```
- *Type:* ISource
---
##### `description`Optional
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `filters`Optional
```typescript
public readonly filters: IFilter[];
```
- *Type:* IFilter[]
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `transforms`Optional
```typescript
public readonly transforms: ITransform[];
```
- *Type:* ITransform[]
---
##### `validations`Optional
```typescript
public readonly validations: IValidation[];
```
- *Type:* IValidation[]
---
### GoogleAnalytics4ConnectorProfileProps
#### Initializer
```typescript
import { GoogleAnalytics4ConnectorProfileProps } from '@cdklabs/cdk-appflow'
const googleAnalytics4ConnectorProfileProps: GoogleAnalytics4ConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| oAuth
| GoogleAnalytics4OAuthSettings
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: GoogleAnalytics4OAuthSettings;
```
- *Type:* GoogleAnalytics4OAuthSettings
---
### GoogleAnalytics4OAuthEndpointsSettings
#### Initializer
```typescript
import { GoogleAnalytics4OAuthEndpointsSettings } from '@cdklabs/cdk-appflow'
const googleAnalytics4OAuthEndpointsSettings: GoogleAnalytics4OAuthEndpointsSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| authorization
| string
| *No description.* |
| token
| string
| *No description.* |
---
##### `authorization`Optional
```typescript
public readonly authorization: string;
```
- *Type:* string
---
##### `token`Optional
```typescript
public readonly token: string;
```
- *Type:* string
---
### GoogleAnalytics4OAuthFlow
#### Initializer
```typescript
import { GoogleAnalytics4OAuthFlow } from '@cdklabs/cdk-appflow'
const googleAnalytics4OAuthFlow: GoogleAnalytics4OAuthFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| refreshTokenGrant
| GoogleAnalytics4RefreshTokenGrantFlow
| *No description.* |
---
##### `refreshTokenGrant`Required
```typescript
public readonly refreshTokenGrant: GoogleAnalytics4RefreshTokenGrantFlow;
```
- *Type:* GoogleAnalytics4RefreshTokenGrantFlow
---
### GoogleAnalytics4OAuthSettings
#### Initializer
```typescript
import { GoogleAnalytics4OAuthSettings } from '@cdklabs/cdk-appflow'
const googleAnalytics4OAuthSettings: GoogleAnalytics4OAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| accessToken
| string
| The access token to be used when interacting with Google Analytics 4. |
| endpoints
| GoogleAnalytics4OAuthEndpointsSettings
| *No description.* |
| flow
| GoogleAnalytics4OAuthFlow
| *No description.* |
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
The access token to be used when interacting with Google Analytics 4.
Note that if only the access token is provided AppFlow is not able to retrieve a fresh access token when the current one is expired
---
##### `endpoints`Optional
```typescript
public readonly endpoints: GoogleAnalytics4OAuthEndpointsSettings;
```
- *Type:* GoogleAnalytics4OAuthEndpointsSettings
---
##### `flow`Optional
```typescript
public readonly flow: GoogleAnalytics4OAuthFlow;
```
- *Type:* GoogleAnalytics4OAuthFlow
---
### GoogleAnalytics4RefreshTokenGrantFlow
#### Initializer
```typescript
import { GoogleAnalytics4RefreshTokenGrantFlow } from '@cdklabs/cdk-appflow'
const googleAnalytics4RefreshTokenGrantFlow: GoogleAnalytics4RefreshTokenGrantFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
| refreshToken
| string
| *No description.* |
---
##### `clientId`Optional
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Optional
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
##### `refreshToken`Optional
```typescript
public readonly refreshToken: string;
```
- *Type:* string
---
### GoogleAnalytics4SourceProps
Properties of a Google Analytics v4 Source.
#### Initializer
```typescript
import { GoogleAnalytics4SourceProps } from '@cdklabs/cdk-appflow'
const googleAnalytics4SourceProps: GoogleAnalytics4SourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| apiVersion
| string
| *No description.* |
| object
| string
| *No description.* |
| profile
| GoogleAnalytics4ConnectorProfile
| *No description.* |
---
##### `apiVersion`Required
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: GoogleAnalytics4ConnectorProfile;
```
- *Type:* GoogleAnalytics4ConnectorProfile
---
### MapAllConfig
A helper interface.
#### Initializer
```typescript
import { MapAllConfig } from '@cdklabs/cdk-appflow'
const mapAllConfig: MapAllConfig = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| exclude
| string[]
| *No description.* |
---
##### `exclude`Required
```typescript
public readonly exclude: string[];
```
- *Type:* string[]
---
### MarketoConnectorProfileProps
#### Initializer
```typescript
import { MarketoConnectorProfileProps } from '@cdklabs/cdk-appflow'
const marketoConnectorProfileProps: MarketoConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| instanceUrl
| string
| *No description.* |
| oAuth
| MarketoOAuthSettings
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `instanceUrl`Required
```typescript
public readonly instanceUrl: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: MarketoOAuthSettings;
```
- *Type:* MarketoOAuthSettings
---
### MarketoOAuthClientCredentialsFlow
#### Initializer
```typescript
import { MarketoOAuthClientCredentialsFlow } from '@cdklabs/cdk-appflow'
const marketoOAuthClientCredentialsFlow: MarketoOAuthClientCredentialsFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
---
##### `clientId`Required
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Required
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
### MarketoOAuthFlow
#### Initializer
```typescript
import { MarketoOAuthFlow } from '@cdklabs/cdk-appflow'
const marketoOAuthFlow: MarketoOAuthFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientCredentials
| MarketoOAuthClientCredentialsFlow
| *No description.* |
---
##### `clientCredentials`Required
```typescript
public readonly clientCredentials: MarketoOAuthClientCredentialsFlow;
```
- *Type:* MarketoOAuthClientCredentialsFlow
---
### MarketoOAuthSettings
#### Initializer
```typescript
import { MarketoOAuthSettings } from '@cdklabs/cdk-appflow'
const marketoOAuthSettings: MarketoOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| flow
| MarketoOAuthFlow
| *No description.* |
| accessToken
| string
| *No description.* |
---
##### `flow`Required
```typescript
public readonly flow: MarketoOAuthFlow;
```
- *Type:* MarketoOAuthFlow
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
---
### MarketoSourceProps
#### Initializer
```typescript
import { MarketoSourceProps } from '@cdklabs/cdk-appflow'
const marketoSourceProps: MarketoSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| *No description.* |
| profile
| MarketoConnectorProfile
| *No description.* |
| apiVersion
| string
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: MarketoConnectorProfile;
```
- *Type:* MarketoConnectorProfile
---
##### `apiVersion`Optional
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
### MicrosoftSharepointOnlineConnectorProfileProps
#### Initializer
```typescript
import { MicrosoftSharepointOnlineConnectorProfileProps } from '@cdklabs/cdk-appflow'
const microsoftSharepointOnlineConnectorProfileProps: MicrosoftSharepointOnlineConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| oAuth
| MicrosoftSharepointOnlineOAuthSettings
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: MicrosoftSharepointOnlineOAuthSettings;
```
- *Type:* MicrosoftSharepointOnlineOAuthSettings
---
### MicrosoftSharepointOnlineOAuthEndpointsSettings
#### Initializer
```typescript
import { MicrosoftSharepointOnlineOAuthEndpointsSettings } from '@cdklabs/cdk-appflow'
const microsoftSharepointOnlineOAuthEndpointsSettings: MicrosoftSharepointOnlineOAuthEndpointsSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| token
| string
| *No description.* |
---
##### `token`Required
```typescript
public readonly token: string;
```
- *Type:* string
---
### MicrosoftSharepointOnlineOAuthFlow
#### Initializer
```typescript
import { MicrosoftSharepointOnlineOAuthFlow } from '@cdklabs/cdk-appflow'
const microsoftSharepointOnlineOAuthFlow: MicrosoftSharepointOnlineOAuthFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| refreshTokenGrant
| MicrosoftSharepointOnlineRefreshTokenGrantFlow
| *No description.* |
---
##### `refreshTokenGrant`Required
```typescript
public readonly refreshTokenGrant: MicrosoftSharepointOnlineRefreshTokenGrantFlow;
```
- *Type:* MicrosoftSharepointOnlineRefreshTokenGrantFlow
---
### MicrosoftSharepointOnlineOAuthSettings
#### Initializer
```typescript
import { MicrosoftSharepointOnlineOAuthSettings } from '@cdklabs/cdk-appflow'
const microsoftSharepointOnlineOAuthSettings: MicrosoftSharepointOnlineOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| endpoints
| MicrosoftSharepointOnlineOAuthEndpointsSettings
| *No description.* |
| accessToken
| string
| The access token to be used when interacting with Google Analytics 4. |
| flow
| MicrosoftSharepointOnlineOAuthFlow
| *No description.* |
---
##### `endpoints`Required
```typescript
public readonly endpoints: MicrosoftSharepointOnlineOAuthEndpointsSettings;
```
- *Type:* MicrosoftSharepointOnlineOAuthEndpointsSettings
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
The access token to be used when interacting with Google Analytics 4.
Note that if only the access token is provided AppFlow is not able to retrieve a fresh access token when the current one is expired
---
##### `flow`Optional
```typescript
public readonly flow: MicrosoftSharepointOnlineOAuthFlow;
```
- *Type:* MicrosoftSharepointOnlineOAuthFlow
---
### MicrosoftSharepointOnlineRefreshTokenGrantFlow
#### Initializer
```typescript
import { MicrosoftSharepointOnlineRefreshTokenGrantFlow } from '@cdklabs/cdk-appflow'
const microsoftSharepointOnlineRefreshTokenGrantFlow: MicrosoftSharepointOnlineRefreshTokenGrantFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
| refreshToken
| string
| *No description.* |
---
##### `clientId`Optional
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Optional
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
##### `refreshToken`Optional
```typescript
public readonly refreshToken: string;
```
- *Type:* string
---
### MicrosoftSharepointOnlineSourceProps
Properties of a Google Analytics v4 Source.
#### Initializer
```typescript
import { MicrosoftSharepointOnlineSourceProps } from '@cdklabs/cdk-appflow'
const microsoftSharepointOnlineSourceProps: MicrosoftSharepointOnlineSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| apiVersion
| string
| *No description.* |
| object
| string
| *No description.* |
| profile
| MicrosoftSharepointOnlineConnectorProfile
| *No description.* |
---
##### `apiVersion`Required
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: MicrosoftSharepointOnlineConnectorProfile;
```
- *Type:* MicrosoftSharepointOnlineConnectorProfile
---
### OnDemandFlowProps
#### Initializer
```typescript
import { OnDemandFlowProps } from '@cdklabs/cdk-appflow'
const onDemandFlowProps: OnDemandFlowProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| destination
| IDestination
| *No description.* |
| mappings
| IMapping[]
| *No description.* |
| source
| ISource
| *No description.* |
| description
| string
| *No description.* |
| filters
| IFilter[]
| *No description.* |
| key
| aws-cdk-lib.aws_kms.IKey
| *No description.* |
| name
| string
| *No description.* |
| transforms
| ITransform[]
| *No description.* |
| validations
| IValidation[]
| *No description.* |
---
##### `destination`Required
```typescript
public readonly destination: IDestination;
```
- *Type:* IDestination
---
##### `mappings`Required
```typescript
public readonly mappings: IMapping[];
```
- *Type:* IMapping[]
---
##### `source`Required
```typescript
public readonly source: ISource;
```
- *Type:* ISource
---
##### `description`Optional
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `filters`Optional
```typescript
public readonly filters: IFilter[];
```
- *Type:* IFilter[]
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `transforms`Optional
```typescript
public readonly transforms: ITransform[];
```
- *Type:* ITransform[]
---
##### `validations`Optional
```typescript
public readonly validations: IValidation[];
```
- *Type:* IValidation[]
---
### OnEventFlowProps
#### Initializer
```typescript
import { OnEventFlowProps } from '@cdklabs/cdk-appflow'
const onEventFlowProps: OnEventFlowProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| destination
| IDestination
| *No description.* |
| mappings
| IMapping[]
| *No description.* |
| source
| ISource
| *No description.* |
| description
| string
| *No description.* |
| filters
| IFilter[]
| *No description.* |
| key
| aws-cdk-lib.aws_kms.IKey
| *No description.* |
| name
| string
| *No description.* |
| transforms
| ITransform[]
| *No description.* |
| validations
| IValidation[]
| *No description.* |
| autoActivate
| boolean
| *No description.* |
---
##### `destination`Required
```typescript
public readonly destination: IDestination;
```
- *Type:* IDestination
---
##### `mappings`Required
```typescript
public readonly mappings: IMapping[];
```
- *Type:* IMapping[]
---
##### `source`Required
```typescript
public readonly source: ISource;
```
- *Type:* ISource
---
##### `description`Optional
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `filters`Optional
```typescript
public readonly filters: IFilter[];
```
- *Type:* IFilter[]
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `transforms`Optional
```typescript
public readonly transforms: ITransform[];
```
- *Type:* ITransform[]
---
##### `validations`Optional
```typescript
public readonly validations: IValidation[];
```
- *Type:* IValidation[]
---
##### `autoActivate`Optional
```typescript
public readonly autoActivate: boolean;
```
- *Type:* boolean
---
### OnScheduleFlowProps
#### Initializer
```typescript
import { OnScheduleFlowProps } from '@cdklabs/cdk-appflow'
const onScheduleFlowProps: OnScheduleFlowProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| destination
| IDestination
| *No description.* |
| mappings
| IMapping[]
| *No description.* |
| source
| ISource
| *No description.* |
| description
| string
| *No description.* |
| filters
| IFilter[]
| *No description.* |
| key
| aws-cdk-lib.aws_kms.IKey
| *No description.* |
| name
| string
| *No description.* |
| transforms
| ITransform[]
| *No description.* |
| validations
| IValidation[]
| *No description.* |
| autoActivate
| boolean
| *No description.* |
| pullConfig
| DataPullConfig
| *No description.* |
| schedule
| aws-cdk-lib.aws_events.Schedule
| *No description.* |
| scheduleProperties
| ScheduleProperties
| *No description.* |
---
##### `destination`Required
```typescript
public readonly destination: IDestination;
```
- *Type:* IDestination
---
##### `mappings`Required
```typescript
public readonly mappings: IMapping[];
```
- *Type:* IMapping[]
---
##### `source`Required
```typescript
public readonly source: ISource;
```
- *Type:* ISource
---
##### `description`Optional
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `filters`Optional
```typescript
public readonly filters: IFilter[];
```
- *Type:* IFilter[]
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `transforms`Optional
```typescript
public readonly transforms: ITransform[];
```
- *Type:* ITransform[]
---
##### `validations`Optional
```typescript
public readonly validations: IValidation[];
```
- *Type:* IValidation[]
---
##### `autoActivate`Optional
```typescript
public readonly autoActivate: boolean;
```
- *Type:* boolean
---
##### `pullConfig`Required
```typescript
public readonly pullConfig: DataPullConfig;
```
- *Type:* DataPullConfig
---
##### `schedule`Required
```typescript
public readonly schedule: Schedule;
```
- *Type:* aws-cdk-lib.aws_events.Schedule
---
##### `scheduleProperties`Optional
```typescript
public readonly scheduleProperties: ScheduleProperties;
```
- *Type:* ScheduleProperties
---
### RedshiftConnectorBasicCredentials
#### Initializer
```typescript
import { RedshiftConnectorBasicCredentials } from '@cdklabs/cdk-appflow'
const redshiftConnectorBasicCredentials: RedshiftConnectorBasicCredentials = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| password
| string
| *No description.* |
| username
| string
| *No description.* |
---
##### `password`Optional
```typescript
public readonly password: string;
```
- *Type:* string
---
##### `username`Optional
```typescript
public readonly username: string;
```
- *Type:* string
---
### RedshiftConnectorProfileProps
#### Initializer
```typescript
import { RedshiftConnectorProfileProps } from '@cdklabs/cdk-appflow'
const redshiftConnectorProfileProps: RedshiftConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| basicAuth
| RedshiftConnectorBasicCredentials
| *No description.* |
| cluster
| @aws-cdk/aws-redshift-alpha.ICluster
| The Redshift cluster to use this connector profile with. |
| databaseName
| string
| The name of the database which the RedshiftConnectorProfile will be working with. |
| intermediateLocation
| S3Location
| An intermediate location for the data retrieved from the flow source that will be further transferred to the Redshfit database. |
| bucketAccessRole
| aws-cdk-lib.aws_iam.IRole
| An IAM Role that the Redshift cluster will assume to get data from the intermiediate S3 Bucket. |
| dataApiRole
| aws-cdk-lib.aws_iam.IRole
| An IAM Role that AppFlow will assume to interact with the Redshift cluster's Data API. |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `basicAuth`Required
```typescript
public readonly basicAuth: RedshiftConnectorBasicCredentials;
```
- *Type:* RedshiftConnectorBasicCredentials
---
##### `cluster`Required
```typescript
public readonly cluster: ICluster;
```
- *Type:* @aws-cdk/aws-redshift-alpha.ICluster
The Redshift cluster to use this connector profile with.
---
##### `databaseName`Required
```typescript
public readonly databaseName: string;
```
- *Type:* string
The name of the database which the RedshiftConnectorProfile will be working with.
---
##### `intermediateLocation`Required
```typescript
public readonly intermediateLocation: S3Location;
```
- *Type:* S3Location
An intermediate location for the data retrieved from the flow source that will be further transferred to the Redshfit database.
---
##### `bucketAccessRole`Optional
```typescript
public readonly bucketAccessRole: IRole;
```
- *Type:* aws-cdk-lib.aws_iam.IRole
An IAM Role that the Redshift cluster will assume to get data from the intermiediate S3 Bucket.
---
##### `dataApiRole`Optional
```typescript
public readonly dataApiRole: IRole;
```
- *Type:* aws-cdk-lib.aws_iam.IRole
- *Default:* autogenerated IAM role
An IAM Role that AppFlow will assume to interact with the Redshift cluster's Data API.
---
### RedshiftDestinationObject
#### Initializer
```typescript
import { RedshiftDestinationObject } from '@cdklabs/cdk-appflow'
const redshiftDestinationObject: RedshiftDestinationObject = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| table
| string \| @aws-cdk/aws-redshift-alpha.ITable
| *No description.* |
| schema
| string
| *No description.* |
---
##### `table`Required
```typescript
public readonly table: string | ITable;
```
- *Type:* string | @aws-cdk/aws-redshift-alpha.ITable
---
##### `schema`Optional
```typescript
public readonly schema: string;
```
- *Type:* string
- *Default:* public
---
### RedshiftDestinationProps
#### Initializer
```typescript
import { RedshiftDestinationProps } from '@cdklabs/cdk-appflow'
const redshiftDestinationProps: RedshiftDestinationProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| RedshiftDestinationObject
| A Redshift table object (optionally with the schema). |
| profile
| RedshiftConnectorProfile
| An instance of the @type RedshiftConnectorProfile. |
| errorHandling
| ErrorHandlingConfiguration
| The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. |
---
##### `object`Required
```typescript
public readonly object: RedshiftDestinationObject;
```
- *Type:* RedshiftDestinationObject
A Redshift table object (optionally with the schema).
---
##### `profile`Required
```typescript
public readonly profile: RedshiftConnectorProfile;
```
- *Type:* RedshiftConnectorProfile
An instance of the @type RedshiftConnectorProfile.
---
##### `errorHandling`Optional
```typescript
public readonly errorHandling: ErrorHandlingConfiguration;
```
- *Type:* ErrorHandlingConfiguration
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.
---
### S3Catalog
#### Initializer
```typescript
import { S3Catalog } from '@cdklabs/cdk-appflow'
const s3Catalog: S3Catalog = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| database
| @aws-cdk/aws-glue-alpha.Database
| *No description.* |
| tablePrefix
| string
| *No description.* |
---
##### `database`Required
```typescript
public readonly database: Database;
```
- *Type:* @aws-cdk/aws-glue-alpha.Database
---
##### `tablePrefix`Required
```typescript
public readonly tablePrefix: string;
```
- *Type:* string
---
### S3DestinationProps
#### Initializer
```typescript
import { S3DestinationProps } from '@cdklabs/cdk-appflow'
const s3DestinationProps: S3DestinationProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| location
| S3Location
| *No description.* |
| catalog
| S3Catalog
| *No description.* |
| formatting
| S3OutputFormatting
| *No description.* |
---
##### `location`Required
```typescript
public readonly location: S3Location;
```
- *Type:* S3Location
---
##### `catalog`Optional
```typescript
public readonly catalog: S3Catalog;
```
- *Type:* S3Catalog
---
##### `formatting`Optional
```typescript
public readonly formatting: S3OutputFormatting;
```
- *Type:* S3OutputFormatting
---
### S3FileAggregation
#### Initializer
```typescript
import { S3FileAggregation } from '@cdklabs/cdk-appflow'
const s3FileAggregation: S3FileAggregation = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| fileSize
| number
| The maximum size, in MB, of the file containing portion of incoming data. |
| type
| S3OutputAggregationType
| *No description.* |
---
##### `fileSize`Optional
```typescript
public readonly fileSize: number;
```
- *Type:* number
The maximum size, in MB, of the file containing portion of incoming data.
---
##### `type`Optional
```typescript
public readonly type: S3OutputAggregationType;
```
- *Type:* S3OutputAggregationType
---
### S3InputFormat
#### Initializer
```typescript
import { S3InputFormat } from '@cdklabs/cdk-appflow'
const s3InputFormat: S3InputFormat = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| type
| S3InputFileType
| *No description.* |
---
##### `type`Required
```typescript
public readonly type: S3InputFileType;
```
- *Type:* S3InputFileType
---
### S3Location
#### Initializer
```typescript
import { S3Location } from '@cdklabs/cdk-appflow'
const s3Location: S3Location = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| bucket
| aws-cdk-lib.aws_s3.IBucket
| *No description.* |
| prefix
| string
| *No description.* |
---
##### `bucket`Required
```typescript
public readonly bucket: IBucket;
```
- *Type:* aws-cdk-lib.aws_s3.IBucket
---
##### `prefix`Optional
```typescript
public readonly prefix: string;
```
- *Type:* string
---
### S3OutputFilePrefix
#### Initializer
```typescript
import { S3OutputFilePrefix } from '@cdklabs/cdk-appflow'
const s3OutputFilePrefix: S3OutputFilePrefix = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| format
| S3OutputFilePrefixFormat
| *No description.* |
| hierarchy
| S3OutputFilePrefixHierarchy[]
| *No description.* |
| type
| S3OutputFilePrefixType
| *No description.* |
---
##### `format`Optional
```typescript
public readonly format: S3OutputFilePrefixFormat;
```
- *Type:* S3OutputFilePrefixFormat
---
##### `hierarchy`Optional
```typescript
public readonly hierarchy: S3OutputFilePrefixHierarchy[];
```
- *Type:* S3OutputFilePrefixHierarchy[]
---
##### `type`Optional
```typescript
public readonly type: S3OutputFilePrefixType;
```
- *Type:* S3OutputFilePrefixType
---
### S3OutputFormatting
#### Initializer
```typescript
import { S3OutputFormatting } from '@cdklabs/cdk-appflow'
const s3OutputFormatting: S3OutputFormatting = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| aggregation
| S3FileAggregation
| *No description.* |
| filePrefix
| S3OutputFilePrefix
| *No description.* |
| fileType
| S3OutputFileType
| *No description.* |
| preserveSourceDataTypes
| boolean
| *No description.* |
---
##### `aggregation`Optional
```typescript
public readonly aggregation: S3FileAggregation;
```
- *Type:* S3FileAggregation
---
##### `filePrefix`Optional
```typescript
public readonly filePrefix: S3OutputFilePrefix;
```
- *Type:* S3OutputFilePrefix
---
##### `fileType`Optional
```typescript
public readonly fileType: S3OutputFileType;
```
- *Type:* S3OutputFileType
---
##### `preserveSourceDataTypes`Optional
```typescript
public readonly preserveSourceDataTypes: boolean;
```
- *Type:* boolean
---
### S3SourceProps
#### Initializer
```typescript
import { S3SourceProps } from '@cdklabs/cdk-appflow'
const s3SourceProps: S3SourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| bucket
| aws-cdk-lib.aws_s3.IBucket
| *No description.* |
| prefix
| string
| *No description.* |
| format
| S3InputFormat
| *No description.* |
---
##### `bucket`Required
```typescript
public readonly bucket: IBucket;
```
- *Type:* aws-cdk-lib.aws_s3.IBucket
---
##### `prefix`Required
```typescript
public readonly prefix: string;
```
- *Type:* string
---
##### `format`Optional
```typescript
public readonly format: S3InputFormat;
```
- *Type:* S3InputFormat
---
### SalesforceConnectorProfileProps
#### Initializer
```typescript
import { SalesforceConnectorProfileProps } from '@cdklabs/cdk-appflow'
const salesforceConnectorProfileProps: SalesforceConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| instanceUrl
| string
| *No description.* |
| oAuth
| SalesforceOAuthSettings
| *No description.* |
| isSandbox
| boolean
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `instanceUrl`Required
```typescript
public readonly instanceUrl: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: SalesforceOAuthSettings;
```
- *Type:* SalesforceOAuthSettings
---
##### `isSandbox`Optional
```typescript
public readonly isSandbox: boolean;
```
- *Type:* boolean
- *Default:* false
---
### SalesforceDestinationProps
#### Initializer
```typescript
import { SalesforceDestinationProps } from '@cdklabs/cdk-appflow'
const salesforceDestinationProps: SalesforceDestinationProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| The Salesforce object for which the operation is to be set. |
| operation
| WriteOperation
| *No description.* |
| profile
| SalesforceConnectorProfile
| *No description.* |
| dataTransferApi
| SalesforceDataTransferApi
| Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce. |
| errorHandling
| ErrorHandlingConfiguration
| The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
The Salesforce object for which the operation is to be set.
---
##### `operation`Required
```typescript
public readonly operation: WriteOperation;
```
- *Type:* WriteOperation
---
##### `profile`Required
```typescript
public readonly profile: SalesforceConnectorProfile;
```
- *Type:* SalesforceConnectorProfile
---
##### `dataTransferApi`Optional
```typescript
public readonly dataTransferApi: SalesforceDataTransferApi;
```
- *Type:* SalesforceDataTransferApi
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.
---
##### `errorHandling`Optional
```typescript
public readonly errorHandling: ErrorHandlingConfiguration;
```
- *Type:* ErrorHandlingConfiguration
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.
---
### SalesforceMarketingCloudConnectorProfileProps
#### Initializer
```typescript
import { SalesforceMarketingCloudConnectorProfileProps } from '@cdklabs/cdk-appflow'
const salesforceMarketingCloudConnectorProfileProps: SalesforceMarketingCloudConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| instanceUrl
| string
| *No description.* |
| oAuth
| SalesforceMarketingCloudOAuthSettings
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `instanceUrl`Required
```typescript
public readonly instanceUrl: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: SalesforceMarketingCloudOAuthSettings;
```
- *Type:* SalesforceMarketingCloudOAuthSettings
---
### SalesforceMarketingCloudFlowSettings
#### Initializer
```typescript
import { SalesforceMarketingCloudFlowSettings } from '@cdklabs/cdk-appflow'
const salesforceMarketingCloudFlowSettings: SalesforceMarketingCloudFlowSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientCredentials
| SalesforceMarketingCloudOAuthClientSettings
| *No description.* |
---
##### `clientCredentials`Required
```typescript
public readonly clientCredentials: SalesforceMarketingCloudOAuthClientSettings;
```
- *Type:* SalesforceMarketingCloudOAuthClientSettings
---
### SalesforceMarketingCloudOAuthClientSettings
#### Initializer
```typescript
import { SalesforceMarketingCloudOAuthClientSettings } from '@cdklabs/cdk-appflow'
const salesforceMarketingCloudOAuthClientSettings: SalesforceMarketingCloudOAuthClientSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
---
##### `clientId`Required
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Required
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
### SalesforceMarketingCloudOAuthEndpoints
#### Initializer
```typescript
import { SalesforceMarketingCloudOAuthEndpoints } from '@cdklabs/cdk-appflow'
const salesforceMarketingCloudOAuthEndpoints: SalesforceMarketingCloudOAuthEndpoints = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| token
| string
| *No description.* |
---
##### `token`Required
```typescript
public readonly token: string;
```
- *Type:* string
---
### SalesforceMarketingCloudOAuthSettings
#### Initializer
```typescript
import { SalesforceMarketingCloudOAuthSettings } from '@cdklabs/cdk-appflow'
const salesforceMarketingCloudOAuthSettings: SalesforceMarketingCloudOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| endpoints
| SalesforceMarketingCloudOAuthEndpoints
| *No description.* |
| accessToken
| string
| *No description.* |
| flow
| SalesforceMarketingCloudFlowSettings
| *No description.* |
---
##### `endpoints`Required
```typescript
public readonly endpoints: SalesforceMarketingCloudOAuthEndpoints;
```
- *Type:* SalesforceMarketingCloudOAuthEndpoints
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
---
##### `flow`Optional
```typescript
public readonly flow: SalesforceMarketingCloudFlowSettings;
```
- *Type:* SalesforceMarketingCloudFlowSettings
---
### SalesforceMarketingCloudSourceProps
Properties of a Salesforce Marketing Cloud Source.
#### Initializer
```typescript
import { SalesforceMarketingCloudSourceProps } from '@cdklabs/cdk-appflow'
const salesforceMarketingCloudSourceProps: SalesforceMarketingCloudSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| apiVersion
| string
| *No description.* |
| object
| string
| *No description.* |
| profile
| SalesforceMarketingCloudConnectorProfile
| *No description.* |
---
##### `apiVersion`Required
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: SalesforceMarketingCloudConnectorProfile;
```
- *Type:* SalesforceMarketingCloudConnectorProfile
---
### SalesforceOAuthFlow
#### Initializer
```typescript
import { SalesforceOAuthFlow } from '@cdklabs/cdk-appflow'
const salesforceOAuthFlow: SalesforceOAuthFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| refresTokenGrant
| SalesforceOAuthRefreshTokenGrantFlow
| *No description.* |
---
##### `refresTokenGrant`Required
```typescript
public readonly refresTokenGrant: SalesforceOAuthRefreshTokenGrantFlow;
```
- *Type:* SalesforceOAuthRefreshTokenGrantFlow
---
### SalesforceOAuthRefreshTokenGrantFlow
#### Initializer
```typescript
import { SalesforceOAuthRefreshTokenGrantFlow } from '@cdklabs/cdk-appflow'
const salesforceOAuthRefreshTokenGrantFlow: SalesforceOAuthRefreshTokenGrantFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| client
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
| refreshToken
| string
| *No description.* |
---
##### `client`Optional
```typescript
public readonly client: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
##### `refreshToken`Optional
```typescript
public readonly refreshToken: string;
```
- *Type:* string
---
### SalesforceOAuthSettings
#### Initializer
```typescript
import { SalesforceOAuthSettings } from '@cdklabs/cdk-appflow'
const salesforceOAuthSettings: SalesforceOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| accessToken
| string
| *No description.* |
| flow
| SalesforceOAuthFlow
| *No description.* |
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
---
##### `flow`Optional
```typescript
public readonly flow: SalesforceOAuthFlow;
```
- *Type:* SalesforceOAuthFlow
---
### SalesforceSourceProps
#### Initializer
```typescript
import { SalesforceSourceProps } from '@cdklabs/cdk-appflow'
const salesforceSourceProps: SalesforceSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| *No description.* |
| profile
| SalesforceConnectorProfile
| *No description.* |
| apiVersion
| string
| *No description.* |
| enableDynamicFieldUpdate
| boolean
| *No description.* |
| includeDeletedRecords
| boolean
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: SalesforceConnectorProfile;
```
- *Type:* SalesforceConnectorProfile
---
##### `apiVersion`Optional
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
##### `enableDynamicFieldUpdate`Optional
```typescript
public readonly enableDynamicFieldUpdate: boolean;
```
- *Type:* boolean
---
##### `includeDeletedRecords`Optional
```typescript
public readonly includeDeletedRecords: boolean;
```
- *Type:* boolean
---
### SAPOdataBasicAuthSettings
#### Initializer
```typescript
import { SAPOdataBasicAuthSettings } from '@cdklabs/cdk-appflow'
const sAPOdataBasicAuthSettings: SAPOdataBasicAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| password
| string
| *No description.* |
| username
| string
| *No description.* |
---
##### `password`Required
```typescript
public readonly password: string;
```
- *Type:* string
---
##### `username`Required
```typescript
public readonly username: string;
```
- *Type:* string
---
### SAPOdataConnectorProfileProps
#### Initializer
```typescript
import { SAPOdataConnectorProfileProps } from '@cdklabs/cdk-appflow'
const sAPOdataConnectorProfileProps: SAPOdataConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| applicationHostUrl
| string
| *No description.* |
| applicationServicePath
| string
| *No description.* |
| clientNumber
| string
| *No description.* |
| logonLanguage
| string
| *No description.* |
| basicAuth
| SAPOdataBasicAuthSettings
| *No description.* |
| oAuth
| SAPOdataOAuthSettings
| *No description.* |
| portNumber
| number
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `applicationHostUrl`Required
```typescript
public readonly applicationHostUrl: string;
```
- *Type:* string
---
##### `applicationServicePath`Required
```typescript
public readonly applicationServicePath: string;
```
- *Type:* string
---
##### `clientNumber`Required
```typescript
public readonly clientNumber: string;
```
- *Type:* string
---
##### `logonLanguage`Required
```typescript
public readonly logonLanguage: string;
```
- *Type:* string
---
##### `basicAuth`Optional
```typescript
public readonly basicAuth: SAPOdataBasicAuthSettings;
```
- *Type:* SAPOdataBasicAuthSettings
---
##### `oAuth`Optional
```typescript
public readonly oAuth: SAPOdataOAuthSettings;
```
- *Type:* SAPOdataOAuthSettings
---
##### `portNumber`Optional
```typescript
public readonly portNumber: number;
```
- *Type:* number
---
### SAPOdataDestinationProps
#### Initializer
```typescript
import { SAPOdataDestinationProps } from '@cdklabs/cdk-appflow'
const sAPOdataDestinationProps: SAPOdataDestinationProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| The SAPOdata object for which the operation is to be set. |
| operation
| WriteOperation
| *No description.* |
| profile
| SAPOdataConnectorProfile
| *No description.* |
| errorHandling
| ErrorHandlingConfiguration
| The settings that determine how Amazon AppFlow handles an error when placing data in the SAPOdata destination. |
| successResponseHandling
| SAPOdataSuccessResponseHandlingConfiguration
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
The SAPOdata object for which the operation is to be set.
---
##### `operation`Required
```typescript
public readonly operation: WriteOperation;
```
- *Type:* WriteOperation
---
##### `profile`Required
```typescript
public readonly profile: SAPOdataConnectorProfile;
```
- *Type:* SAPOdataConnectorProfile
---
##### `errorHandling`Optional
```typescript
public readonly errorHandling: ErrorHandlingConfiguration;
```
- *Type:* ErrorHandlingConfiguration
The settings that determine how Amazon AppFlow handles an error when placing data in the SAPOdata 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.
---
##### `successResponseHandling`Optional
```typescript
public readonly successResponseHandling: SAPOdataSuccessResponseHandlingConfiguration;
```
- *Type:* SAPOdataSuccessResponseHandlingConfiguration
---
### SAPOdataOAuthEndpoints
#### Initializer
```typescript
import { SAPOdataOAuthEndpoints } from '@cdklabs/cdk-appflow'
const sAPOdataOAuthEndpoints: SAPOdataOAuthEndpoints = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| token
| string
| *No description.* |
---
##### `token`Required
```typescript
public readonly token: string;
```
- *Type:* string
---
### SAPOdataOAuthFlows
#### Initializer
```typescript
import { SAPOdataOAuthFlows } from '@cdklabs/cdk-appflow'
const sAPOdataOAuthFlows: SAPOdataOAuthFlows = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| refreshTokenGrant
| SAPOdataOAuthRefreshTokenGrantFlow
| *No description.* |
---
##### `refreshTokenGrant`Required
```typescript
public readonly refreshTokenGrant: SAPOdataOAuthRefreshTokenGrantFlow;
```
- *Type:* SAPOdataOAuthRefreshTokenGrantFlow
---
### SAPOdataOAuthRefreshTokenGrantFlow
#### Initializer
```typescript
import { SAPOdataOAuthRefreshTokenGrantFlow } from '@cdklabs/cdk-appflow'
const sAPOdataOAuthRefreshTokenGrantFlow: SAPOdataOAuthRefreshTokenGrantFlow = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
| refreshToken
| string
| *No description.* |
---
##### `clientId`Required
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Required
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
##### `refreshToken`Optional
```typescript
public readonly refreshToken: string;
```
- *Type:* string
---
### SAPOdataOAuthSettings
#### Initializer
```typescript
import { SAPOdataOAuthSettings } from '@cdklabs/cdk-appflow'
const sAPOdataOAuthSettings: SAPOdataOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| accessToken
| string
| *No description.* |
| endpoints
| SAPOdataOAuthEndpoints
| *No description.* |
| flow
| SAPOdataOAuthFlows
| *No description.* |
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
---
##### `endpoints`Optional
```typescript
public readonly endpoints: SAPOdataOAuthEndpoints;
```
- *Type:* SAPOdataOAuthEndpoints
---
##### `flow`Optional
```typescript
public readonly flow: SAPOdataOAuthFlows;
```
- *Type:* SAPOdataOAuthFlows
---
### SAPOdataSourceProps
#### Initializer
```typescript
import { SAPOdataSourceProps } from '@cdklabs/cdk-appflow'
const sAPOdataSourceProps: SAPOdataSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| *No description.* |
| profile
| SAPOdataConnectorProfile
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: SAPOdataConnectorProfile;
```
- *Type:* SAPOdataConnectorProfile
---
### SAPOdataSuccessResponseHandlingConfiguration
#### Initializer
```typescript
import { SAPOdataSuccessResponseHandlingConfiguration } from '@cdklabs/cdk-appflow'
const sAPOdataSuccessResponseHandlingConfiguration: SAPOdataSuccessResponseHandlingConfiguration = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| location
| S3Location
| *No description.* |
---
##### `location`Required
```typescript
public readonly location: S3Location;
```
- *Type:* S3Location
---
### ScheduleProperties
#### Initializer
```typescript
import { ScheduleProperties } from '@cdklabs/cdk-appflow'
const scheduleProperties: ScheduleProperties = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| endTime
| Date
| *No description.* |
| firstExecutionFrom
| Date
| Timestamp for the records to import from the connector in the first flow run. |
| offset
| aws-cdk-lib.Duration
| *No description.* |
| startTime
| Date
| *No description.* |
| timezone
| string
| *No description.* |
---
##### `endTime`Optional
```typescript
public readonly endTime: Date;
```
- *Type:* Date
---
##### `firstExecutionFrom`Optional
```typescript
public readonly firstExecutionFrom: Date;
```
- *Type:* Date
- *Default:* 30 days back from the initial frow run
Timestamp for the records to import from the connector in the first flow run.
---
##### `offset`Optional
```typescript
public readonly offset: Duration;
```
- *Type:* aws-cdk-lib.Duration
---
##### `startTime`Optional
```typescript
public readonly startTime: Date;
```
- *Type:* Date
---
##### `timezone`Optional
```typescript
public readonly timezone: string;
```
- *Type:* string
---
### ServiceNowBasicSettings
#### Initializer
```typescript
import { ServiceNowBasicSettings } from '@cdklabs/cdk-appflow'
const serviceNowBasicSettings: ServiceNowBasicSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| password
| string
| *No description.* |
| username
| string
| *No description.* |
---
##### `password`Required
```typescript
public readonly password: string;
```
- *Type:* string
---
##### `username`Required
```typescript
public readonly username: string;
```
- *Type:* string
---
### ServiceNowConnectorProfileProps
#### Initializer
```typescript
import { ServiceNowConnectorProfileProps } from '@cdklabs/cdk-appflow'
const serviceNowConnectorProfileProps: ServiceNowConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| basicAuth
| ServiceNowBasicSettings
| *No description.* |
| instanceUrl
| string
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `basicAuth`Required
```typescript
public readonly basicAuth: ServiceNowBasicSettings;
```
- *Type:* ServiceNowBasicSettings
---
##### `instanceUrl`Required
```typescript
public readonly instanceUrl: string;
```
- *Type:* string
---
### ServiceNowSourceProps
#### Initializer
```typescript
import { ServiceNowSourceProps } from '@cdklabs/cdk-appflow'
const serviceNowSourceProps: ServiceNowSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| *No description.* |
| profile
| ServiceNowConnectorProfile
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: ServiceNowConnectorProfile;
```
- *Type:* ServiceNowConnectorProfile
---
### SlackConnectorProfileProps
#### Initializer
```typescript
import { SlackConnectorProfileProps } from '@cdklabs/cdk-appflow'
const slackConnectorProfileProps: SlackConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| instanceUrl
| string
| *No description.* |
| oAuth
| SlackOAuthSettings
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `instanceUrl`Required
```typescript
public readonly instanceUrl: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: SlackOAuthSettings;
```
- *Type:* SlackOAuthSettings
---
### SlackOAuthSettings
#### Initializer
```typescript
import { SlackOAuthSettings } from '@cdklabs/cdk-appflow'
const slackOAuthSettings: SlackOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| accessToken
| string
| *No description.* |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
---
##### `accessToken`Required
```typescript
public readonly accessToken: string;
```
- *Type:* string
---
##### `clientId`Optional
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Optional
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
### SlackSourceProps
#### Initializer
```typescript
import { SlackSourceProps } from '@cdklabs/cdk-appflow'
const slackSourceProps: SlackSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| *No description.* |
| profile
| SlackConnectorProfile
| *No description.* |
| apiVersion
| string
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: SlackConnectorProfile;
```
- *Type:* SlackConnectorProfile
---
##### `apiVersion`Optional
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
### TaskConnectorOperator
A pair that represents the (typically source) connector, and a task operation to be performed in the context of the connector.
#### Initializer
```typescript
import { TaskConnectorOperator } from '@cdklabs/cdk-appflow'
const taskConnectorOperator: TaskConnectorOperator = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| operation
| string
| *No description.* |
| type
| ConnectorType
| *No description.* |
---
##### `operation`Required
```typescript
public readonly operation: string;
```
- *Type:* string
---
##### `type`Optional
```typescript
public readonly type: ConnectorType;
```
- *Type:* ConnectorType
---
### TaskProperties
A generic bucket for the task properties.
#### Initializer
```typescript
import { TaskProperties } from '@cdklabs/cdk-appflow'
const taskProperties: TaskProperties = { ... }
```
### TriggerConfig
#### Initializer
```typescript
import { TriggerConfig } from '@cdklabs/cdk-appflow'
const triggerConfig: TriggerConfig = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| properties
| TriggerProperties
| *No description.* |
---
##### `properties`Optional
```typescript
public readonly properties: TriggerProperties;
```
- *Type:* TriggerProperties
---
### TriggeredFlowBaseProps
#### Initializer
```typescript
import { TriggeredFlowBaseProps } from '@cdklabs/cdk-appflow'
const triggeredFlowBaseProps: TriggeredFlowBaseProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| destination
| IDestination
| *No description.* |
| mappings
| IMapping[]
| *No description.* |
| source
| ISource
| *No description.* |
| description
| string
| *No description.* |
| filters
| IFilter[]
| *No description.* |
| key
| aws-cdk-lib.aws_kms.IKey
| *No description.* |
| name
| string
| *No description.* |
| transforms
| ITransform[]
| *No description.* |
| validations
| IValidation[]
| *No description.* |
| autoActivate
| boolean
| *No description.* |
---
##### `destination`Required
```typescript
public readonly destination: IDestination;
```
- *Type:* IDestination
---
##### `mappings`Required
```typescript
public readonly mappings: IMapping[];
```
- *Type:* IMapping[]
---
##### `source`Required
```typescript
public readonly source: ISource;
```
- *Type:* ISource
---
##### `description`Optional
```typescript
public readonly description: string;
```
- *Type:* string
---
##### `filters`Optional
```typescript
public readonly filters: IFilter[];
```
- *Type:* IFilter[]
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `transforms`Optional
```typescript
public readonly transforms: ITransform[];
```
- *Type:* ITransform[]
---
##### `validations`Optional
```typescript
public readonly validations: IValidation[];
```
- *Type:* IValidation[]
---
##### `autoActivate`Optional
```typescript
public readonly autoActivate: boolean;
```
- *Type:* boolean
---
### TriggerProperties
#### Initializer
```typescript
import { TriggerProperties } from '@cdklabs/cdk-appflow'
const triggerProperties: TriggerProperties = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| dataPullConfig
| DataPullConfig
| *No description.* |
| schedule
| aws-cdk-lib.aws_events.Schedule
| *No description.* |
| flowErrorDeactivationThreshold
| number
| *No description.* |
| properties
| ScheduleProperties
| *No description.* |
---
##### `dataPullConfig`Required
```typescript
public readonly dataPullConfig: DataPullConfig;
```
- *Type:* DataPullConfig
---
##### `schedule`Required
```typescript
public readonly schedule: Schedule;
```
- *Type:* aws-cdk-lib.aws_events.Schedule
---
##### `flowErrorDeactivationThreshold`Optional
```typescript
public readonly flowErrorDeactivationThreshold: number;
```
- *Type:* number
---
##### `properties`Optional
```typescript
public readonly properties: ScheduleProperties;
```
- *Type:* ScheduleProperties
---
### ZendeskConnectorProfileProps
#### Initializer
```typescript
import { ZendeskConnectorProfileProps } from '@cdklabs/cdk-appflow'
const zendeskConnectorProfileProps: ZendeskConnectorProfileProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
| name
| string
| *No description.* |
| instanceUrl
| string
| *No description.* |
| oAuth
| ZendeskOAuthSettings
| *No description.* |
---
##### `key`Optional
```typescript
public readonly key: IKey;
```
- *Type:* aws-cdk-lib.aws_kms.IKey
TODO: think if this should be here as not all connector profiles have that.
---
##### `name`Optional
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `instanceUrl`Required
```typescript
public readonly instanceUrl: string;
```
- *Type:* string
---
##### `oAuth`Required
```typescript
public readonly oAuth: ZendeskOAuthSettings;
```
- *Type:* ZendeskOAuthSettings
---
### ZendeskOAuthSettings
#### Initializer
```typescript
import { ZendeskOAuthSettings } from '@cdklabs/cdk-appflow'
const zendeskOAuthSettings: ZendeskOAuthSettings = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| clientId
| string
| *No description.* |
| clientSecret
| string
| *No description.* |
| accessToken
| string
| *No description.* |
---
##### `clientId`Required
```typescript
public readonly clientId: string;
```
- *Type:* string
---
##### `clientSecret`Required
```typescript
public readonly clientSecret: string;
```
- *Type:* string
---
##### `accessToken`Optional
```typescript
public readonly accessToken: string;
```
- *Type:* string
---
### ZendeskSourceProps
#### Initializer
```typescript
import { ZendeskSourceProps } from '@cdklabs/cdk-appflow'
const zendeskSourceProps: ZendeskSourceProps = { ... }
```
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| object
| string
| *No description.* |
| profile
| ZendeskConnectorProfile
| *No description.* |
| apiVersion
| string
| *No description.* |
---
##### `object`Required
```typescript
public readonly object: string;
```
- *Type:* string
---
##### `profile`Required
```typescript
public readonly profile: ZendeskConnectorProfile;
```
- *Type:* ZendeskConnectorProfile
---
##### `apiVersion`Optional
```typescript
public readonly apiVersion: string;
```
- *Type:* string
---
## Classes
### ConnectorType
#### Initializers
```typescript
import { ConnectorType } from '@cdklabs/cdk-appflow'
new ConnectorType(name: string, isCustom: boolean)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| name
| string
| *No description.* |
| isCustom
| boolean
| *No description.* |
---
##### `name`Required
- *Type:* string
---
##### `isCustom`Required
- *Type:* boolean
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| asProfileConnectorType
| string
| *No description.* |
| asTaskConnectorOperatorOrigin
| string
| *No description.* |
| isCustom
| boolean
| *No description.* |
| asProfileConnectorLabel
| string
| *No description.* |
---
##### `asProfileConnectorType`Required
```typescript
public readonly asProfileConnectorType: string;
```
- *Type:* string
---
##### `asTaskConnectorOperatorOrigin`Required
```typescript
public readonly asTaskConnectorOperatorOrigin: string;
```
- *Type:* string
---
##### `isCustom`Required
```typescript
public readonly isCustom: boolean;
```
- *Type:* boolean
---
##### `asProfileConnectorLabel`Optional
```typescript
public readonly asProfileConnectorLabel: string;
```
- *Type:* string
---
### EventBridgeDestination
- *Implements:* IDestination
#### Initializers
```typescript
import { EventBridgeDestination } from '@cdklabs/cdk-appflow'
new EventBridgeDestination(props: EventBridgeDestinationProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| EventBridgeDestinationProps
| *No description.* |
---
##### `props`Required
- *Type:* EventBridgeDestinationProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): DestinationFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### EventSources
#### Initializers
```typescript
import { EventSources } from '@cdklabs/cdk-appflow'
new EventSources()
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| salesforceEventSource
| *No description.* |
---
##### `salesforceEventSource`
```typescript
import { EventSources } from '@cdklabs/cdk-appflow'
EventSources.salesforceEventSource(suffix?: string)
```
###### `suffix`Optional
- *Type:* string
---
### Filter
- *Implements:* IFilter
A representation of a mapping operation, that is an operation filtering records at the source.
#### Initializers
```typescript
import { Filter } from '@cdklabs/cdk-appflow'
new Filter(condition: FilterCondition)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| condition
| FilterCondition
| *No description.* |
---
##### `condition`Required
- *Type:* FilterCondition
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty[]
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| when
| Builds a filter operation on source. |
---
##### `when`
```typescript
import { Filter } from '@cdklabs/cdk-appflow'
Filter.when(condition: FilterCondition)
```
Builds a filter operation on source.
> [FilterCondition instance](FilterCondition instance)
###### `condition`Required
- *Type:* FilterCondition
a.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| condition
| FilterCondition
| *No description.* |
---
##### `condition`Required
```typescript
public readonly condition: FilterCondition;
```
- *Type:* FilterCondition
---
### FilterCondition
A representation of a filter operation condtiion on a source record field.
#### Initializers
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
new FilterCondition(field: Field, filter: string, properties: TaskProperties)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| field
| Field
| *No description.* |
| filter
| string
| *No description.* |
| properties
| TaskProperties
| *No description.* |
---
##### `field`Required
- *Type:* Field
---
##### `filter`Required
- *Type:* string
---
##### `properties`Required
- *Type:* TaskProperties
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| booleanEquals
| *No description.* |
| booleanNotEquals
| *No description.* |
| numberEquals
| *No description.* |
| numberGreaterThan
| *No description.* |
| numberGreaterThanEquals
| *No description.* |
| numberLessThan
| *No description.* |
| numberLessThanEquals
| *No description.* |
| numberNotEquals
| *No description.* |
| stringContains
| A condition testing whether a string-type source field contains the given value(s). |
| stringEquals
| A condition testing whether a string-type source field equals the given value(s). |
| stringNotEquals
| A condition testing whether a string-type source field does not equal the given value(s). |
| timestampBetween
| *No description.* |
| timestampEquals
| *No description.* |
| timestampGreaterThan
| *No description.* |
| timestampGreaterThanEquals
| *No description.* |
| timestampLessThan
| *No description.* |
| timestampLessThanEquals
| *No description.* |
| timestampNotEquals
| *No description.* |
---
##### `booleanEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.booleanEquals(field: Field, val: boolean | boolean[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* boolean | boolean[]
---
##### `booleanNotEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.booleanNotEquals(field: Field, val: boolean | boolean[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* boolean | boolean[]
---
##### `numberEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.numberEquals(field: Field, val: number | number[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* number | number[]
---
##### `numberGreaterThan`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.numberGreaterThan(field: Field, val: number)
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* number
---
##### `numberGreaterThanEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.numberGreaterThanEquals(field: Field, val: number)
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* number
---
##### `numberLessThan`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.numberLessThan(field: Field, val: number)
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* number
---
##### `numberLessThanEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.numberLessThanEquals(field: Field, val: number)
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* number
---
##### `numberNotEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.numberNotEquals(field: Field, val: number | number[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* number | number[]
---
##### `stringContains`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.stringContains(field: Field, val: string | string[])
```
A condition testing whether a string-type source field contains the given value(s).
NOTE: When multiple values are passed the evaluation is resolved as logical OR
> [FilterCondition](FilterCondition)
###### `field`Required
- *Type:* Field
a source field of a string type.
---
###### `val`Required
- *Type:* string | string[]
a value (or values) to be contained by the field value.
---
##### `stringEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.stringEquals(field: Field, val: string | string[])
```
A condition testing whether a string-type source field equals the given value(s).
NOTE: When multiple values are passed the evaluation is resolved as logical OR
> [FilterCondition](FilterCondition)
###### `field`Required
- *Type:* Field
a source field of a string type.
---
###### `val`Required
- *Type:* string | string[]
a value (or values) to be contained by the field value.
---
##### `stringNotEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.stringNotEquals(field: Field, val: string | string[])
```
A condition testing whether a string-type source field does not equal the given value(s).
NOTE: When multiple values are passed the evaluation is resolved as logical OR
> [FilterCondition](FilterCondition)
###### `field`Required
- *Type:* Field
a source field of a string type.
---
###### `val`Required
- *Type:* string | string[]
a value (or values) to be contained by the field value.
---
##### `timestampBetween`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampBetween(field: Field, lower: Date, upper: Date)
```
###### `field`Required
- *Type:* Field
---
###### `lower`Required
- *Type:* Date
---
###### `upper`Required
- *Type:* Date
---
##### `timestampEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampEquals(field: Field, val: Date | Date[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* Date | Date[]
---
##### `timestampGreaterThan`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampGreaterThan(field: Field, val: Date | Date[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* Date | Date[]
---
##### `timestampGreaterThanEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampGreaterThanEquals(field: Field, val: Date | Date[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* Date | Date[]
---
##### `timestampLessThan`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampLessThan(field: Field, val: Date | Date[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* Date | Date[]
---
##### `timestampLessThanEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampLessThanEquals(field: Field, val: Date | Date[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* Date | Date[]
---
##### `timestampNotEquals`
```typescript
import { FilterCondition } from '@cdklabs/cdk-appflow'
FilterCondition.timestampNotEquals(field: Field, val: Date | Date[])
```
###### `field`Required
- *Type:* Field
---
###### `val`Required
- *Type:* Date | Date[]
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| field
| Field
| *No description.* |
| filter
| string
| *No description.* |
| properties
| TaskProperties
| *No description.* |
---
##### `field`Required
```typescript
public readonly field: Field;
```
- *Type:* Field
---
##### `filter`Required
```typescript
public readonly filter: string;
```
- *Type:* string
---
##### `properties`Required
```typescript
public readonly properties: TaskProperties;
```
- *Type:* TaskProperties
---
### GoogleAnalytics4Source
- *Implements:* ISource
A class that represents a Google Analytics v4 Source.
#### Initializers
```typescript
import { GoogleAnalytics4Source } from '@cdklabs/cdk-appflow'
new GoogleAnalytics4Source(props: GoogleAnalytics4SourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| GoogleAnalytics4SourceProps
| *No description.* |
---
##### `props`Required
- *Type:* GoogleAnalytics4SourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): SourceFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### Mapping
- *Implements:* IMapping
A representation of an instance of a mapping operation, that is an operation translating source to destination fields.
#### Initializers
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
new Mapping(tasks: ITask[])
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| tasks
| ITask[]
| *No description.* |
---
##### `tasks`Required
- *Type:* ITask[]
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty[]
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| add
| Specifies an addition mapping of two numeric values from asource to a destination. |
| concat
| A mapping definition building concatenation of source fields into a destination field. |
| divide
| Specifies a division mapping of two numeric values from a source to a destination. |
| map
| *No description.* |
| mapAll
| *No description.* |
| multiply
| Specifies a multiplication mapping of two numeric values from a source to a destination. |
| subtract
| Specifies a subtraction mapping of two numeric values from a source to a destination. |
---
##### `add`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.add(sourceField1: Field, sourceField2: Field, to: Field)
```
Specifies an addition mapping of two numeric values from asource to a destination.
###### `sourceField1`Required
- *Type:* Field
a numeric value.
---
###### `sourceField2`Required
- *Type:* Field
a numeric value.
---
###### `to`Required
- *Type:* Field
a numeric value.
---
##### `concat`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.concat(from: Field[], to: Field, format: string)
```
A mapping definition building concatenation of source fields into a destination field.
###### `from`Required
- *Type:* Field[]
an array of source fields.
---
###### `to`Required
- *Type:* Field
a desintation field.
---
###### `format`Required
- *Type:* string
a format.
---
##### `divide`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.divide(sourceField1: Field, sourceField2: Field, to: Field)
```
Specifies a division mapping of two numeric values from a source to a destination.
###### `sourceField1`Required
- *Type:* Field
a numeric value.
---
###### `sourceField2`Required
- *Type:* Field
a numeric value.
---
###### `to`Required
- *Type:* Field
a numeric value.
---
##### `map`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.map(from: Field, to: Field)
```
###### `from`Required
- *Type:* Field
---
###### `to`Required
- *Type:* Field
---
##### `mapAll`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.mapAll(config?: MapAllConfig)
```
###### `config`Optional
- *Type:* MapAllConfig
---
##### `multiply`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.multiply(sourceField1: Field, sourceField2: Field, to: Field)
```
Specifies a multiplication mapping of two numeric values from a source to a destination.
###### `sourceField1`Required
- *Type:* Field
a numeric value.
---
###### `sourceField2`Required
- *Type:* Field
a numeric value.
---
###### `to`Required
- *Type:* Field
a numeric value.
---
##### `subtract`
```typescript
import { Mapping } from '@cdklabs/cdk-appflow'
Mapping.subtract(sourceField1: Field, sourceField2: Field, to: Field)
```
Specifies a subtraction mapping of two numeric values from a source to a destination.
###### `sourceField1`Required
- *Type:* Field
a numeric value.
---
###### `sourceField2`Required
- *Type:* Field
a numeric value.
---
###### `to`Required
- *Type:* Field
a numeric value.
---
### MarketoInstanceUrlBuilder
#### Initializers
```typescript
import { MarketoInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
new MarketoInstanceUrlBuilder()
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| buildFromAccount
| *No description.* |
---
##### `buildFromAccount`
```typescript
import { MarketoInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
MarketoInstanceUrlBuilder.buildFromAccount(account: string)
```
###### `account`Required
- *Type:* string
---
### MarketoSource
- *Implements:* ISource
#### Initializers
```typescript
import { MarketoSource } from '@cdklabs/cdk-appflow'
new MarketoSource(props: MarketoSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| MarketoSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* MarketoSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): SourceFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### MicrosoftSharepointOnlineSource
- *Implements:* ISource
A class that represents a Google Analytics v4 Source.
#### Initializers
```typescript
import { MicrosoftSharepointOnlineSource } from '@cdklabs/cdk-appflow'
new MicrosoftSharepointOnlineSource(props: MicrosoftSharepointOnlineSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| MicrosoftSharepointOnlineSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* MicrosoftSharepointOnlineSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): SourceFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### MicrosoftSharepointOnlineTokenUrlBuilder
#### Initializers
```typescript
import { MicrosoftSharepointOnlineTokenUrlBuilder } from '@cdklabs/cdk-appflow'
new MicrosoftSharepointOnlineTokenUrlBuilder()
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| buildFromTenant
| *No description.* |
---
##### `buildFromTenant`
```typescript
import { MicrosoftSharepointOnlineTokenUrlBuilder } from '@cdklabs/cdk-appflow'
MicrosoftSharepointOnlineTokenUrlBuilder.buildFromTenant(tenantId: string)
```
###### `tenantId`Required
- *Type:* string
---
### OperationBase
- *Implements:* IOperation
A base class for all operations.
#### Initializers
```typescript
import { OperationBase } from '@cdklabs/cdk-appflow'
new OperationBase(tasks: ITask[])
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| tasks
| ITask[]
| *No description.* |
---
##### `tasks`Required
- *Type:* ITask[]
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty[]
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
### RedshiftDestination
- *Implements:* IDestination
#### Initializers
```typescript
import { RedshiftDestination } from '@cdklabs/cdk-appflow'
new RedshiftDestination(props: RedshiftDestinationProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| RedshiftDestinationProps
| *No description.* |
---
##### `props`Required
- *Type:* RedshiftDestinationProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): DestinationFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### S3Destination
- *Implements:* IDestination
#### Initializers
```typescript
import { S3Destination } from '@cdklabs/cdk-appflow'
new S3Destination(props: S3DestinationProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| S3DestinationProps
| *No description.* |
---
##### `props`Required
- *Type:* S3DestinationProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): DestinationFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### S3Source
- *Implements:* ISource
#### Initializers
```typescript
import { S3Source } from '@cdklabs/cdk-appflow'
new S3Source(props: S3SourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| S3SourceProps
| *No description.* |
---
##### `props`Required
- *Type:* S3SourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): SourceFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### SalesforceDestination
- *Implements:* IDestination
#### Initializers
```typescript
import { SalesforceDestination } from '@cdklabs/cdk-appflow'
new SalesforceDestination(props: SalesforceDestinationProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| SalesforceDestinationProps
| *No description.* |
---
##### `props`Required
- *Type:* SalesforceDestinationProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): DestinationFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### SalesforceMarketingCloudSource
- *Implements:* ISource
A class that represents a Salesforce Marketing Cloud Source.
#### Initializers
```typescript
import { SalesforceMarketingCloudSource } from '@cdklabs/cdk-appflow'
new SalesforceMarketingCloudSource(props: SalesforceMarketingCloudSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| SalesforceMarketingCloudSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* SalesforceMarketingCloudSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): SourceFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### SalesforceSource
- *Implements:* ISource
#### Initializers
```typescript
import { SalesforceSource } from '@cdklabs/cdk-appflow'
new SalesforceSource(props: SalesforceSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| SalesforceSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* SalesforceSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): SourceFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### SAPOdataDestination
- *Implements:* IDestination
#### Initializers
```typescript
import { SAPOdataDestination } from '@cdklabs/cdk-appflow'
new SAPOdataDestination(props: SAPOdataDestinationProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| SAPOdataDestinationProps
| *No description.* |
---
##### `props`Required
- *Type:* SAPOdataDestinationProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): DestinationFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### SAPOdataSource
- *Implements:* ISource
#### Initializers
```typescript
import { SAPOdataSource } from '@cdklabs/cdk-appflow'
new SAPOdataSource(props: SAPOdataSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| SAPOdataSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* SAPOdataSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): SourceFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### ServiceNowInstanceUrlBuilder
#### Initializers
```typescript
import { ServiceNowInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
new ServiceNowInstanceUrlBuilder()
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| buildFromDomain
| *No description.* |
---
##### `buildFromDomain`
```typescript
import { ServiceNowInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
ServiceNowInstanceUrlBuilder.buildFromDomain(domain: string)
```
###### `domain`Required
- *Type:* string
---
### ServiceNowSource
- *Implements:* ISource
#### Initializers
```typescript
import { ServiceNowSource } from '@cdklabs/cdk-appflow'
new ServiceNowSource(props: ServiceNowSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| ServiceNowSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* ServiceNowSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): SourceFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### SlackInstanceUrlBuilder
#### Initializers
```typescript
import { SlackInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
new SlackInstanceUrlBuilder()
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| buildFromWorkspace
| *No description.* |
---
##### `buildFromWorkspace`
```typescript
import { SlackInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
SlackInstanceUrlBuilder.buildFromWorkspace(workspace: string)
```
###### `workspace`Required
- *Type:* string
---
### SlackSource
- *Implements:* ISource
#### Initializers
```typescript
import { SlackSource } from '@cdklabs/cdk-appflow'
new SlackSource(props: SlackSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| SlackSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* SlackSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): SourceFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### Task
- *Implements:* ITask
A representation of a unitary action on the record fields.
#### Initializers
```typescript
import { Task } from '@cdklabs/cdk-appflow'
new Task(type: string, sourceFields: string[], connectorOperator: TaskConnectorOperator, properties: TaskProperties, destinationField?: string)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| type
| string
| *No description.* |
| sourceFields
| string[]
| *No description.* |
| connectorOperator
| TaskConnectorOperator
| *No description.* |
| properties
| TaskProperties
| *No description.* |
| destinationField
| string
| *No description.* |
---
##### `type`Required
- *Type:* string
---
##### `sourceFields`Required
- *Type:* string[]
---
##### `connectorOperator`Required
- *Type:* TaskConnectorOperator
---
##### `properties`Required
- *Type:* TaskProperties
---
##### `destinationField`Optional
- *Type:* string
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(_flow: IFlow, source: ISource): TaskProperty
```
###### `_flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
### Transform
- *Implements:* ITransform
A representation of a transform operation, that is an operation modifying source fields.
#### Initializers
```typescript
import { Transform } from '@cdklabs/cdk-appflow'
new Transform(tasks: ITask[])
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| tasks
| ITask[]
| *No description.* |
---
##### `tasks`Required
- *Type:* ITask[]
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty[]
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| mask
| Masks the field with a specified mask. |
| maskEnd
| *No description.* |
| maskStart
| *No description.* |
| truncate
| Truncates the field to a specified length. |
---
##### `mask`
```typescript
import { Transform } from '@cdklabs/cdk-appflow'
Transform.mask(field: string | Field, mask?: string)
```
Masks the field with a specified mask.
> [Transform instance](Transform instance)
###### `field`Required
- *Type:* string | Field
a source field to mask.
---
###### `mask`Optional
- *Type:* string
a mask character.
---
##### `maskEnd`
```typescript
import { Transform } from '@cdklabs/cdk-appflow'
Transform.maskEnd(field: string | Field, length: number, mask?: string)
```
###### `field`Required
- *Type:* string | Field
---
###### `length`Required
- *Type:* number
---
###### `mask`Optional
- *Type:* string
---
##### `maskStart`
```typescript
import { Transform } from '@cdklabs/cdk-appflow'
Transform.maskStart(field: string | Field, length: number, mask?: string)
```
###### `field`Required
- *Type:* string | Field
---
###### `length`Required
- *Type:* number
---
###### `mask`Optional
- *Type:* string
---
##### `truncate`
```typescript
import { Transform } from '@cdklabs/cdk-appflow'
Transform.truncate(field: string | Field, length: number)
```
Truncates the field to a specified length.
> [Transform instance](Transform instance)
###### `field`Required
- *Type:* string | Field
a source field to truncate.
---
###### `length`Required
- *Type:* number
the maximum length after truncation.
---
### Validation
- *Implements:* IValidation
A representation of a validation operation, that is an operation testing records and acting on the test results.
#### Initializers
```typescript
import { Validation } from '@cdklabs/cdk-appflow'
new Validation(condition: ValidationCondition, action: ValidationAction)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| condition
| ValidationCondition
| *No description.* |
| action
| ValidationAction
| *No description.* |
---
##### `condition`Required
- *Type:* ValidationCondition
---
##### `action`Required
- *Type:* ValidationAction
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty[]
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| when
| *No description.* |
---
##### `when`
```typescript
import { Validation } from '@cdklabs/cdk-appflow'
Validation.when(condition: ValidationCondition, action: ValidationAction)
```
> [ValidationAction for the validation](ValidationAction for the validation)
###### `condition`Required
- *Type:* ValidationCondition
a.
---
###### `action`Required
- *Type:* ValidationAction
a.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| action
| ValidationAction
| *No description.* |
| condition
| ValidationCondition
| *No description.* |
---
##### `action`Required
```typescript
public readonly action: ValidationAction;
```
- *Type:* ValidationAction
---
##### `condition`Required
```typescript
public readonly condition: ValidationCondition;
```
- *Type:* ValidationCondition
---
### ValidationAction
#### Initializers
```typescript
import { ValidationAction } from '@cdklabs/cdk-appflow'
new ValidationAction(action: string)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| action
| string
| *No description.* |
---
##### `action`Required
- *Type:* string
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| ignoreRecord
| *No description.* |
| terminateFlow
| *No description.* |
---
##### `ignoreRecord`
```typescript
import { ValidationAction } from '@cdklabs/cdk-appflow'
ValidationAction.ignoreRecord()
```
> [ValidationAction that removes a record from the flow execution result](ValidationAction that removes a record from the flow execution result)
##### `terminateFlow`
```typescript
import { ValidationAction } from '@cdklabs/cdk-appflow'
ValidationAction.terminateFlow()
```
> [ValidationAction that terminates the whole flow execution](ValidationAction that terminates the whole flow execution)
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| action
| string
| *No description.* |
---
##### `action`Required
```typescript
public readonly action: string;
```
- *Type:* string
---
### ValidationCondition
A representation of a validation condition on a particular field in a flow execution.
#### Initializers
```typescript
import { ValidationCondition } from '@cdklabs/cdk-appflow'
new ValidationCondition(field: string, validation: string)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| field
| string
| *No description.* |
| validation
| string
| *No description.* |
---
##### `field`Required
- *Type:* string
---
##### `validation`Required
- *Type:* string
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| isDefault
| *No description.* |
| isNegative
| Validates whether a particular field in an execution is negative. |
| isNotNull
| *No description.* |
| isNull
| Validates whether a particular field has no value. |
---
##### `isDefault`
```typescript
import { ValidationCondition } from '@cdklabs/cdk-appflow'
ValidationCondition.isDefault(field: string | Field)
```
> [ValidationCondition instance](ValidationCondition instance)
###### `field`Required
- *Type:* string | Field
a field for which the validation will be performed.
---
##### `isNegative`
```typescript
import { ValidationCondition } from '@cdklabs/cdk-appflow'
ValidationCondition.isNegative(field: string | Field)
```
Validates whether a particular field in an execution is negative.
> [ValidationCondition instance](ValidationCondition instance)
###### `field`Required
- *Type:* string | Field
a field for which the validation will be performed.
---
##### `isNotNull`
```typescript
import { ValidationCondition } from '@cdklabs/cdk-appflow'
ValidationCondition.isNotNull(field: string | Field)
```
> [ValidationCondition instance](ValidationCondition instance)
###### `field`Required
- *Type:* string | Field
a field for which the validation will be performed.
---
##### `isNull`
```typescript
import { ValidationCondition } from '@cdklabs/cdk-appflow'
ValidationCondition.isNull(field: string | Field)
```
Validates whether a particular field has no value.
> [ValidationCondition instance](ValidationCondition instance)
###### `field`Required
- *Type:* string | Field
a field for which the validation will be performed.
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| field
| string
| *No description.* |
| validation
| string
| *No description.* |
---
##### `field`Required
```typescript
public readonly field: string;
```
- *Type:* string
---
##### `validation`Required
```typescript
public readonly validation: string;
```
- *Type:* string
---
### WriteOperation
#### Initializers
```typescript
import { WriteOperation } from '@cdklabs/cdk-appflow'
new WriteOperation(type: WriteOperationType, ids?: string[])
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| type
| WriteOperationType
| *No description.* |
| ids
| string[]
| *No description.* |
---
##### `type`Required
- *Type:* WriteOperationType
---
##### `ids`Optional
- *Type:* string[]
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| delete
| *No description.* |
| insert
| *No description.* |
| update
| *No description.* |
| upsert
| *No description.* |
---
##### `delete`
```typescript
import { WriteOperation } from '@cdklabs/cdk-appflow'
WriteOperation.delete(ids?: string[])
```
###### `ids`Optional
- *Type:* string[]
---
##### `insert`
```typescript
import { WriteOperation } from '@cdklabs/cdk-appflow'
WriteOperation.insert(ids?: string[])
```
###### `ids`Optional
- *Type:* string[]
---
##### `update`
```typescript
import { WriteOperation } from '@cdklabs/cdk-appflow'
WriteOperation.update(ids?: string[])
```
###### `ids`Optional
- *Type:* string[]
---
##### `upsert`
```typescript
import { WriteOperation } from '@cdklabs/cdk-appflow'
WriteOperation.upsert(ids?: string[])
```
###### `ids`Optional
- *Type:* string[]
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| type
| WriteOperationType
| *No description.* |
| ids
| string[]
| *No description.* |
---
##### `type`Required
```typescript
public readonly type: WriteOperationType;
```
- *Type:* WriteOperationType
---
##### `ids`Optional
```typescript
public readonly ids: string[];
```
- *Type:* string[]
---
### ZendeskInstanceUrlBuilder
#### Initializers
```typescript
import { ZendeskInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
new ZendeskInstanceUrlBuilder()
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
---
#### Static Functions
| **Name** | **Description** |
| --- | --- |
| buildFromAccount
| *No description.* |
---
##### `buildFromAccount`
```typescript
import { ZendeskInstanceUrlBuilder } from '@cdklabs/cdk-appflow'
ZendeskInstanceUrlBuilder.buildFromAccount(account: string)
```
###### `account`Required
- *Type:* string
---
### ZendeskSource
- *Implements:* ISource
#### Initializers
```typescript
import { ZendeskSource } from '@cdklabs/cdk-appflow'
new ZendeskSource(props: ZendeskSourceProps)
```
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| props
| ZendeskSourceProps
| *No description.* |
---
##### `props`Required
- *Type:* ZendeskSourceProps
---
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow): SourceFlowConfigProperty
```
###### `flow`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
## Protocols
### IConnectorProfile
- *Extends:* aws-cdk-lib.IResource
- *Implemented By:* ConnectorProfileBase, GoogleAnalytics4ConnectorProfile, MarketoConnectorProfile, MicrosoftSharepointOnlineConnectorProfile, RedshiftConnectorProfile, SAPOdataConnectorProfile, SalesforceConnectorProfile, SalesforceMarketingCloudConnectorProfile, ServiceNowConnectorProfile, SlackConnectorProfile, ZendeskConnectorProfile, IConnectorProfile
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `credentials`Optional
```typescript
public readonly credentials: ISecret;
```
- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
---
### IDestination
- *Extends:* IVertex
- *Implemented By:* EventBridgeDestination, RedshiftDestination, S3Destination, SAPOdataDestination, SalesforceDestination, IDestination
A destination of an AppFlow flow.
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): DestinationFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### IFilter
- *Extends:* IOperation
- *Implemented By:* Filter, IFilter
A representation of a mapping operation, that is an operation filtering records at the source.
### IFlow
- *Extends:* aws-cdk-lib.IResource
- *Implemented By:* FlowBase, OnDemandFlow, OnEventFlow, OnScheduleFlow, TriggeredFlowBase, IFlow
#### Methods
| **Name** | **Description** |
| --- | --- |
| onRunCompleted
| *No description.* |
| onRunStarted
| *No description.* |
---
##### `onRunCompleted`
```typescript
public onRunCompleted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
##### `onRunStarted`
```typescript
public onRunStarted(id: string, options?: OnEventOptions): Rule
```
###### `id`Required
- *Type:* string
---
###### `options`Optional
- *Type:* aws-cdk-lib.aws_events.OnEventOptions
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| node
| constructs.Node
| The tree node. |
| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
| arn
| string
| *No description.* |
| name
| string
| *No description.* |
| type
| FlowType
| *No description.* |
---
##### `node`Required
```typescript
public readonly node: Node;
```
- *Type:* constructs.Node
The tree node.
---
##### `env`Required
```typescript
public readonly env: ResourceEnvironment;
```
- *Type:* aws-cdk-lib.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed by the CDK
(generally, those created by creating new class instances like Role, Bucket, etc.),
this is always the same as the environment of the stack they belong to;
however, for imported resources
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
that might be different than the stack they were imported into.
---
##### `stack`Required
```typescript
public readonly stack: Stack;
```
- *Type:* aws-cdk-lib.Stack
The stack in which this resource is defined.
---
##### `arn`Required
```typescript
public readonly arn: string;
```
- *Type:* string
---
##### `name`Required
```typescript
public readonly name: string;
```
- *Type:* string
---
##### `type`Required
```typescript
public readonly type: FlowType;
```
- *Type:* FlowType
---
### IMapping
- *Extends:* IOperation
- *Implemented By:* Mapping, IMapping
A representation of a mapping operation, that is an operation translating source to destination fields.
### IOperation
- *Implemented By:* Filter, Mapping, OperationBase, Transform, Validation, IFilter, IMapping, IOperation, ITransform, IValidation
A representation of a set of tasks that deliver complete operation.
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty[]
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
### ISource
- *Extends:* IVertex
- *Implemented By:* GoogleAnalytics4Source, MarketoSource, MicrosoftSharepointOnlineSource, S3Source, SAPOdataSource, SalesforceMarketingCloudSource, SalesforceSource, ServiceNowSource, SlackSource, ZendeskSource, ISource
A source of an AppFlow flow.
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(scope: IFlow): SourceFlowConfigProperty
```
###### `scope`Required
- *Type:* IFlow
---
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
### ITask
- *Implemented By:* Task, ITask
A representation of a unitary action on the record fields.
#### Methods
| **Name** | **Description** |
| --- | --- |
| bind
| *No description.* |
---
##### `bind`
```typescript
public bind(flow: IFlow, source: ISource): TaskProperty
```
###### `flow`Required
- *Type:* IFlow
---
###### `source`Required
- *Type:* ISource
---
### ITransform
- *Extends:* IOperation
- *Implemented By:* Transform, ITransform
A representation of a transform operation, that is an operation modifying source fields.
### IValidation
- *Extends:* IOperation
- *Implemented By:* Validation, IValidation
A representation of a validation operation, that is an operation testing records and acting on the test results.
### IVertex
- *Implemented By:* EventBridgeDestination, GoogleAnalytics4Source, MarketoSource, MicrosoftSharepointOnlineSource, RedshiftDestination, S3Destination, S3Source, SAPOdataDestination, SAPOdataSource, SalesforceDestination, SalesforceMarketingCloudSource, SalesforceSource, ServiceNowSource, SlackSource, ZendeskSource, IDestination, ISource, IVertex
An interface representing a vertex, i.e. a source or a destination of an AppFlow flow.
#### Properties
| **Name** | **Type** | **Description** |
| --- | --- | --- |
| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
---
##### `connectorType`Required
```typescript
public readonly connectorType: ConnectorType;
```
- *Type:* ConnectorType
The AppFlow type of the connector that this source is implemented for.
---
## Enums
### ConnectionMode
#### Members
| **Name** | **Description** |
| --- | --- |
| PUBLIC
| *No description.* |
| PRIVATE
| *No description.* |
---
##### `PUBLIC`
---
##### `PRIVATE`
---
### ConnectorAuthenticationType
#### Members
| **Name** | **Description** |
| --- | --- |
| APIKEY
| *No description.* |
| BASIC
| *No description.* |
| CUSTOM
| *No description.* |
| OAUTH2
| *No description.* |
---
##### `APIKEY`
---
##### `BASIC`
---
##### `CUSTOM`
---
##### `OAUTH2`
---
### DataPullMode
#### Members
| **Name** | **Description** |
| --- | --- |
| COMPLETE
| *No description.* |
| INCREMENTAL
| *No description.* |
---
##### `COMPLETE`
---
##### `INCREMENTAL`
---
### FlowType
#### Members
| **Name** | **Description** |
| --- | --- |
| EVENT
| *No description.* |
| ON_DEMAND
| *No description.* |
| SCHEDULED
| *No description.* |
---
##### `EVENT`
---
##### `ON_DEMAND`
---
##### `SCHEDULED`
---
### GoogleAnalytics4ApiVersion
#### Members
| **Name** | **Description** |
| --- | --- |
| V1BETA
| *No description.* |
---
##### `V1BETA`
---
### MicrosoftSharepointOnlineApiVersion
#### Members
| **Name** | **Description** |
| --- | --- |
| V1
| *No description.* |
---
##### `V1`
---
### OAuth2GrantType
#### Members
| **Name** | **Description** |
| --- | --- |
| CLIENT_CREDENTIALS
| *No description.* |
| AUTHORIZATION_CODE
| *No description.* |
---
##### `CLIENT_CREDENTIALS`
---
##### `AUTHORIZATION_CODE`
---
### S3InputFileType
The file type that Amazon AppFlow gets from your Amazon S3 bucket.
#### Members
| **Name** | **Description** |
| --- | --- |
| CSV
| *No description.* |
| JSON
| *No description.* |
---
##### `CSV`
---
##### `JSON`
---
### S3OutputAggregationType
#### Members
| **Name** | **Description** |
| --- | --- |
| NONE
| *No description.* |
| SINGLE_FILE
| *No description.* |
---
##### `NONE`
---
##### `SINGLE_FILE`
---
### S3OutputFilePrefixFormat
#### Members
| **Name** | **Description** |
| --- | --- |
| DAY
| *No description.* |
| HOUR
| *No description.* |
| MINUTE
| *No description.* |
| MONTH
| *No description.* |
| YEAR
| *No description.* |
---
##### `DAY`
---
##### `HOUR`
---
##### `MINUTE`
---
##### `MONTH`
---
##### `YEAR`
---
### S3OutputFilePrefixHierarchy
#### Members
| **Name** | **Description** |
| --- | --- |
| EXECUTION_ID
| *No description.* |
| SCHEMA_VERSION
| *No description.* |
---
##### `EXECUTION_ID`
---
##### `SCHEMA_VERSION`
---
### S3OutputFilePrefixType
#### Members
| **Name** | **Description** |
| --- | --- |
| FILENAME
| *No description.* |
| PATH
| *No description.* |
| PATH_AND_FILE
| *No description.* |
---
##### `FILENAME`
---
##### `PATH`
---
##### `PATH_AND_FILE`
---
### S3OutputFileType
#### Members
| **Name** | **Description** |
| --- | --- |
| CSV
| *No description.* |
| JSON
| *No description.* |
| PARQUET
| *No description.* |
---
##### `CSV`
---
##### `JSON`
---
##### `PARQUET`
---
### SalesforceDataTransferApi
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.
#### Members
| **Name** | **Description** |
| --- | --- |
| AUTOMATIC
| *No description.* |
| BULKV2
| *No description.* |
| REST_SYNC
| *No description.* |
---
##### `AUTOMATIC`
---
##### `BULKV2`
---
##### `REST_SYNC`
---
### SalesforceMarketingCloudApiVersions
A helper enum for SFMC api version.
#### Members
| **Name** | **Description** |
| --- | --- |
| V1
| *No description.* |
---
##### `V1`
---
### WriteOperationType
#### Members
| **Name** | **Description** |
| --- | --- |
| DELETE
| *No description.* |
| INSERT
| *No description.* |
| UPDATE
| *No description.* |
| UPSERT
| *No description.* |
---
##### `DELETE`
---
##### `INSERT`
---
##### `UPDATE`
---
##### `UPSERT`
---