cdklabscdkappflow

package module
v0.0.43 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

README

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.

Example

import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/cdklabs/cdk-appflow-go/cdklabscdkappflow"

var clientSecret iSecret
var accessToken secretValue
var refreshToken secretValue
var instanceUrl string


profile := cdklabscdkappflow.NewSalesforceConnectorProfile(this, jsii.String("MyConnectorProfile"), &SalesforceConnectorProfileProps{
	OAuth: &SalesforceOAuthSettings{
		AccessToken: accessToken,
		Flow: &SalesforceOAuthFlow{
			RefreshTokenGrant: &SalesforceOAuthRefreshTokenGrantFlow{
				RefreshToken: refreshToken,
				Client: clientSecret,
			},
		},
	},
	InstanceUrl: instanceUrl,
	IsSandbox: jsii.Boolean(false),
})

source := cdklabscdkappflow.NewSalesforceSource(&SalesforceSourceProps{
	Profile: profile,
	Object: jsii.String("Account"),
})

bucket := awscdk.NewBucket(this, jsii.String("DestinationBucket"))

destination := cdklabscdkappflow.NewS3Destination(&S3DestinationProps{
	Location: &S3Location{
		Bucket: *Bucket,
	},
})

cdklabscdkappflow.NewOnDemandFlow(this, jsii.String("SfAccountToS3"), &OnDemandFlowProps{
	Source: source,
	Destination: destination,
	Mappings: []iMapping{
		*cdklabscdkappflow.Mapping_MapAll(),
	},
	Transforms: []iTransform{
		*cdklabscdkappflow.Transform_Mask(&Field{
			Name: jsii.String("Name"),
		}, jsii.String("*")),
	},
	Validations: []iValidation{
		*cdklabscdkappflow.Validation_When(*cdklabscdkappflow.ValidationCondition_IsNull(jsii.String("Name")), *cdklabscdkappflow.ValidationAction_IgnoreRecord()),
	},
	Filters: []iFilter{
		*cdklabscdkappflow.Filter_When(*cdklabscdkappflow.FilterCondition_TimestampLessThanEquals(&Field{
			Name: jsii.String("LastModifiedDate"),
			DataType: jsii.String("datetime"),
		}, NewDate(date.parse(jsii.String("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).

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.
  • 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

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:

import "github.com/cdklabs/cdk-appflow-go/cdklabscdkappflow"

var stack stack
var source iSource
var destination iDestination


flow := cdklabscdkappflow.NewOnDemandFlow(stack, jsii.String("OnDemandFlow"), &OnDemandFlowProps{
	Source: source,
	Destination: destination,
	Transforms: []iTransform{
		*cdklabscdkappflow.Transform_Mask(&Field{
			Name: jsii.String("Name"),
		}, jsii.String("*")),
	},
	Mappings: []iMapping{
		*cdklabscdkappflow.Mapping_Map(&Field{
			Name: jsii.String("Name"),
			DataType: jsii.String("String"),
		}, &Field{
			Name: jsii.String("Name"),
			DataType: jsii.String("string"),
		}),
	},
	Filters: []iFilter{
		*cdklabscdkappflow.Filter_When(*cdklabscdkappflow.FilterCondition_TimestampLessThanEquals(&Field{
			Name: jsii.String("LastModifiedDate"),
			DataType: jsii.String("datetime"),
		}, NewDate(date.parse(jsii.String("2022-02-02"))))),
	},
	Validations: []iValidation{
		*cdklabscdkappflow.Validation_When(*cdklabscdkappflow.ValidationCondition_IsNull(jsii.String("Name")), *cdklabscdkappflow.ValidationAction_IgnoreRecord()),
	},
})

Monitoring

Metrcis

Each flow allows to access metrics through the methods:

  • metricFlowExecutionsStarted
  • metricFlowExecutionsFailed
  • metricFlowExecutionsSucceeded
  • metricFlowExecutionTime
  • metricFlowExecutionRecordsProcessed

For detailed information about AppFlow metrics refer to the documentation.

It can be consume by CloudWatch alert using as in the example below:

import "github.com/cdklabs/cdk-appflow-go/cdklabscdkappflow"

var flow iFlow
var stack stack


metric := flow.MetricFlowExecutionsStarted()

metric.CreateAlarm(stack, jsii.String("FlowExecutionsStartedAlarm"), &CreateAlarmOptions{
	Threshold: jsii.Number(1000),
	EvaluationPeriods: jsii.Number(2),
})
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:

import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/cdklabs/cdk-appflow-go/cdklabscdkappflow"

var flow iFlow
var myTopic iTopic


flow.OnRunCompleted(jsii.String("OnRunCompleted"), &OnEventOptions{
	Target: awscdk.NewSnsTopic(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 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.

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 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. In this library, the sensitive fields are typed as SecretValue to emphasize these should not be plain strings.

An example of using a predefined AWS Secrets Manager secret for storing sensitive information can be found below:

import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/cdklabs/cdk-appflow-go/cdklabscdkappflow"

var stack stack


secret := awscdk.Secret_FromSecretNameV2(stack, jsii.String("GA4Secret"), jsii.String("appflow/ga4"))

profile := cdklabscdkappflow.NewGoogleAnalytics4ConnectorProfile(stack, jsii.String("GA4Connector"), &GoogleAnalytics4ConnectorProfileProps{
	OAuth: &GoogleAnalytics4OAuthSettings{
		Flow: &GoogleAnalytics4OAuthFlow{
			RefreshTokenGrant: &GoogleAnalytics4RefreshTokenGrantFlow{
				RefreshToken: secret.SecretValueFromJson(jsii.String("refreshToken")),
				ClientId: secret.*SecretValueFromJson(jsii.String("clientId")),
				ClientSecret: secret.*SecretValueFromJson(jsii.String("clientSecret")),
			},
		},
	},
})

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). However, AppFlowPermissionsManager still introduces the aws:SourceAccount condtition to the resource policies as a best practice.

Documentation

Overview

@cdklabs/cdk-appflow

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AmazonRdsForPostgreSqlConnectorProfile_IsConstruct added in v0.0.24

func AmazonRdsForPostgreSqlConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func AmazonRdsForPostgreSqlConnectorProfile_IsOwnedResource added in v0.0.24

func AmazonRdsForPostgreSqlConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func AmazonRdsForPostgreSqlConnectorProfile_IsResource added in v0.0.24

func AmazonRdsForPostgreSqlConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func AsanaConnectorProfile_IsConstruct added in v0.0.43

func AsanaConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func AsanaConnectorProfile_IsOwnedResource added in v0.0.43

func AsanaConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func AsanaConnectorProfile_IsResource added in v0.0.43

func AsanaConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ConnectorProfileBase_IsConstruct added in v0.0.2

func ConnectorProfileBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func ConnectorProfileBase_IsOwnedResource added in v0.0.2

func ConnectorProfileBase_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func ConnectorProfileBase_IsResource added in v0.0.2

func ConnectorProfileBase_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func EventSources_SalesforceEventSource added in v0.0.2

func EventSources_SalesforceEventSource(suffix *string) *string

Experimental.

func FlowBase_IsConstruct added in v0.0.2

func FlowBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func FlowBase_IsOwnedResource added in v0.0.2

func FlowBase_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func FlowBase_IsResource added in v0.0.2

func FlowBase_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func GoogleAdsConnectorProfile_IsConstruct added in v0.0.36

func GoogleAdsConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func GoogleAdsConnectorProfile_IsOwnedResource added in v0.0.36

func GoogleAdsConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func GoogleAdsConnectorProfile_IsResource added in v0.0.36

func GoogleAdsConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func GoogleAnalytics4ConnectorProfile_IsConstruct added in v0.0.2

func GoogleAnalytics4ConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func GoogleAnalytics4ConnectorProfile_IsOwnedResource added in v0.0.2

func GoogleAnalytics4ConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func GoogleAnalytics4ConnectorProfile_IsResource added in v0.0.2

func GoogleAnalytics4ConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func GoogleBigQueryConnectorProfile_IsConstruct added in v0.0.28

func GoogleBigQueryConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func GoogleBigQueryConnectorProfile_IsOwnedResource added in v0.0.28

func GoogleBigQueryConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func GoogleBigQueryConnectorProfile_IsResource added in v0.0.28

func GoogleBigQueryConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func JdbcSmallDataScaleConnectorProfile_IsConstruct added in v0.0.24

func JdbcSmallDataScaleConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func JdbcSmallDataScaleConnectorProfile_IsOwnedResource added in v0.0.24

func JdbcSmallDataScaleConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func JdbcSmallDataScaleConnectorProfile_IsResource added in v0.0.24

func JdbcSmallDataScaleConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func MailchimpConnectorProfile_IsConstruct added in v0.0.33

func MailchimpConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func MailchimpConnectorProfile_IsOwnedResource added in v0.0.33

func MailchimpConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func MailchimpConnectorProfile_IsResource added in v0.0.33

func MailchimpConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func MarketoConnectorProfile_IsConstruct added in v0.0.2

func MarketoConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func MarketoConnectorProfile_IsOwnedResource added in v0.0.2

func MarketoConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func MarketoConnectorProfile_IsResource added in v0.0.2

func MarketoConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func MarketoInstanceUrlBuilder_BuildFromAccount added in v0.0.2

func MarketoInstanceUrlBuilder_BuildFromAccount(account *string) *string

Experimental.

func MicrosoftDynamics365ApiUrlBuilder_BuildApiUrl added in v0.0.19

func MicrosoftDynamics365ApiUrlBuilder_BuildApiUrl(org *string) *string

Experimental.

func MicrosoftDynamics365ConnectorProfile_IsConstruct added in v0.0.19

func MicrosoftDynamics365ConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func MicrosoftDynamics365ConnectorProfile_IsOwnedResource added in v0.0.19

func MicrosoftDynamics365ConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func MicrosoftDynamics365ConnectorProfile_IsResource added in v0.0.19

func MicrosoftDynamics365ConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func MicrosoftDynamics365TokenUrlBuilder_BuildTokenUrl added in v0.0.19

func MicrosoftDynamics365TokenUrlBuilder_BuildTokenUrl(tenantId *string) *string

Experimental.

func MicrosoftSharepointOnlineConnectorProfile_IsConstruct added in v0.0.2

func MicrosoftSharepointOnlineConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func MicrosoftSharepointOnlineConnectorProfile_IsOwnedResource added in v0.0.2

func MicrosoftSharepointOnlineConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func MicrosoftSharepointOnlineConnectorProfile_IsResource added in v0.0.2

func MicrosoftSharepointOnlineConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func MicrosoftSharepointOnlineTokenUrlBuilder_BuildTokenUrl added in v0.0.13

func MicrosoftSharepointOnlineTokenUrlBuilder_BuildTokenUrl(tenantId *string) *string

Experimental.

func NewAmazonRdsForPostgreSqlConnectorProfile_Override added in v0.0.24

func NewAmazonRdsForPostgreSqlConnectorProfile_Override(a AmazonRdsForPostgreSqlConnectorProfile, scope constructs.Construct, id *string, props *AmazonRdsForPostgreSqlConnectorProfileProps)

Creates a new instance of the AmazonRdsForPostgreSqlConnectorProfile. Experimental.

func NewAmazonRdsForPostgreSqlDestination_Override added in v0.0.24

func NewAmazonRdsForPostgreSqlDestination_Override(a AmazonRdsForPostgreSqlDestination, props *AmazonRdsForPostgreSqlDestinationProps)

Creates a new instance of the AmazonRdsForPostgreSqlDestination. Experimental.

func NewAsanaConnectorProfile_Override added in v0.0.43

func NewAsanaConnectorProfile_Override(a AsanaConnectorProfile, scope constructs.Construct, id *string, props *AsanaConnectorProfileProps)

Experimental.

func NewAsanaSource_Override added in v0.0.43

func NewAsanaSource_Override(a AsanaSource, props *AsanaSourceProps)

Experimental.

func NewConnectorProfileBase_Override added in v0.0.2

func NewConnectorProfileBase_Override(c ConnectorProfileBase, scope constructs.Construct, id *string, props *ConnectorProfileProps, connectorType ConnectorType)

Experimental.

func NewConnectorType_Override added in v0.0.2

func NewConnectorType_Override(c ConnectorType, name *string, isCustom *bool)

Experimental.

func NewEventBridgeDestination_Override added in v0.0.2

func NewEventBridgeDestination_Override(e EventBridgeDestination, props *EventBridgeDestinationProps)

Experimental.

func NewEventSources_Override added in v0.0.2

func NewEventSources_Override(e EventSources)

Experimental.

func NewFilterCondition_Override added in v0.0.2

func NewFilterCondition_Override(f FilterCondition, field *Field, filter *string, properties *[]*TaskProperty)

Experimental.

func NewFilter_Override added in v0.0.2

func NewFilter_Override(f Filter, condition FilterCondition)

Experimental.

func NewFlowBase_Override added in v0.0.2

func NewFlowBase_Override(f FlowBase, scope constructs.Construct, id *string, props *FlowBaseProps)

Experimental.

func NewGoogleAdsConnectorProfile_Override added in v0.0.36

func NewGoogleAdsConnectorProfile_Override(g GoogleAdsConnectorProfile, scope constructs.Construct, id *string, props *GoogleAdsConnectorProfileProps)

Experimental.

func NewGoogleAdsSource_Override added in v0.0.36

func NewGoogleAdsSource_Override(g GoogleAdsSource, props *GoogleAdsSourceProps)

Experimental.

func NewGoogleAnalytics4ConnectorProfile_Override added in v0.0.2

func NewGoogleAnalytics4ConnectorProfile_Override(g GoogleAnalytics4ConnectorProfile, scope constructs.Construct, id *string, props *GoogleAnalytics4ConnectorProfileProps)

Experimental.

func NewGoogleAnalytics4Source_Override added in v0.0.2

func NewGoogleAnalytics4Source_Override(g GoogleAnalytics4Source, props *GoogleAnalytics4SourceProps)

Experimental.

func NewGoogleBigQueryConnectorProfile_Override added in v0.0.28

func NewGoogleBigQueryConnectorProfile_Override(g GoogleBigQueryConnectorProfile, scope constructs.Construct, id *string, props *GoogleBigQueryConnectorProfileProps)

Experimental.

func NewGoogleBigQuerySource_Override added in v0.0.28

func NewGoogleBigQuerySource_Override(g GoogleBigQuerySource, props *GoogleBigQuerySourceProps)

Experimental.

func NewJdbcSmallDataScaleConnectorProfile_Override added in v0.0.24

func NewJdbcSmallDataScaleConnectorProfile_Override(j JdbcSmallDataScaleConnectorProfile, scope constructs.Construct, id *string, props *JdbcSmallDataScaleConnectorProfileProps)

Creates a new instance of the JdbcSmallDataScaleConnectorProfile. Experimental.

func NewJdbcSmallDataScaleSource_Override added in v0.0.24

func NewJdbcSmallDataScaleSource_Override(j JdbcSmallDataScaleSource, props *JdbcSmallDataScaleSourceProps)

Experimental.

func NewMailchimpConnectorProfile_Override added in v0.0.33

func NewMailchimpConnectorProfile_Override(m MailchimpConnectorProfile, scope constructs.Construct, id *string, props *MailchimpConnectorProfileProps)

Experimental.

func NewMailchimpSource_Override added in v0.0.33

func NewMailchimpSource_Override(m MailchimpSource, props *MailchimpSourceProps)

Experimental.

func NewMapping_Override added in v0.0.2

func NewMapping_Override(m Mapping, tasks *[]ITask)

Experimental.

func NewMarketoConnectorProfile_Override added in v0.0.2

func NewMarketoConnectorProfile_Override(m MarketoConnectorProfile, scope constructs.Construct, id *string, props *MarketoConnectorProfileProps)

Experimental.

func NewMarketoInstanceUrlBuilder_Override added in v0.0.2

func NewMarketoInstanceUrlBuilder_Override(m MarketoInstanceUrlBuilder)

Experimental.

func NewMarketoSource_Override added in v0.0.2

func NewMarketoSource_Override(m MarketoSource, props *MarketoSourceProps)

Experimental.

func NewMicrosoftDynamics365ApiUrlBuilder_Override added in v0.0.19

func NewMicrosoftDynamics365ApiUrlBuilder_Override(m MicrosoftDynamics365ApiUrlBuilder)

Experimental.

func NewMicrosoftDynamics365ConnectorProfile_Override added in v0.0.19

func NewMicrosoftDynamics365ConnectorProfile_Override(m MicrosoftDynamics365ConnectorProfile, scope constructs.Construct, id *string, props *MicrosoftDynamics365ConnectorProfileProps)

Experimental.

func NewMicrosoftDynamics365Source_Override added in v0.0.19

func NewMicrosoftDynamics365Source_Override(m MicrosoftDynamics365Source, props *MicrosoftDynamics365SourceProps)

Experimental.

func NewMicrosoftDynamics365TokenUrlBuilder_Override added in v0.0.19

func NewMicrosoftDynamics365TokenUrlBuilder_Override(m MicrosoftDynamics365TokenUrlBuilder)

Experimental.

func NewMicrosoftSharepointOnlineConnectorProfile_Override added in v0.0.2

func NewMicrosoftSharepointOnlineConnectorProfile_Override(m MicrosoftSharepointOnlineConnectorProfile, scope constructs.Construct, id *string, props *MicrosoftSharepointOnlineConnectorProfileProps)

Experimental.

func NewMicrosoftSharepointOnlineSource_Override added in v0.0.2

func NewMicrosoftSharepointOnlineSource_Override(m MicrosoftSharepointOnlineSource, props *MicrosoftSharepointOnlineSourceProps)

Experimental.

func NewMicrosoftSharepointOnlineTokenUrlBuilder_Override added in v0.0.2

func NewMicrosoftSharepointOnlineTokenUrlBuilder_Override(m MicrosoftSharepointOnlineTokenUrlBuilder)

Experimental.

func NewOnDemandFlow_Override added in v0.0.2

func NewOnDemandFlow_Override(o OnDemandFlow, scope constructs.Construct, id *string, props *OnDemandFlowProps)

Experimental.

func NewOnEventFlow_Override added in v0.0.2

func NewOnEventFlow_Override(o OnEventFlow, scope constructs.Construct, id *string, props *OnEventFlowProps)

Experimental.

func NewOnScheduleFlow_Override added in v0.0.2

func NewOnScheduleFlow_Override(o OnScheduleFlow, scope constructs.Construct, id *string, props *OnScheduleFlowProps)

Experimental.

func NewOperationBase_Override added in v0.0.2

func NewOperationBase_Override(o OperationBase, tasks *[]ITask)

Experimental.

func NewRedshiftConnectorProfile_Override added in v0.0.2

func NewRedshiftConnectorProfile_Override(r RedshiftConnectorProfile, scope constructs.Construct, id *string, props *RedshiftConnectorProfileProps)

Experimental.

func NewRedshiftDestination_Override added in v0.0.2

func NewRedshiftDestination_Override(r RedshiftDestination, props *RedshiftDestinationProps)

Experimental.

func NewS3Destination_Override added in v0.0.2

func NewS3Destination_Override(s S3Destination, props *S3DestinationProps)

Experimental.

func NewS3Source_Override added in v0.0.2

func NewS3Source_Override(s S3Source, props *S3SourceProps)

Experimental.

func NewSAPOdataConnectorProfile_Override added in v0.0.4

func NewSAPOdataConnectorProfile_Override(s SAPOdataConnectorProfile, scope constructs.Construct, id *string, props *SAPOdataConnectorProfileProps)

Experimental.

func NewSAPOdataDestination_Override added in v0.0.4

func NewSAPOdataDestination_Override(s SAPOdataDestination, props *SAPOdataDestinationProps)

Experimental.

func NewSAPOdataSource_Override added in v0.0.4

func NewSAPOdataSource_Override(s SAPOdataSource, props *SAPOdataSourceProps)

Experimental.

func NewSalesforceConnectorProfile_Override added in v0.0.2

func NewSalesforceConnectorProfile_Override(s SalesforceConnectorProfile, scope constructs.Construct, id *string, props *SalesforceConnectorProfileProps)

Experimental.

func NewSalesforceDestination_Override added in v0.0.2

func NewSalesforceDestination_Override(s SalesforceDestination, props *SalesforceDestinationProps)

Experimental.

func NewSalesforceMarketingCloudConnectorProfile_Override added in v0.0.2

func NewSalesforceMarketingCloudConnectorProfile_Override(s SalesforceMarketingCloudConnectorProfile, scope constructs.Construct, id *string, props *SalesforceMarketingCloudConnectorProfileProps)

Experimental.

func NewSalesforceMarketingCloudSource_Override added in v0.0.2

func NewSalesforceMarketingCloudSource_Override(s SalesforceMarketingCloudSource, props *SalesforceMarketingCloudSourceProps)

Experimental.

func NewSalesforceSource_Override added in v0.0.2

func NewSalesforceSource_Override(s SalesforceSource, props *SalesforceSourceProps)

Experimental.

func NewServiceNowConnectorProfile_Override added in v0.0.2

func NewServiceNowConnectorProfile_Override(s ServiceNowConnectorProfile, scope constructs.Construct, id *string, props *ServiceNowConnectorProfileProps)

Experimental.

func NewServiceNowInstanceUrlBuilder_Override added in v0.0.2

func NewServiceNowInstanceUrlBuilder_Override(s ServiceNowInstanceUrlBuilder)

Experimental.

func NewServiceNowSource_Override added in v0.0.2

func NewServiceNowSource_Override(s ServiceNowSource, props *ServiceNowSourceProps)

Experimental.

func NewSlackConnectorProfile_Override added in v0.0.2

func NewSlackConnectorProfile_Override(s SlackConnectorProfile, scope constructs.Construct, id *string, props *SlackConnectorProfileProps)

Experimental.

func NewSlackInstanceUrlBuilder_Override added in v0.0.2

func NewSlackInstanceUrlBuilder_Override(s SlackInstanceUrlBuilder)

Experimental.

func NewSlackSource_Override added in v0.0.2

func NewSlackSource_Override(s SlackSource, props *SlackSourceProps)

Experimental.

func NewSnowflakeConnectorProfile_Override added in v0.0.12

func NewSnowflakeConnectorProfile_Override(s SnowflakeConnectorProfile, scope constructs.Construct, id *string, props *SnowflakeConnectorProfileProps)

Experimental.

func NewSnowflakeDestination_Override added in v0.0.12

func NewSnowflakeDestination_Override(s SnowflakeDestination, props *SnowflakeDestinationProps)

Experimental.

func NewTask_Override added in v0.0.2

func NewTask_Override(t Task, type_ *string, sourceFields *[]*string, connectorOperator *TaskConnectorOperator, properties *[]*TaskProperty, destinationField *string)

Experimental.

func NewTransform_Override added in v0.0.2

func NewTransform_Override(t Transform, tasks *[]ITask)

Experimental.

func NewTriggeredFlowBase_Override added in v0.0.2

func NewTriggeredFlowBase_Override(t TriggeredFlowBase, scope constructs.Construct, id *string, props *FlowBaseProps)

Experimental.

func NewValidationAction_Override added in v0.0.2

func NewValidationAction_Override(v ValidationAction, action *string)

Experimental.

func NewValidationCondition_Override added in v0.0.2

func NewValidationCondition_Override(v ValidationCondition, field *string, validation *string)

Experimental.

func NewValidation_Override added in v0.0.2

func NewValidation_Override(v Validation, condition ValidationCondition, action ValidationAction)

Experimental.

func NewWriteOperation_Override added in v0.0.2

func NewWriteOperation_Override(w WriteOperation, type_ WriteOperationType, ids *[]*string)

Experimental.

func NewZendeskConnectorProfile_Override added in v0.0.2

func NewZendeskConnectorProfile_Override(z ZendeskConnectorProfile, scope constructs.Construct, id *string, props *ZendeskConnectorProfileProps)

Experimental.

func NewZendeskInstanceUrlBuilder_Override added in v0.0.2

func NewZendeskInstanceUrlBuilder_Override(z ZendeskInstanceUrlBuilder)

Experimental.

func NewZendeskSource_Override added in v0.0.2

func NewZendeskSource_Override(z ZendeskSource, props *ZendeskSourceProps)

Experimental.

func OnDemandFlow_IsConstruct added in v0.0.2

func OnDemandFlow_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func OnDemandFlow_IsOwnedResource added in v0.0.2

func OnDemandFlow_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func OnDemandFlow_IsResource added in v0.0.2

func OnDemandFlow_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func OnEventFlow_IsConstruct added in v0.0.2

func OnEventFlow_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func OnEventFlow_IsOwnedResource added in v0.0.2

func OnEventFlow_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func OnEventFlow_IsResource added in v0.0.2

func OnEventFlow_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func OnScheduleFlow_IsConstruct added in v0.0.2

func OnScheduleFlow_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func OnScheduleFlow_IsOwnedResource added in v0.0.2

func OnScheduleFlow_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func OnScheduleFlow_IsResource added in v0.0.2

func OnScheduleFlow_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func RedshiftConnectorProfile_IsConstruct added in v0.0.2

func RedshiftConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func RedshiftConnectorProfile_IsOwnedResource added in v0.0.2

func RedshiftConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func RedshiftConnectorProfile_IsResource added in v0.0.2

func RedshiftConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func SAPOdataConnectorProfile_IsConstruct added in v0.0.4

func SAPOdataConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SAPOdataConnectorProfile_IsOwnedResource added in v0.0.4

func SAPOdataConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func SAPOdataConnectorProfile_IsResource added in v0.0.4

func SAPOdataConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func SalesforceConnectorProfile_IsConstruct added in v0.0.2

func SalesforceConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SalesforceConnectorProfile_IsOwnedResource added in v0.0.2

func SalesforceConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func SalesforceConnectorProfile_IsResource added in v0.0.2

func SalesforceConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func SalesforceMarketingCloudConnectorProfile_IsConstruct added in v0.0.2

func SalesforceMarketingCloudConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SalesforceMarketingCloudConnectorProfile_IsOwnedResource added in v0.0.2

func SalesforceMarketingCloudConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func SalesforceMarketingCloudConnectorProfile_IsResource added in v0.0.2

func SalesforceMarketingCloudConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ServiceNowConnectorProfile_IsConstruct added in v0.0.2

func ServiceNowConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func ServiceNowConnectorProfile_IsOwnedResource added in v0.0.2

func ServiceNowConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func ServiceNowConnectorProfile_IsResource added in v0.0.2

func ServiceNowConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ServiceNowInstanceUrlBuilder_BuildFromDomain added in v0.0.2

func ServiceNowInstanceUrlBuilder_BuildFromDomain(domain *string) *string

Experimental.

func SlackConnectorProfile_IsConstruct added in v0.0.2

func SlackConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SlackConnectorProfile_IsOwnedResource added in v0.0.2

func SlackConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func SlackConnectorProfile_IsResource added in v0.0.2

func SlackConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func SlackInstanceUrlBuilder_BuildFromWorkspace added in v0.0.2

func SlackInstanceUrlBuilder_BuildFromWorkspace(workspace *string) *string

Experimental.

func SnowflakeConnectorProfile_IsConstruct added in v0.0.12

func SnowflakeConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SnowflakeConnectorProfile_IsOwnedResource added in v0.0.12

func SnowflakeConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func SnowflakeConnectorProfile_IsResource added in v0.0.12

func SnowflakeConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func TriggeredFlowBase_IsConstruct added in v0.0.2

func TriggeredFlowBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func TriggeredFlowBase_IsOwnedResource added in v0.0.2

func TriggeredFlowBase_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func TriggeredFlowBase_IsResource added in v0.0.2

func TriggeredFlowBase_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ZendeskConnectorProfile_IsConstruct added in v0.0.2

func ZendeskConnectorProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func ZendeskConnectorProfile_IsOwnedResource added in v0.0.2

func ZendeskConnectorProfile_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func ZendeskConnectorProfile_IsResource added in v0.0.2

func ZendeskConnectorProfile_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func ZendeskInstanceUrlBuilder_BuildFromAccount added in v0.0.2

func ZendeskInstanceUrlBuilder_BuildFromAccount(account *string) *string

Experimental.

Types

type AmazonRdsForPostgreSqlBasicAuthSettings added in v0.0.24

type AmazonRdsForPostgreSqlBasicAuthSettings struct {
	// The password of the identity used for interacting with the Amazon RDS for PostgreSQL.
	// Experimental.
	Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"`
	// The username of the identity used for interacting with the Amazon RDS for PostgreSQL.
	// Experimental.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Basic authentication settings for the AmazonRdsForPostgreSqlConnectorProfile. Experimental.

type AmazonRdsForPostgreSqlConnectorProfile added in v0.0.24

type AmazonRdsForPostgreSqlConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(_props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

The connector profile for the Amazon RDS for PostgreSQL connector. Experimental.

func AmazonRdsForPostgreSqlConnectorProfile_FromConnectionProfileArn added in v0.0.24

func AmazonRdsForPostgreSqlConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) AmazonRdsForPostgreSqlConnectorProfile

Imports an existing AmazonRdsForPostgreSqlConnectorProfile.

Returns: An instance of the AmazonRdsForPostreSqlConnectorProfile. Experimental.

func AmazonRdsForPostgreSqlConnectorProfile_FromConnectionProfileName added in v0.0.24

func AmazonRdsForPostgreSqlConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) AmazonRdsForPostgreSqlConnectorProfile

Imports an existing AmazonRdsForPostgreSqlConnectorProfile.

Returns: An instance of the AmazonRdsForPostreSqlConnectorProfile. Experimental.

func NewAmazonRdsForPostgreSqlConnectorProfile added in v0.0.24

func NewAmazonRdsForPostgreSqlConnectorProfile(scope constructs.Construct, id *string, props *AmazonRdsForPostgreSqlConnectorProfileProps) AmazonRdsForPostgreSqlConnectorProfile

Creates a new instance of the AmazonRdsForPostgreSqlConnectorProfile. Experimental.

type AmazonRdsForPostgreSqlConnectorProfileProps added in v0.0.24

type AmazonRdsForPostgreSqlConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The auth settings for the profile.
	// Experimental.
	BasicAuth *AmazonRdsForPostgreSqlBasicAuthSettings `field:"required" json:"basicAuth" yaml:"basicAuth"`
	// The name of the PostgreSQL database.
	// Experimental.
	Database *string `field:"required" json:"database" yaml:"database"`
	// The PostgreSQL hostname.
	// Experimental.
	Hostname *string `field:"required" json:"hostname" yaml:"hostname"`
	// The PostgreSQL communication port.
	// Experimental.
	Port *float64 `field:"optional" json:"port" yaml:"port"`
}

Properties of the AmazonRdsForPostgreSqlConnectorProfile. Experimental.

type AmazonRdsForPostgreSqlDestination added in v0.0.24

type AmazonRdsForPostgreSqlDestination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

Represents a destination for the Amazon RDS for PostgreSQL connector. Experimental.

func NewAmazonRdsForPostgreSqlDestination added in v0.0.24

func NewAmazonRdsForPostgreSqlDestination(props *AmazonRdsForPostgreSqlDestinationProps) AmazonRdsForPostgreSqlDestination

Creates a new instance of the AmazonRdsForPostgreSqlDestination. Experimental.

type AmazonRdsForPostgreSqlDestinationProps added in v0.0.24

type AmazonRdsForPostgreSqlDestinationProps struct {
	// The destination object table to write to.
	// Experimental.
	Object *AmazonRdsForPostgreSqlObject `field:"required" json:"object" yaml:"object"`
	// The profile to use with the destination.
	// Experimental.
	Profile AmazonRdsForPostgreSqlConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// The Amazon AppFlow Api Version.
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure.
	// Experimental.
	ErrorHandling *ErrorHandlingConfiguration `field:"optional" json:"errorHandling" yaml:"errorHandling"`
}

Properties of the AmazonRdsForPostgreSqlDestination. Experimental.

type AmazonRdsForPostgreSqlObject added in v0.0.24

type AmazonRdsForPostgreSqlObject struct {
	// PostgreSQL schema name of the table.
	// Experimental.
	Schema *string `field:"required" json:"schema" yaml:"schema"`
	// PostgreSQL table name.
	// Experimental.
	Table *string `field:"required" json:"table" yaml:"table"`
}

The definition of the Amazon AppFlow object for Amazon RDS for PostgreSQL. Experimental.

type AsanaConnectorProfile added in v0.0.43

type AsanaConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(_props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

A class that represents a Asana Connector Profile. Experimental.

func AsanaConnectorProfile_FromConnectionProfileArn added in v0.0.43

func AsanaConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) AsanaConnectorProfile

Experimental.

func AsanaConnectorProfile_FromConnectionProfileName added in v0.0.43

func AsanaConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) AsanaConnectorProfile

Experimental.

func NewAsanaConnectorProfile added in v0.0.43

func NewAsanaConnectorProfile(scope constructs.Construct, id *string, props *AsanaConnectorProfileProps) AsanaConnectorProfile

Experimental.

type AsanaConnectorProfileProps added in v0.0.43

type AsanaConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	PatToken awscdk.SecretValue `field:"required" json:"patToken" yaml:"patToken"`
}

Experimental.

type AsanaSource added in v0.0.43

type AsanaSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Asana v3 Source. Experimental.

func NewAsanaSource added in v0.0.43

func NewAsanaSource(props *AsanaSourceProps) AsanaSource

Experimental.

type AsanaSourceProps added in v0.0.43

type AsanaSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile AsanaConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
}

Experimental.

type ConnectionMode added in v0.0.2

type ConnectionMode string

Experimental.

const (
	// Experimental.
	ConnectionMode_PUBLIC ConnectionMode = "PUBLIC"
	// Experimental.
	ConnectionMode_PRIVATE ConnectionMode = "PRIVATE"
)

type ConnectorAuthenticationType added in v0.0.2

type ConnectorAuthenticationType string

Experimental.

const (
	// Experimental.
	ConnectorAuthenticationType_APIKEY ConnectorAuthenticationType = "APIKEY"
	// Experimental.
	ConnectorAuthenticationType_BASIC ConnectorAuthenticationType = "BASIC"
	// Experimental.
	ConnectorAuthenticationType_CUSTOM ConnectorAuthenticationType = "CUSTOM"
	// Experimental.
	ConnectorAuthenticationType_OAUTH2 ConnectorAuthenticationType = "OAUTH2"
)

type ConnectorProfileBase added in v0.0.2

type ConnectorProfileBase interface {
	awscdk.Resource
	IConnectorProfile
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

type ConnectorProfileProps added in v0.0.2

type ConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Experimental.

type ConnectorType added in v0.0.2

type ConnectorType interface {
	// Experimental.
	AsProfileConnectorLabel() *string
	// Experimental.
	AsProfileConnectorType() *string
	// Experimental.
	AsTaskConnectorOperatorOrigin() *string
	// Experimental.
	IsCustom() *bool
	// Experimental.
	Name() *string
}

Experimental.

func NewConnectorType added in v0.0.2

func NewConnectorType(name *string, isCustom *bool) ConnectorType

Experimental.

type DataPullConfig added in v0.0.2

type DataPullConfig struct {
	// Experimental.
	Mode DataPullMode `field:"required" json:"mode" yaml:"mode"`
	// The name of the field to use as a timestamp for recurring incremental flows.
	//
	// The default field is set per particular.
	// See: ISource.
	//
	// Experimental.
	TimestampField *string `field:"optional" json:"timestampField" yaml:"timestampField"`
}

Experimental.

type DataPullMode added in v0.0.2

type DataPullMode string

Experimental.

const (
	// Experimental.
	DataPullMode_COMPLETE DataPullMode = "COMPLETE"
	// Experimental.
	DataPullMode_INCREMENTAL DataPullMode = "INCREMENTAL"
)

type ErrorHandlingConfiguration added in v0.0.2

type ErrorHandlingConfiguration struct {
	// Experimental.
	ErrorLocation *S3Location `field:"optional" json:"errorLocation" yaml:"errorLocation"`
	// Experimental.
	FailOnFirstError *bool `field:"optional" json:"failOnFirstError" yaml:"failOnFirstError"`
}

Experimental.

type EventBridgeDestination added in v0.0.2

type EventBridgeDestination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

This class represents AppFlow's EventBridge destination. Experimental.

func NewEventBridgeDestination added in v0.0.2

func NewEventBridgeDestination(props *EventBridgeDestinationProps) EventBridgeDestination

Experimental.

type EventBridgeDestinationProps added in v0.0.2

type EventBridgeDestinationProps struct {
	// Experimental.
	PartnerBus *string `field:"required" json:"partnerBus" yaml:"partnerBus"`
	// Experimental.
	ErrorHandling *ErrorHandlingConfiguration `field:"optional" json:"errorHandling" yaml:"errorHandling"`
}

The properties for the EventBridge destination. Experimental.

type EventSources added in v0.0.2

type EventSources interface {
}

Experimental.

func NewEventSources added in v0.0.2

func NewEventSources() EventSources

Experimental.

type Field added in v0.0.2

type Field struct {
	// Experimental.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Experimental.
	DataType *string `field:"optional" json:"dataType" yaml:"dataType"`
}

Experimental.

type Filter added in v0.0.2

type Filter interface {
	OperationBase
	IFilter
	// Experimental.
	Condition() FilterCondition
	// Experimental.
	Bind(flow IFlow, source ISource) *[]*awsappflow.CfnFlow_TaskProperty
}

A representation of a mapping operation, that is an operation filtering records at the source. Experimental.

func Filter_When added in v0.0.2

func Filter_When(condition FilterCondition) Filter

Builds a filter operation on source. See: FilterCondition instance.

Experimental.

func NewFilter added in v0.0.2

func NewFilter(condition FilterCondition) Filter

Experimental.

type FilterCondition added in v0.0.2

type FilterCondition interface {
	// Experimental.
	Field() *Field
	// Experimental.
	Filter() *string
	// Experimental.
	Properties() *[]*TaskProperty
}

A representation of a filter operation condtiion on a source record field. Experimental.

func FilterCondition_BooleanEquals added in v0.0.2

func FilterCondition_BooleanEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_BooleanNotEquals added in v0.0.2

func FilterCondition_BooleanNotEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_NumberEquals added in v0.0.2

func FilterCondition_NumberEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_NumberGreaterThan added in v0.0.2

func FilterCondition_NumberGreaterThan(field *Field, val *float64) FilterCondition

Experimental.

func FilterCondition_NumberGreaterThanEquals added in v0.0.2

func FilterCondition_NumberGreaterThanEquals(field *Field, val *float64) FilterCondition

Experimental.

func FilterCondition_NumberLessThan added in v0.0.2

func FilterCondition_NumberLessThan(field *Field, val *float64) FilterCondition

Experimental.

func FilterCondition_NumberLessThanEquals added in v0.0.2

func FilterCondition_NumberLessThanEquals(field *Field, val *float64) FilterCondition

Experimental.

func FilterCondition_NumberNotEquals added in v0.0.2

func FilterCondition_NumberNotEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_StringContains added in v0.0.2

func FilterCondition_StringContains(field *Field, val interface{}) FilterCondition

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.

Returns: an instance of a. See: FilterCondition.

Experimental.

func FilterCondition_StringEquals added in v0.0.2

func FilterCondition_StringEquals(field *Field, val interface{}) FilterCondition

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.

Returns: an instance of a. See: FilterCondition.

Experimental.

func FilterCondition_StringNotEquals added in v0.0.2

func FilterCondition_StringNotEquals(field *Field, val interface{}) FilterCondition

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.

Returns: an instance of a. See: FilterCondition.

Experimental.

func FilterCondition_TimestampBetween added in v0.0.2

func FilterCondition_TimestampBetween(field *Field, lower *time.Time, upper *time.Time) FilterCondition

Experimental.

func FilterCondition_TimestampEquals added in v0.0.2

func FilterCondition_TimestampEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_TimestampGreaterThan added in v0.0.2

func FilterCondition_TimestampGreaterThan(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_TimestampGreaterThanEquals added in v0.0.2

func FilterCondition_TimestampGreaterThanEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_TimestampLessThan added in v0.0.2

func FilterCondition_TimestampLessThan(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_TimestampLessThanEquals added in v0.0.2

func FilterCondition_TimestampLessThanEquals(field *Field, val interface{}) FilterCondition

Experimental.

func FilterCondition_TimestampNotEquals added in v0.0.2

func FilterCondition_TimestampNotEquals(field *Field, val interface{}) FilterCondition

Experimental.

func NewFilterCondition added in v0.0.2

func NewFilterCondition(field *Field, filter *string, properties *[]*TaskProperty) FilterCondition

Experimental.

type FlowBase added in v0.0.2

type FlowBase interface {
	awscdk.Resource
	IFlow
	// The ARN of the flow.
	// Experimental.
	Arn() *string
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The name of the flow.
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The type of the flow.
	// Experimental.
	Type() FlowType
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Experimental.
	Metric(metricName *string, options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of records that Amazon AppFlow attempted to transfer for the flow run.
	// Experimental.
	MetricFlowExecutionRecordsProcessed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of failed flow runs.
	// Experimental.
	MetricFlowExecutionsFailed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of flow runs started.
	// Experimental.
	MetricFlowExecutionsStarted(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of successful flow runs.
	// Experimental.
	MetricFlowExecutionsSucceeded(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the  interval, in milliseconds, between the time the flow starts and the time it finishes.
	// Experimental.
	MetricFlowExecutionTime(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Experimental.
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunCompleted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

type FlowBaseProps added in v0.0.2

type FlowBaseProps struct {
	// Experimental.
	Destination IDestination `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Mappings *[]IMapping `field:"required" json:"mappings" yaml:"mappings"`
	// Experimental.
	Source ISource `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Filters *[]IFilter `field:"optional" json:"filters" yaml:"filters"`
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Transforms *[]ITransform `field:"optional" json:"transforms" yaml:"transforms"`
	// Experimental.
	Validations *[]IValidation `field:"optional" json:"validations" yaml:"validations"`
	// Experimental.
	Type FlowType `field:"required" json:"type" yaml:"type"`
	// Experimental.
	Status FlowStatus `field:"optional" json:"status" yaml:"status"`
	// Experimental.
	TriggerConfig *TriggerConfig `field:"optional" json:"triggerConfig" yaml:"triggerConfig"`
}

Experimental.

type FlowProps added in v0.0.2

type FlowProps struct {
	// Experimental.
	Destination IDestination `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Mappings *[]IMapping `field:"required" json:"mappings" yaml:"mappings"`
	// Experimental.
	Source ISource `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Filters *[]IFilter `field:"optional" json:"filters" yaml:"filters"`
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Transforms *[]ITransform `field:"optional" json:"transforms" yaml:"transforms"`
	// Experimental.
	Validations *[]IValidation `field:"optional" json:"validations" yaml:"validations"`
}

Experimental.

type FlowStatus added in v0.0.11

type FlowStatus string

Experimental.

const (
	// Experimental.
	FlowStatus_ACTIVE FlowStatus = "ACTIVE"
	// Experimental.
	FlowStatus_SUSPENDED FlowStatus = "SUSPENDED"
)

func OnEventFlow_SetStatus added in v0.0.11

func OnEventFlow_SetStatus(autoActivate *bool, status FlowStatus) FlowStatus

Experimental.

func OnScheduleFlow_SetStatus added in v0.0.11

func OnScheduleFlow_SetStatus(autoActivate *bool, status FlowStatus) FlowStatus

Experimental.

func TriggeredFlowBase_SetStatus added in v0.0.11

func TriggeredFlowBase_SetStatus(autoActivate *bool, status FlowStatus) FlowStatus

Experimental.

type FlowType added in v0.0.2

type FlowType string

Experimental.

const (
	// Experimental.
	FlowType_EVENT FlowType = "EVENT"
	// Experimental.
	FlowType_ON_DEMAND FlowType = "ON_DEMAND"
	// Experimental.
	FlowType_SCHEDULED FlowType = "SCHEDULED"
)

type GoogleAdsApiVersion added in v0.0.36

type GoogleAdsApiVersion string

An enum representing the GoogleAds API versions. Experimental.

const (
	// Experimental.
	GoogleAdsApiVersion_V16 GoogleAdsApiVersion = "V16"
)

type GoogleAdsConnectorProfile added in v0.0.36

type GoogleAdsConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func GoogleAdsConnectorProfile_FromConnectionProfileArn added in v0.0.36

func GoogleAdsConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) GoogleAdsConnectorProfile

Experimental.

func GoogleAdsConnectorProfile_FromConnectionProfileName added in v0.0.36

func GoogleAdsConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) GoogleAdsConnectorProfile

Experimental.

func NewGoogleAdsConnectorProfile added in v0.0.36

func NewGoogleAdsConnectorProfile(scope constructs.Construct, id *string, props *GoogleAdsConnectorProfileProps) GoogleAdsConnectorProfile

Experimental.

type GoogleAdsConnectorProfileProps added in v0.0.36

type GoogleAdsConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	DeveloperToken awscdk.SecretValue `field:"required" json:"developerToken" yaml:"developerToken"`
	// Experimental.
	OAuth *GoogleAdsOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
	// Experimental.
	ManagerID awscdk.SecretValue `field:"optional" json:"managerID" yaml:"managerID"`
}

Experimental.

type GoogleAdsOAuthEndpoints added in v0.0.36

type GoogleAdsOAuthEndpoints struct {
	// The OAuth authorization endpoint URI.
	// Experimental.
	Authorization *string `field:"optional" json:"authorization" yaml:"authorization"`
	// The OAuth token endpoint URI.
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
}

Google's OAuth token and authorization endpoints. Experimental.

type GoogleAdsOAuthFlow added in v0.0.36

type GoogleAdsOAuthFlow struct {
	// The details required for executing the refresh token grant flow.
	// Experimental.
	RefreshTokenGrant *GoogleAdsRefreshTokenGrantFlow `field:"required" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Represents the OAuth flow enabled for the GoogleAds. Experimental.

type GoogleAdsOAuthSettings added in v0.0.36

type GoogleAdsOAuthSettings struct {
	// The access token to be used when interacting with Google Ads.
	//
	// 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.
	// Default: Retrieves a fresh accessToken with the information in the [flow property]{@link GoogleAdsOAuthSettings#flow }.
	//
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// The OAuth token and authorization endpoints.
	// Experimental.
	Endpoints *GoogleAdsOAuthEndpoints `field:"optional" json:"endpoints" yaml:"endpoints"`
	// The OAuth flow used for obtaining a new accessToken when the old is not present or expired.
	// Default: undefined. AppFlow will not request any new accessToken after expiry.
	//
	// Experimental.
	Flow *GoogleAdsOAuthFlow `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type GoogleAdsRefreshTokenGrantFlow added in v0.0.36

type GoogleAdsRefreshTokenGrantFlow struct {
	// The id of the client app.
	// Experimental.
	ClientId awscdk.SecretValue `field:"optional" json:"clientId" yaml:"clientId"`
	// The secret of the client app.
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// A non-expired refresh token.
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

The OAuth elements required for the execution of the refresh token grant flow. Experimental.

type GoogleAdsSource added in v0.0.36

type GoogleAdsSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Google Ads v4 Source. Experimental.

func NewGoogleAdsSource added in v0.0.36

func NewGoogleAdsSource(props *GoogleAdsSourceProps) GoogleAdsSource

Experimental.

type GoogleAdsSourceProps added in v0.0.36

type GoogleAdsSourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile GoogleAdsConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Properties of a Google Ads Source. Experimental.

type GoogleAnalytics4ApiVersion added in v0.0.2

type GoogleAnalytics4ApiVersion string

Experimental.

const (
	// Experimental.
	GoogleAnalytics4ApiVersion_V1BETA GoogleAnalytics4ApiVersion = "V1BETA"
)

type GoogleAnalytics4ConnectorProfile added in v0.0.2

type GoogleAnalytics4ConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func GoogleAnalytics4ConnectorProfile_FromConnectionProfileArn added in v0.0.2

func GoogleAnalytics4ConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) GoogleAnalytics4ConnectorProfile

Experimental.

func GoogleAnalytics4ConnectorProfile_FromConnectionProfileName added in v0.0.2

func GoogleAnalytics4ConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) GoogleAnalytics4ConnectorProfile

Experimental.

func NewGoogleAnalytics4ConnectorProfile added in v0.0.2

func NewGoogleAnalytics4ConnectorProfile(scope constructs.Construct, id *string, props *GoogleAnalytics4ConnectorProfileProps) GoogleAnalytics4ConnectorProfile

Experimental.

type GoogleAnalytics4ConnectorProfileProps added in v0.0.2

type GoogleAnalytics4ConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	OAuth *GoogleAnalytics4OAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type GoogleAnalytics4OAuthEndpoints added in v0.0.12

type GoogleAnalytics4OAuthEndpoints struct {
	// The OAuth authorization endpoint URI.
	// Experimental.
	Authorization *string `field:"optional" json:"authorization" yaml:"authorization"`
	// The OAuth token endpoint URI.
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
}

Google's OAuth token and authorization endpoints. Experimental.

type GoogleAnalytics4OAuthFlow added in v0.0.2

type GoogleAnalytics4OAuthFlow struct {
	// The details required for executing the refresh token grant flow.
	// Experimental.
	RefreshTokenGrant *GoogleAnalytics4RefreshTokenGrantFlow `field:"required" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Represents the OAuth flow enabled for the GA4. Experimental.

type GoogleAnalytics4OAuthSettings added in v0.0.2

type GoogleAnalytics4OAuthSettings struct {
	// 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.
	// Default: Retrieves a fresh accessToken with the information in the [flow property]{@link GoogleAnalytics4OAuthSettings#flow }.
	//
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// The OAuth token and authorization endpoints.
	// Experimental.
	Endpoints *GoogleAnalytics4OAuthEndpoints `field:"optional" json:"endpoints" yaml:"endpoints"`
	// The OAuth flow used for obtaining a new accessToken when the old is not present or expired.
	// Default: undefined. AppFlow will not request any new accessToken after expiry.
	//
	// Experimental.
	Flow *GoogleAnalytics4OAuthFlow `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type GoogleAnalytics4RefreshTokenGrantFlow added in v0.0.2

type GoogleAnalytics4RefreshTokenGrantFlow struct {
	// The id of the client app.
	// Experimental.
	ClientId awscdk.SecretValue `field:"optional" json:"clientId" yaml:"clientId"`
	// The secret of the client app.
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// A non-expired refresh token.
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

The OAuth elements required for the execution of the refresh token grant flow. Experimental.

type GoogleAnalytics4Source added in v0.0.2

type GoogleAnalytics4Source interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Google Analytics v4 Source. Experimental.

func NewGoogleAnalytics4Source added in v0.0.2

func NewGoogleAnalytics4Source(props *GoogleAnalytics4SourceProps) GoogleAnalytics4Source

Experimental.

type GoogleAnalytics4SourceProps added in v0.0.2

type GoogleAnalytics4SourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile GoogleAnalytics4ConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Properties of a Google Analytics v4 Source. Experimental.

type GoogleBigQueryApiVersion added in v0.0.28

type GoogleBigQueryApiVersion string

Experimental.

const (
	// Experimental.
	GoogleBigQueryApiVersion_V2 GoogleBigQueryApiVersion = "V2"
)

type GoogleBigQueryConnectorProfile added in v0.0.28

type GoogleBigQueryConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func GoogleBigQueryConnectorProfile_FromConnectionProfileArn added in v0.0.28

func GoogleBigQueryConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) GoogleBigQueryConnectorProfile

Experimental.

func GoogleBigQueryConnectorProfile_FromConnectionProfileName added in v0.0.28

func GoogleBigQueryConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) GoogleBigQueryConnectorProfile

Experimental.

func NewGoogleBigQueryConnectorProfile added in v0.0.28

func NewGoogleBigQueryConnectorProfile(scope constructs.Construct, id *string, props *GoogleBigQueryConnectorProfileProps) GoogleBigQueryConnectorProfile

Experimental.

type GoogleBigQueryConnectorProfileProps added in v0.0.28

type GoogleBigQueryConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	OAuth *GoogleBigQueryOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type GoogleBigQueryOAuthEndpoints added in v0.0.28

type GoogleBigQueryOAuthEndpoints struct {
	// The OAuth authorization endpoint URI.
	// Experimental.
	Authorization *string `field:"optional" json:"authorization" yaml:"authorization"`
	// The OAuth token endpoint URI.
	// Experimental.
	Token *string `field:"optional" json:"token" yaml:"token"`
}

Google's OAuth token and authorization endpoints. Experimental.

type GoogleBigQueryOAuthFlow added in v0.0.28

type GoogleBigQueryOAuthFlow struct {
	// The details required for executing the refresh token grant flow.
	// Experimental.
	RefreshTokenGrant *GoogleBigQueryRefreshTokenGrantFlow `field:"required" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Represents the OAuth flow enabled for the GA4. Experimental.

type GoogleBigQueryOAuthSettings added in v0.0.28

type GoogleBigQueryOAuthSettings struct {
	// The access token to be used when interacting with Google BigQuery.
	//
	// 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.
	// Default: Retrieves a fresh accessToken with the information in the [flow property]{@link GoogleBigQueryOAuthSettings#flow }.
	//
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// The OAuth token and authorization endpoints.
	// Experimental.
	Endpoints *GoogleBigQueryOAuthEndpoints `field:"optional" json:"endpoints" yaml:"endpoints"`
	// The OAuth flow used for obtaining a new accessToken when the old is not present or expired.
	// Default: undefined. AppFlow will not request any new accessToken after expiry.
	//
	// Experimental.
	Flow *GoogleBigQueryOAuthFlow `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type GoogleBigQueryObject added in v0.0.28

type GoogleBigQueryObject struct {
	// Experimental.
	Dataset *string `field:"required" json:"dataset" yaml:"dataset"`
	// Experimental.
	Project *string `field:"required" json:"project" yaml:"project"`
	// Experimental.
	Table *string `field:"required" json:"table" yaml:"table"`
}

Experimental.

type GoogleBigQueryRefreshTokenGrantFlow added in v0.0.28

type GoogleBigQueryRefreshTokenGrantFlow struct {
	// The id of the client app.
	// Experimental.
	ClientId awscdk.SecretValue `field:"optional" json:"clientId" yaml:"clientId"`
	// The secret of the client app.
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// A non-expired refresh token.
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

The OAuth elements required for the execution of the refresh token grant flow. Experimental.

type GoogleBigQuerySource added in v0.0.28

type GoogleBigQuerySource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Google BigQuery Source. Experimental.

func NewGoogleBigQuerySource added in v0.0.28

func NewGoogleBigQuerySource(props *GoogleBigQuerySourceProps) GoogleBigQuerySource

Experimental.

type GoogleBigQuerySourceProps added in v0.0.28

type GoogleBigQuerySourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *GoogleBigQueryObject `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile GoogleBigQueryConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Properties of a Google BigQuery Source. Experimental.

type IConnectorProfile added in v0.0.2

type IConnectorProfile interface {
	awscdk.IResource
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// Experimental.
	Name() *string
}

Experimental.

type IDestination added in v0.0.2

type IDestination interface {
	IVertex
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

A destination of an AppFlow flow. Experimental.

type IFilter added in v0.0.2

type IFilter interface {
	IOperation
}

A representation of a mapping operation, that is an operation filtering records at the source. Experimental.

type IFlow added in v0.0.2

type IFlow interface {
	awscdk.IResource
	// Creates a metric to report the number of records that Amazon AppFlow attempted to transfer for the flow run.
	// Experimental.
	MetricFlowExecutionRecordsProcessed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of failed flow runs.
	// Experimental.
	MetricFlowExecutionsFailed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of flow runs started.
	// Experimental.
	MetricFlowExecutionsStarted(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of successful flow runs.
	// Experimental.
	MetricFlowExecutionsSucceeded(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the  interval, in milliseconds, between the time the flow starts and the time it finishes.
	// Experimental.
	MetricFlowExecutionTime(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Experimental.
	OnRunCompleted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// The ARN of the flow.
	// Experimental.
	Arn() *string
	// The name of the flow.
	// Experimental.
	Name() *string
	// The type of the flow.
	// Experimental.
	Type() FlowType
}

Experimental.

type IMapping added in v0.0.2

type IMapping interface {
	IOperation
}

A representation of a mapping operation, that is an operation translating source to destination fields. Experimental.

func Mapping_Map added in v0.0.2

func Mapping_Map(from *Field, to *Field) IMapping

Experimental.

func Mapping_MapAll added in v0.0.2

func Mapping_MapAll(config *MapAllConfig) IMapping

Experimental.

type IOperation added in v0.0.2

type IOperation interface {
	// Experimental.
	Bind(flow IFlow, source ISource) *[]*awsappflow.CfnFlow_TaskProperty
}

A representation of a set of tasks that deliver complete operation. Experimental.

type ISource added in v0.0.2

type ISource interface {
	IVertex
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A source of an AppFlow flow. Experimental.

type ITask added in v0.0.2

type ITask interface {
	// Experimental.
	Bind(flow IFlow, source ISource) *awsappflow.CfnFlow_TaskProperty
}

A representation of a unitary action on the record fields. Experimental.

type ITransform added in v0.0.2

type ITransform interface {
	IOperation
}

A representation of a transform operation, that is an operation modifying source fields. Experimental.

func Transform_Mask added in v0.0.2

func Transform_Mask(field interface{}, mask *string) ITransform

Masks the field with a specified mask.

Returns: a. See: Transform instance.

Default: '*'.

Experimental.

func Transform_MaskEnd added in v0.0.2

func Transform_MaskEnd(field interface{}, length *float64, mask *string) ITransform

Experimental.

func Transform_MaskStart added in v0.0.2

func Transform_MaskStart(field interface{}, length *float64, mask *string) ITransform

Experimental.

func Transform_Truncate added in v0.0.2

func Transform_Truncate(field interface{}, length *float64) ITransform

Truncates the field to a specified length.

Returns: a. See: Transform instance.

Experimental.

type IValidation added in v0.0.2

type IValidation interface {
	IOperation
}

A representation of a validation operation, that is an operation testing records and acting on the test results. Experimental.

func Validation_When added in v0.0.2

func Validation_When(condition ValidationCondition, action ValidationAction) IValidation

Returns: a Validation instance. See: ValidationAction for the validation.

Experimental.

type IVertex added in v0.0.2

type IVertex interface {
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
}

An interface representing a vertex, i.e. a source or a destination of an AppFlow flow. Experimental.

type JdbcDriver added in v0.0.24

type JdbcDriver string

Experimental.

const (
	// Experimental.
	JdbcDriver_POSTGRES JdbcDriver = "POSTGRES"
	// Experimental.
	JdbcDriver_MYSQL JdbcDriver = "MYSQL"
)

type JdbcSmallDataScaleBasicAuthSettings added in v0.0.24

type JdbcSmallDataScaleBasicAuthSettings struct {
	// The password of the identity used for interacting with the database.
	// Experimental.
	Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"`
	// The username of the identity used for interacting with the database.
	// Experimental.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Basic authentication settings for the JdbcSmallDataScaleConnectorProfile. Experimental.

type JdbcSmallDataScaleConnectorProfile added in v0.0.24

type JdbcSmallDataScaleConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(_props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

The connector profile for the JDBC connector. Experimental.

func JdbcSmallDataScaleConnectorProfile_FromConnectionProfileArn added in v0.0.24

func JdbcSmallDataScaleConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) JdbcSmallDataScaleConnectorProfile

Imports an existing JdbcSmallDataScaleConnectorProfile.

Returns: An instance of the JdbcSmallDataScaleConnectorProfile. Experimental.

func JdbcSmallDataScaleConnectorProfile_FromConnectionProfileName added in v0.0.24

func JdbcSmallDataScaleConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) JdbcSmallDataScaleConnectorProfile

Imports an existing JdbcSmallDataScaleConnectorProfile.

Returns: An instance of the JdbcSmallDataScaleConnectorProfile. Experimental.

func NewJdbcSmallDataScaleConnectorProfile added in v0.0.24

func NewJdbcSmallDataScaleConnectorProfile(scope constructs.Construct, id *string, props *JdbcSmallDataScaleConnectorProfileProps) JdbcSmallDataScaleConnectorProfile

Creates a new instance of the JdbcSmallDataScaleConnectorProfile. Experimental.

type JdbcSmallDataScaleConnectorProfileProps added in v0.0.24

type JdbcSmallDataScaleConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The auth settings for the profile.
	// Experimental.
	BasicAuth *JdbcSmallDataScaleBasicAuthSettings `field:"required" json:"basicAuth" yaml:"basicAuth"`
	// The name of the database.
	// Experimental.
	Database *string `field:"required" json:"database" yaml:"database"`
	// The driver for the database.
	//
	// Effectively specifies the type of database.
	// Experimental.
	Driver JdbcDriver `field:"required" json:"driver" yaml:"driver"`
	// The hostname of the database to interact with.
	// Experimental.
	Hostname *string `field:"required" json:"hostname" yaml:"hostname"`
	// The database communication port.
	// Experimental.
	Port *float64 `field:"required" json:"port" yaml:"port"`
}

Properties for the JdbcSmallDataScaleConnectorProfile. Experimental.

type JdbcSmallDataScaleObject added in v0.0.24

type JdbcSmallDataScaleObject struct {
	// Experimental.
	Schema *string `field:"required" json:"schema" yaml:"schema"`
	// Experimental.
	Table *string `field:"required" json:"table" yaml:"table"`
}

Experimental.

type JdbcSmallDataScaleSource added in v0.0.24

type JdbcSmallDataScaleSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewJdbcSmallDataScaleSource added in v0.0.24

func NewJdbcSmallDataScaleSource(props *JdbcSmallDataScaleSourceProps) JdbcSmallDataScaleSource

Experimental.

type JdbcSmallDataScaleSourceProps added in v0.0.24

type JdbcSmallDataScaleSourceProps struct {
	// Experimental.
	Object *JdbcSmallDataScaleObject `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile JdbcSmallDataScaleConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
}

Experimental.

type MailchimpApiVersion added in v0.0.33

type MailchimpApiVersion string

An enum representing the Mailchimp API versions. Experimental.

const (
	// Experimental.
	MailchimpApiVersion_V3 MailchimpApiVersion = "V3"
)

type MailchimpConnectorProfile added in v0.0.33

type MailchimpConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

A class that represents a Mailchimp Connector Profile. Experimental.

func MailchimpConnectorProfile_FromConnectionProfileArn added in v0.0.33

func MailchimpConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) MailchimpConnectorProfile

Experimental.

func MailchimpConnectorProfile_FromConnectionProfileName added in v0.0.33

func MailchimpConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) MailchimpConnectorProfile

Experimental.

func NewMailchimpConnectorProfile added in v0.0.33

func NewMailchimpConnectorProfile(scope constructs.Construct, id *string, props *MailchimpConnectorProfileProps) MailchimpConnectorProfile

Experimental.

type MailchimpConnectorProfileProps added in v0.0.33

type MailchimpConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	ApiKey awscdk.SecretValue `field:"required" json:"apiKey" yaml:"apiKey"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

Experimental.

type MailchimpSource added in v0.0.33

type MailchimpSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Mailchimp v3 Source. Experimental.

func NewMailchimpSource added in v0.0.33

func NewMailchimpSource(props *MailchimpSourceProps) MailchimpSource

Experimental.

type MailchimpSourceProps added in v0.0.33

type MailchimpSourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile MailchimpConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Experimental.

type MapAllConfig added in v0.0.2

type MapAllConfig struct {
	// Experimental.
	Exclude *[]*string `field:"required" json:"exclude" yaml:"exclude"`
}

A helper interface. Experimental.

type Mapping added in v0.0.2

type Mapping interface {
	OperationBase
	IMapping
	// Experimental.
	Bind(flow IFlow, source ISource) *[]*awsappflow.CfnFlow_TaskProperty
}

A representation of an instance of a mapping operation, that is an operation translating source to destination fields. Experimental.

func Mapping_Add added in v0.0.2

func Mapping_Add(sourceField1 *Field, sourceField2 *Field, to *Field) Mapping

Specifies an addition mapping of two numeric values from asource to a destination.

Returns: an IMapping instance. Experimental.

func Mapping_Concat added in v0.0.2

func Mapping_Concat(from *[]*Field, to *Field, format *string) Mapping

A mapping definition building concatenation of source fields into a destination field.

Returns: a mapping instance with concatenation definition. Experimental.

func Mapping_Divide added in v0.0.2

func Mapping_Divide(sourceField1 *Field, sourceField2 *Field, to *Field) Mapping

Specifies a division mapping of two numeric values from a source to a destination.

Returns: an IMapping instance. Experimental.

func Mapping_Multiply added in v0.0.2

func Mapping_Multiply(sourceField1 *Field, sourceField2 *Field, to *Field) Mapping

Specifies a multiplication mapping of two numeric values from a source to a destination.

Returns: an IMapping instance. Experimental.

func Mapping_Subtract added in v0.0.2

func Mapping_Subtract(sourceField1 *Field, sourceField2 *Field, to *Field) Mapping

Specifies a subtraction mapping of two numeric values from a source to a destination.

Returns: an IMapping instance. Experimental.

func NewMapping added in v0.0.2

func NewMapping(tasks *[]ITask) Mapping

Experimental.

type MarketoConnectorProfile added in v0.0.2

type MarketoConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func MarketoConnectorProfile_FromConnectionProfileArn added in v0.0.2

func MarketoConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) MarketoConnectorProfile

Experimental.

func MarketoConnectorProfile_FromConnectionProfileName added in v0.0.2

func MarketoConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) MarketoConnectorProfile

Experimental.

func NewMarketoConnectorProfile added in v0.0.2

func NewMarketoConnectorProfile(scope constructs.Construct, id *string, props *MarketoConnectorProfileProps) MarketoConnectorProfile

Experimental.

type MarketoConnectorProfileProps added in v0.0.2

type MarketoConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
	// Experimental.
	OAuth *MarketoOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type MarketoInstanceUrlBuilder added in v0.0.2

type MarketoInstanceUrlBuilder interface {
}

Experimental.

func NewMarketoInstanceUrlBuilder added in v0.0.2

func NewMarketoInstanceUrlBuilder() MarketoInstanceUrlBuilder

Experimental.

type MarketoOAuthClientCredentialsFlow added in v0.0.2

type MarketoOAuthClientCredentialsFlow struct {
	// Experimental.
	ClientId awscdk.SecretValue `field:"required" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"required" json:"clientSecret" yaml:"clientSecret"`
}

Experimental.

type MarketoOAuthFlow added in v0.0.2

type MarketoOAuthFlow struct {
	// Experimental.
	ClientCredentials *MarketoOAuthClientCredentialsFlow `field:"required" json:"clientCredentials" yaml:"clientCredentials"`
}

Experimental.

type MarketoOAuthSettings added in v0.0.2

type MarketoOAuthSettings struct {
	// Experimental.
	Flow *MarketoOAuthFlow `field:"required" json:"flow" yaml:"flow"`
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
}

Experimental.

type MarketoSource added in v0.0.2

type MarketoSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewMarketoSource added in v0.0.2

func NewMarketoSource(props *MarketoSourceProps) MarketoSource

Experimental.

type MarketoSourceProps added in v0.0.2

type MarketoSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile MarketoConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
}

Experimental.

type MicrosoftDynamics365ApiUrlBuilder added in v0.0.19

type MicrosoftDynamics365ApiUrlBuilder interface {
}

Experimental.

func NewMicrosoftDynamics365ApiUrlBuilder added in v0.0.19

func NewMicrosoftDynamics365ApiUrlBuilder() MicrosoftDynamics365ApiUrlBuilder

Experimental.

type MicrosoftDynamics365ApiVersion added in v0.0.19

type MicrosoftDynamics365ApiVersion string

An enum representing the Microsoft Dynamics 365 API versions. Experimental.

const (
	// Version 9.2.
	// Experimental.
	MicrosoftDynamics365ApiVersion_V9_2 MicrosoftDynamics365ApiVersion = "V9_2"
)

type MicrosoftDynamics365ConnectorProfile added in v0.0.19

type MicrosoftDynamics365ConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

A class that represents a Microsoft Dynamics 365 Connector Profile.

This connector profile allows to transfer document libraries residing on a Microsoft Dynamics 365's site to Amazon S3. Experimental.

func MicrosoftDynamics365ConnectorProfile_FromConnectionProfileArn added in v0.0.19

func MicrosoftDynamics365ConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) MicrosoftDynamics365ConnectorProfile

Experimental.

func MicrosoftDynamics365ConnectorProfile_FromConnectionProfileName added in v0.0.19

func MicrosoftDynamics365ConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) MicrosoftDynamics365ConnectorProfile

Experimental.

func NewMicrosoftDynamics365ConnectorProfile added in v0.0.19

func NewMicrosoftDynamics365ConnectorProfile(scope constructs.Construct, id *string, props *MicrosoftDynamics365ConnectorProfileProps) MicrosoftDynamics365ConnectorProfile

Experimental.

type MicrosoftDynamics365ConnectorProfileProps added in v0.0.19

type MicrosoftDynamics365ConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
	// Experimental.
	OAuth *MicrosoftDynamics365OAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type MicrosoftDynamics365OAuthEndpointsSettings added in v0.0.19

type MicrosoftDynamics365OAuthEndpointsSettings struct {
	// Experimental.
	Token *string `field:"required" json:"token" yaml:"token"`
}

Experimental.

type MicrosoftDynamics365OAuthFlow added in v0.0.19

type MicrosoftDynamics365OAuthFlow struct {
	// Experimental.
	RefreshTokenGrant *MicrosoftDynamics365RefreshTokenGrantFlow `field:"required" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Experimental.

type MicrosoftDynamics365OAuthSettings added in v0.0.19

type MicrosoftDynamics365OAuthSettings struct {
	// The access token to be used when interacting with Microsoft Dynamics 365.
	//
	// 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.
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Experimental.
	Endpoints *MicrosoftDynamics365OAuthEndpointsSettings `field:"optional" json:"endpoints" yaml:"endpoints"`
	// Experimental.
	Flow *MicrosoftDynamics365OAuthFlow `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type MicrosoftDynamics365RefreshTokenGrantFlow added in v0.0.19

type MicrosoftDynamics365RefreshTokenGrantFlow struct {
	// Experimental.
	ClientId awscdk.SecretValue `field:"optional" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

Experimental.

type MicrosoftDynamics365Source added in v0.0.19

type MicrosoftDynamics365Source interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Microsoft Dynamics 365 Source. Experimental.

func NewMicrosoftDynamics365Source added in v0.0.19

func NewMicrosoftDynamics365Source(props *MicrosoftDynamics365SourceProps) MicrosoftDynamics365Source

Experimental.

type MicrosoftDynamics365SourceProps added in v0.0.19

type MicrosoftDynamics365SourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile MicrosoftDynamics365ConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Properties of a Microsoft Dynamics 365 Source. Experimental.

type MicrosoftDynamics365TokenUrlBuilder added in v0.0.19

type MicrosoftDynamics365TokenUrlBuilder interface {
}

A utility class for building Microsoft Dynamics 365 token URLs. Experimental.

func NewMicrosoftDynamics365TokenUrlBuilder added in v0.0.19

func NewMicrosoftDynamics365TokenUrlBuilder() MicrosoftDynamics365TokenUrlBuilder

Experimental.

type MicrosoftSharepointOnlineApiVersion added in v0.0.2

type MicrosoftSharepointOnlineApiVersion string

An enum representing the Microsoft Sharepoint Online API versions. Experimental.

const (
	// Version 1.0.
	// Experimental.
	MicrosoftSharepointOnlineApiVersion_V1 MicrosoftSharepointOnlineApiVersion = "V1"
)

type MicrosoftSharepointOnlineConnectorProfile added in v0.0.2

type MicrosoftSharepointOnlineConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

A class that represents a Microsoft Sharepoint Online Connector Profile.

This connector profile allows to transfer document libraries residing on a Microsoft Sharepoint Online's site to Amazon S3. Experimental.

func MicrosoftSharepointOnlineConnectorProfile_FromConnectionProfileArn added in v0.0.2

func MicrosoftSharepointOnlineConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) MicrosoftSharepointOnlineConnectorProfile

Experimental.

func MicrosoftSharepointOnlineConnectorProfile_FromConnectionProfileName added in v0.0.2

func MicrosoftSharepointOnlineConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) MicrosoftSharepointOnlineConnectorProfile

Experimental.

func NewMicrosoftSharepointOnlineConnectorProfile added in v0.0.2

func NewMicrosoftSharepointOnlineConnectorProfile(scope constructs.Construct, id *string, props *MicrosoftSharepointOnlineConnectorProfileProps) MicrosoftSharepointOnlineConnectorProfile

Experimental.

type MicrosoftSharepointOnlineConnectorProfileProps added in v0.0.2

type MicrosoftSharepointOnlineConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	OAuth *MicrosoftSharepointOnlineOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type MicrosoftSharepointOnlineOAuthEndpointsSettings added in v0.0.2

type MicrosoftSharepointOnlineOAuthEndpointsSettings struct {
	// Experimental.
	Token *string `field:"required" json:"token" yaml:"token"`
}

Experimental.

type MicrosoftSharepointOnlineOAuthFlow added in v0.0.2

type MicrosoftSharepointOnlineOAuthFlow struct {
	// Experimental.
	RefreshTokenGrant *MicrosoftSharepointOnlineRefreshTokenGrantFlow `field:"required" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Experimental.

type MicrosoftSharepointOnlineOAuthSettings added in v0.0.2

type MicrosoftSharepointOnlineOAuthSettings struct {
	// The access token to be used when interacting with Microsoft Sharepoint Online.
	//
	// 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.
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Experimental.
	Endpoints *MicrosoftSharepointOnlineOAuthEndpointsSettings `field:"optional" json:"endpoints" yaml:"endpoints"`
	// Experimental.
	Flow *MicrosoftSharepointOnlineOAuthFlow `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type MicrosoftSharepointOnlineObject added in v0.0.13

type MicrosoftSharepointOnlineObject struct {
	// The Microsoft Sharepoint Online site from which the documents are to be retrieved.
	//
	// Note: requires full name starting with 'sites/'.
	// Experimental.
	Site *string `field:"required" json:"site" yaml:"site"`
	// An array of Microsoft Sharepoint Online site drives from which the documents are to be retrieved.
	//
	// Note: each drive requires full name starting with 'drives/'.
	// Deprecated: . This property is deprecated and will be removed in a future release. Use {@link entities } instead
	Drives *[]*string `field:"optional" json:"drives" yaml:"drives"`
	// An array of Microsoft Sharepoint Online site entities from which the documents are to be retrieved.
	//
	// Note: each entity requires full name starting with 'drives/' followed by driveID and optional '/items/' followed by itemID.
	//
	// Example:
	//   "drives/${driveID}/items/${itemID}"
	//
	// Experimental.
	Entities *[]*string `field:"optional" json:"entities" yaml:"entities"`
}

Represents a list of Microsoft Sharepoint Online site drives from which to retrieve the documents. Experimental.

type MicrosoftSharepointOnlineRefreshTokenGrantFlow added in v0.0.2

type MicrosoftSharepointOnlineRefreshTokenGrantFlow struct {
	// Experimental.
	ClientId awscdk.SecretValue `field:"optional" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

Experimental.

type MicrosoftSharepointOnlineSource added in v0.0.2

type MicrosoftSharepointOnlineSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Microsoft Sharepoint Online Source. Experimental.

func NewMicrosoftSharepointOnlineSource added in v0.0.2

func NewMicrosoftSharepointOnlineSource(props *MicrosoftSharepointOnlineSourceProps) MicrosoftSharepointOnlineSource

Experimental.

type MicrosoftSharepointOnlineSourceProps added in v0.0.2

type MicrosoftSharepointOnlineSourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *MicrosoftSharepointOnlineObject `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile MicrosoftSharepointOnlineConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Properties of a Microsoft Sharepoint Online Source. Experimental.

type MicrosoftSharepointOnlineTokenUrlBuilder added in v0.0.2

type MicrosoftSharepointOnlineTokenUrlBuilder interface {
}

A utility class for building Microsoft Online token URLs. Experimental.

func NewMicrosoftSharepointOnlineTokenUrlBuilder added in v0.0.2

func NewMicrosoftSharepointOnlineTokenUrlBuilder() MicrosoftSharepointOnlineTokenUrlBuilder

Experimental.

type OAuth2GrantType added in v0.0.2

type OAuth2GrantType string

Experimental.

const (
	// Experimental.
	OAuth2GrantType_CLIENT_CREDENTIALS OAuth2GrantType = "CLIENT_CREDENTIALS"
	// Experimental.
	OAuth2GrantType_AUTHORIZATION_CODE OAuth2GrantType = "AUTHORIZATION_CODE"
)

type OnDemandFlow added in v0.0.2

type OnDemandFlow interface {
	FlowBase
	IFlow
	// The ARN of the flow.
	// Experimental.
	Arn() *string
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The name of the flow.
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The type of the flow.
	// Experimental.
	Type() FlowType
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Experimental.
	Metric(metricName *string, options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of records that Amazon AppFlow attempted to transfer for the flow run.
	// Experimental.
	MetricFlowExecutionRecordsProcessed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of failed flow runs.
	// Experimental.
	MetricFlowExecutionsFailed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of flow runs started.
	// Experimental.
	MetricFlowExecutionsStarted(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of successful flow runs.
	// Experimental.
	MetricFlowExecutionsSucceeded(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the  interval, in milliseconds, between the time the flow starts and the time it finishes.
	// Experimental.
	MetricFlowExecutionTime(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Experimental.
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunCompleted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func NewOnDemandFlow added in v0.0.2

func NewOnDemandFlow(scope constructs.Construct, id *string, props *OnDemandFlowProps) OnDemandFlow

Experimental.

type OnDemandFlowProps added in v0.0.2

type OnDemandFlowProps struct {
	// Experimental.
	Destination IDestination `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Mappings *[]IMapping `field:"required" json:"mappings" yaml:"mappings"`
	// Experimental.
	Source ISource `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Filters *[]IFilter `field:"optional" json:"filters" yaml:"filters"`
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Transforms *[]ITransform `field:"optional" json:"transforms" yaml:"transforms"`
	// Experimental.
	Validations *[]IValidation `field:"optional" json:"validations" yaml:"validations"`
}

Experimental.

type OnEventFlow added in v0.0.2

type OnEventFlow interface {
	TriggeredFlowBase
	IFlow
	// The ARN of the flow.
	// Experimental.
	Arn() *string
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The name of the flow.
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The type of the flow.
	// Experimental.
	Type() FlowType
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Experimental.
	Metric(metricName *string, options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of records that Amazon AppFlow attempted to transfer for the flow run.
	// Experimental.
	MetricFlowExecutionRecordsProcessed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of failed flow runs.
	// Experimental.
	MetricFlowExecutionsFailed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of flow runs started.
	// Experimental.
	MetricFlowExecutionsStarted(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of successful flow runs.
	// Experimental.
	MetricFlowExecutionsSucceeded(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the  interval, in milliseconds, between the time the flow starts and the time it finishes.
	// Experimental.
	MetricFlowExecutionTime(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Experimental.
	OnDeactivated(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunCompleted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnStatus(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func NewOnEventFlow added in v0.0.2

func NewOnEventFlow(scope constructs.Construct, id *string, props *OnEventFlowProps) OnEventFlow

Experimental.

type OnEventFlowProps added in v0.0.2

type OnEventFlowProps struct {
	// Experimental.
	Destination IDestination `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Mappings *[]IMapping `field:"required" json:"mappings" yaml:"mappings"`
	// Experimental.
	Source ISource `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Filters *[]IFilter `field:"optional" json:"filters" yaml:"filters"`
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Transforms *[]ITransform `field:"optional" json:"transforms" yaml:"transforms"`
	// Experimental.
	Validations *[]IValidation `field:"optional" json:"validations" yaml:"validations"`
	// Deprecated: . This property is deprecated and will be removed in a future release. Use {@link status } instead
	AutoActivate *bool `field:"optional" json:"autoActivate" yaml:"autoActivate"`
	// The status to set on the flow.
	//
	// Use this over {@link autoActivate}.
	// Experimental.
	Status FlowStatus `field:"optional" json:"status" yaml:"status"`
}

Experimental.

type OnScheduleFlow added in v0.0.2

type OnScheduleFlow interface {
	TriggeredFlowBase
	IFlow
	// The ARN of the flow.
	// Experimental.
	Arn() *string
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The name of the flow.
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The type of the flow.
	// Experimental.
	Type() FlowType
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Experimental.
	Metric(metricName *string, options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of records that Amazon AppFlow attempted to transfer for the flow run.
	// Experimental.
	MetricFlowExecutionRecordsProcessed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of failed flow runs.
	// Experimental.
	MetricFlowExecutionsFailed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of flow runs started.
	// Experimental.
	MetricFlowExecutionsStarted(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of successful flow runs.
	// Experimental.
	MetricFlowExecutionsSucceeded(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the  interval, in milliseconds, between the time the flow starts and the time it finishes.
	// Experimental.
	MetricFlowExecutionTime(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Experimental.
	OnDeactivated(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunCompleted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func NewOnScheduleFlow added in v0.0.2

func NewOnScheduleFlow(scope constructs.Construct, id *string, props *OnScheduleFlowProps) OnScheduleFlow

Experimental.

type OnScheduleFlowProps added in v0.0.2

type OnScheduleFlowProps struct {
	// Experimental.
	Destination IDestination `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Mappings *[]IMapping `field:"required" json:"mappings" yaml:"mappings"`
	// Experimental.
	Source ISource `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Filters *[]IFilter `field:"optional" json:"filters" yaml:"filters"`
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Transforms *[]ITransform `field:"optional" json:"transforms" yaml:"transforms"`
	// Experimental.
	Validations *[]IValidation `field:"optional" json:"validations" yaml:"validations"`
	// Deprecated: . This property is deprecated and will be removed in a future release. Use {@link status } instead
	AutoActivate *bool `field:"optional" json:"autoActivate" yaml:"autoActivate"`
	// The status to set on the flow.
	//
	// Use this over {@link autoActivate}.
	// Experimental.
	Status FlowStatus `field:"optional" json:"status" yaml:"status"`
	// Experimental.
	PullConfig *DataPullConfig `field:"required" json:"pullConfig" yaml:"pullConfig"`
	// Experimental.
	Schedule awsevents.Schedule `field:"required" json:"schedule" yaml:"schedule"`
	// Experimental.
	ScheduleProperties *ScheduleProperties `field:"optional" json:"scheduleProperties" yaml:"scheduleProperties"`
}

Experimental.

type OperationBase added in v0.0.2

type OperationBase interface {
	IOperation
	// Experimental.
	Bind(flow IFlow, source ISource) *[]*awsappflow.CfnFlow_TaskProperty
}

A base class for all operations. Experimental.

type RedshiftConnectorBasicCredentials added in v0.0.2

type RedshiftConnectorBasicCredentials struct {
	// Experimental.
	Password awscdk.SecretValue `field:"optional" json:"password" yaml:"password"`
	// Experimental.
	Username *string `field:"optional" json:"username" yaml:"username"`
}

Experimental.

type RedshiftConnectorProfile added in v0.0.2

type RedshiftConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewRedshiftConnectorProfile added in v0.0.2

func NewRedshiftConnectorProfile(scope constructs.Construct, id *string, props *RedshiftConnectorProfileProps) RedshiftConnectorProfile

Experimental.

func RedshiftConnectorProfile_FromConnectionProfileArn added in v0.0.2

func RedshiftConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) RedshiftConnectorProfile

Experimental.

func RedshiftConnectorProfile_FromConnectionProfileName added in v0.0.2

func RedshiftConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) RedshiftConnectorProfile

Experimental.

type RedshiftConnectorProfileProps added in v0.0.2

type RedshiftConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	BasicAuth *RedshiftConnectorBasicCredentials `field:"required" json:"basicAuth" yaml:"basicAuth"`
	// The Redshift cluster to use this connector profile with.
	// Experimental.
	Cluster awscdkredshiftalpha.ICluster `field:"required" json:"cluster" yaml:"cluster"`
	// The name of the database which the RedshiftConnectorProfile will be working with.
	// Experimental.
	DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"`
	// An intermediate location for the data retrieved from the flow source that will be further transferred to the Redshfit database.
	// Experimental.
	IntermediateLocation *S3Location `field:"required" json:"intermediateLocation" yaml:"intermediateLocation"`
	// An IAM Role that the Redshift cluster will assume to get data from the intermiediate S3 Bucket.
	// Experimental.
	BucketAccessRole awsiam.IRole `field:"optional" json:"bucketAccessRole" yaml:"bucketAccessRole"`
	// An IAM Role that AppFlow will assume to interact with the Redshift cluster's Data API.
	// Default: autogenerated IAM role.
	//
	// Experimental.
	DataApiRole awsiam.IRole `field:"optional" json:"dataApiRole" yaml:"dataApiRole"`
}

Experimental.

type RedshiftDestination added in v0.0.2

type RedshiftDestination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

Experimental.

func NewRedshiftDestination added in v0.0.2

func NewRedshiftDestination(props *RedshiftDestinationProps) RedshiftDestination

Experimental.

type RedshiftDestinationObject added in v0.0.2

type RedshiftDestinationObject struct {
	// Experimental.
	Table interface{} `field:"required" json:"table" yaml:"table"`
	// Default: public.
	//
	// Experimental.
	Schema *string `field:"optional" json:"schema" yaml:"schema"`
}

Experimental.

type RedshiftDestinationProps added in v0.0.2

type RedshiftDestinationProps struct {
	// A Redshift table object (optionally with the schema).
	// Experimental.
	Object *RedshiftDestinationObject `field:"required" json:"object" yaml:"object"`
	// An instance of the.
	// Experimental.
	Profile RedshiftConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// 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.
	// Experimental.
	ErrorHandling *ErrorHandlingConfiguration `field:"optional" json:"errorHandling" yaml:"errorHandling"`
}

Experimental.

type S3Catalog added in v0.0.2

type S3Catalog struct {
	// Experimental.
	Database awscdkgluealpha.Database `field:"required" json:"database" yaml:"database"`
	// Experimental.
	TablePrefix *string `field:"required" json:"tablePrefix" yaml:"tablePrefix"`
}

Experimental.

type S3Destination added in v0.0.2

type S3Destination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

Experimental.

func NewS3Destination added in v0.0.2

func NewS3Destination(props *S3DestinationProps) S3Destination

Experimental.

type S3DestinationProps added in v0.0.2

type S3DestinationProps struct {
	// Experimental.
	Location *S3Location `field:"required" json:"location" yaml:"location"`
	// Experimental.
	Catalog *S3Catalog `field:"optional" json:"catalog" yaml:"catalog"`
	// Experimental.
	Formatting *S3OutputFormatting `field:"optional" json:"formatting" yaml:"formatting"`
}

Experimental.

type S3FileAggregation added in v0.0.2

type S3FileAggregation struct {
	// The maximum size, in MB, of the file containing portion of incoming data.
	// Experimental.
	FileSize *float64 `field:"optional" json:"fileSize" yaml:"fileSize"`
	// Experimental.
	Type S3OutputAggregationType `field:"optional" json:"type" yaml:"type"`
}

Experimental.

type S3InputFileType added in v0.0.2

type S3InputFileType string

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

const (
	// Experimental.
	S3InputFileType_CSV S3InputFileType = "CSV"
	// Experimental.
	S3InputFileType_JSON S3InputFileType = "JSON"
)

type S3InputFormat added in v0.0.2

type S3InputFormat struct {
	// Experimental.
	Type S3InputFileType `field:"required" json:"type" yaml:"type"`
}

Experimental.

type S3Location added in v0.0.2

type S3Location struct {
	// Experimental.
	Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"`
	// Experimental.
	Prefix *string `field:"optional" json:"prefix" yaml:"prefix"`
}

Experimental.

type S3OutputAggregationType added in v0.0.2

type S3OutputAggregationType string

Experimental.

const (
	// Experimental.
	S3OutputAggregationType_NONE S3OutputAggregationType = "NONE"
	// Experimental.
	S3OutputAggregationType_SINGLE_FILE S3OutputAggregationType = "SINGLE_FILE"
)

type S3OutputFilePrefix added in v0.0.2

type S3OutputFilePrefix struct {
	// Experimental.
	Format S3OutputFilePrefixFormat `field:"optional" json:"format" yaml:"format"`
	// Experimental.
	Hierarchy *[]S3OutputFilePrefixHierarchy `field:"optional" json:"hierarchy" yaml:"hierarchy"`
	// Experimental.
	Type S3OutputFilePrefixType `field:"optional" json:"type" yaml:"type"`
}

Experimental.

type S3OutputFilePrefixFormat added in v0.0.2

type S3OutputFilePrefixFormat string

Experimental.

const (
	// Experimental.
	S3OutputFilePrefixFormat_DAY S3OutputFilePrefixFormat = "DAY"
	// Experimental.
	S3OutputFilePrefixFormat_HOUR S3OutputFilePrefixFormat = "HOUR"
	// Experimental.
	S3OutputFilePrefixFormat_MINUTE S3OutputFilePrefixFormat = "MINUTE"
	// Experimental.
	S3OutputFilePrefixFormat_MONTH S3OutputFilePrefixFormat = "MONTH"
	// Experimental.
	S3OutputFilePrefixFormat_YEAR S3OutputFilePrefixFormat = "YEAR"
)

type S3OutputFilePrefixHierarchy added in v0.0.2

type S3OutputFilePrefixHierarchy string

Experimental.

const (
	// Experimental.
	S3OutputFilePrefixHierarchy_EXECUTION_ID S3OutputFilePrefixHierarchy = "EXECUTION_ID"
	// Experimental.
	S3OutputFilePrefixHierarchy_SCHEMA_VERSION S3OutputFilePrefixHierarchy = "SCHEMA_VERSION"
)

type S3OutputFilePrefixType added in v0.0.2

type S3OutputFilePrefixType string

Experimental.

const (
	// Experimental.
	S3OutputFilePrefixType_FILENAME S3OutputFilePrefixType = "FILENAME"
	// Experimental.
	S3OutputFilePrefixType_PATH S3OutputFilePrefixType = "PATH"
	// Experimental.
	S3OutputFilePrefixType_PATH_AND_FILE S3OutputFilePrefixType = "PATH_AND_FILE"
)

type S3OutputFileType added in v0.0.2

type S3OutputFileType string

Experimental.

const (
	// Experimental.
	S3OutputFileType_CSV S3OutputFileType = "CSV"
	// Experimental.
	S3OutputFileType_JSON S3OutputFileType = "JSON"
	// Experimental.
	S3OutputFileType_PARQUET S3OutputFileType = "PARQUET"
)

type S3OutputFormatting added in v0.0.2

type S3OutputFormatting struct {
	// Experimental.
	Aggregation *S3FileAggregation `field:"optional" json:"aggregation" yaml:"aggregation"`
	// Experimental.
	FilePrefix *S3OutputFilePrefix `field:"optional" json:"filePrefix" yaml:"filePrefix"`
	// Experimental.
	FileType S3OutputFileType `field:"optional" json:"fileType" yaml:"fileType"`
	// Experimental.
	PreserveSourceDataTypes *bool `field:"optional" json:"preserveSourceDataTypes" yaml:"preserveSourceDataTypes"`
}

Experimental.

type S3Source added in v0.0.2

type S3Source interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewS3Source added in v0.0.2

func NewS3Source(props *S3SourceProps) S3Source

Experimental.

type S3SourceProps added in v0.0.2

type S3SourceProps struct {
	// Experimental.
	Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"`
	// Experimental.
	Prefix *string `field:"required" json:"prefix" yaml:"prefix"`
	// Experimental.
	Format *S3InputFormat `field:"optional" json:"format" yaml:"format"`
}

Experimental.

type SAPOdataBasicAuthSettings added in v0.0.4

type SAPOdataBasicAuthSettings struct {
	// Experimental.
	Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"`
	// Experimental.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Experimental.

type SAPOdataConnectorProfile added in v0.0.4

type SAPOdataConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewSAPOdataConnectorProfile added in v0.0.4

func NewSAPOdataConnectorProfile(scope constructs.Construct, id *string, props *SAPOdataConnectorProfileProps) SAPOdataConnectorProfile

Experimental.

func SAPOdataConnectorProfile_FromConnectionProfileArn added in v0.0.4

func SAPOdataConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) SAPOdataConnectorProfile

Experimental.

func SAPOdataConnectorProfile_FromConnectionProfileName added in v0.0.4

func SAPOdataConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) SAPOdataConnectorProfile

Experimental.

type SAPOdataConnectorProfileProps added in v0.0.4

type SAPOdataConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	ApplicationHostUrl *string `field:"required" json:"applicationHostUrl" yaml:"applicationHostUrl"`
	// Experimental.
	ApplicationServicePath *string `field:"required" json:"applicationServicePath" yaml:"applicationServicePath"`
	// Experimental.
	ClientNumber *string `field:"required" json:"clientNumber" yaml:"clientNumber"`
	// Experimental.
	LogonLanguage *string `field:"required" json:"logonLanguage" yaml:"logonLanguage"`
	// Experimental.
	BasicAuth *SAPOdataBasicAuthSettings `field:"optional" json:"basicAuth" yaml:"basicAuth"`
	// Experimental.
	OAuth *SAPOdataOAuthSettings `field:"optional" json:"oAuth" yaml:"oAuth"`
	// Experimental.
	PortNumber *float64 `field:"optional" json:"portNumber" yaml:"portNumber"`
}

Experimental.

type SAPOdataDestination added in v0.0.4

type SAPOdataDestination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

Experimental.

func NewSAPOdataDestination added in v0.0.4

func NewSAPOdataDestination(props *SAPOdataDestinationProps) SAPOdataDestination

Experimental.

type SAPOdataDestinationProps added in v0.0.4

type SAPOdataDestinationProps struct {
	// The SAPOdata object for which the operation is to be set.
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Operation WriteOperation `field:"required" json:"operation" yaml:"operation"`
	// Experimental.
	Profile SAPOdataConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// 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.
	// Experimental.
	ErrorHandling *ErrorHandlingConfiguration `field:"optional" json:"errorHandling" yaml:"errorHandling"`
	// Experimental.
	SuccessResponseHandling *SAPOdataSuccessResponseHandlingConfiguration `field:"optional" json:"successResponseHandling" yaml:"successResponseHandling"`
}

Experimental.

type SAPOdataOAuthEndpoints added in v0.0.4

type SAPOdataOAuthEndpoints struct {
	// Experimental.
	Token *string `field:"required" json:"token" yaml:"token"`
}

Experimental.

type SAPOdataOAuthFlows added in v0.0.4

type SAPOdataOAuthFlows struct {
	// Experimental.
	RefreshTokenGrant *SAPOdataOAuthRefreshTokenGrantFlow `field:"required" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Experimental.

type SAPOdataOAuthRefreshTokenGrantFlow added in v0.0.4

type SAPOdataOAuthRefreshTokenGrantFlow struct {
	// Experimental.
	ClientId awscdk.SecretValue `field:"required" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"required" json:"clientSecret" yaml:"clientSecret"`
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

Experimental.

type SAPOdataOAuthSettings added in v0.0.4

type SAPOdataOAuthSettings struct {
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Experimental.
	Endpoints *SAPOdataOAuthEndpoints `field:"optional" json:"endpoints" yaml:"endpoints"`
	// Experimental.
	Flow *SAPOdataOAuthFlows `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type SAPOdataSource added in v0.0.4

type SAPOdataSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewSAPOdataSource added in v0.0.4

func NewSAPOdataSource(props *SAPOdataSourceProps) SAPOdataSource

Experimental.

type SAPOdataSourceProps added in v0.0.4

type SAPOdataSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile SAPOdataConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Experimental.

type SAPOdataSuccessResponseHandlingConfiguration added in v0.0.4

type SAPOdataSuccessResponseHandlingConfiguration struct {
	// Experimental.
	Location *S3Location `field:"required" json:"location" yaml:"location"`
}

Experimental.

type SalesforceConnectorProfile added in v0.0.2

type SalesforceConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(properties *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(properties *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewSalesforceConnectorProfile added in v0.0.2

func NewSalesforceConnectorProfile(scope constructs.Construct, id *string, props *SalesforceConnectorProfileProps) SalesforceConnectorProfile

Experimental.

func SalesforceConnectorProfile_FromConnectionProfileArn added in v0.0.2

func SalesforceConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) SalesforceConnectorProfile

Experimental.

func SalesforceConnectorProfile_FromConnectionProfileName added in v0.0.2

func SalesforceConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) SalesforceConnectorProfile

Experimental.

type SalesforceConnectorProfileProps added in v0.0.2

type SalesforceConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
	// Experimental.
	OAuth *SalesforceOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
	// Default: false.
	//
	// Experimental.
	IsSandbox *bool `field:"optional" json:"isSandbox" yaml:"isSandbox"`
}

Experimental.

type SalesforceDataTransferApi added in v0.0.2

type SalesforceDataTransferApi string

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. Experimental.

const (
	// Experimental.
	SalesforceDataTransferApi_AUTOMATIC SalesforceDataTransferApi = "AUTOMATIC"
	// Experimental.
	SalesforceDataTransferApi_BULKV2 SalesforceDataTransferApi = "BULKV2"
	// Experimental.
	SalesforceDataTransferApi_REST_SYNC SalesforceDataTransferApi = "REST_SYNC"
)

type SalesforceDestination added in v0.0.2

type SalesforceDestination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

Experimental.

func NewSalesforceDestination added in v0.0.2

func NewSalesforceDestination(props *SalesforceDestinationProps) SalesforceDestination

Experimental.

type SalesforceDestinationProps added in v0.0.2

type SalesforceDestinationProps struct {
	// The Salesforce object for which the operation is to be set.
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Operation WriteOperation `field:"required" json:"operation" yaml:"operation"`
	// Experimental.
	Profile SalesforceConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.
	// Experimental.
	DataTransferApi SalesforceDataTransferApi `field:"optional" json:"dataTransferApi" yaml:"dataTransferApi"`
	// 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.
	// Experimental.
	ErrorHandling *ErrorHandlingConfiguration `field:"optional" json:"errorHandling" yaml:"errorHandling"`
}

Experimental.

type SalesforceMarketingCloudApiVersions added in v0.0.2

type SalesforceMarketingCloudApiVersions string

A helper enum for SFMC api version. Experimental.

const (
	// Experimental.
	SalesforceMarketingCloudApiVersions_V1 SalesforceMarketingCloudApiVersions = "V1"
)

type SalesforceMarketingCloudConnectorProfile added in v0.0.2

type SalesforceMarketingCloudConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewSalesforceMarketingCloudConnectorProfile added in v0.0.2

func NewSalesforceMarketingCloudConnectorProfile(scope constructs.Construct, id *string, props *SalesforceMarketingCloudConnectorProfileProps) SalesforceMarketingCloudConnectorProfile

Experimental.

func SalesforceMarketingCloudConnectorProfile_FromConnectionProfileArn added in v0.0.2

func SalesforceMarketingCloudConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) SalesforceMarketingCloudConnectorProfile

Experimental.

func SalesforceMarketingCloudConnectorProfile_FromConnectionProfileName added in v0.0.2

func SalesforceMarketingCloudConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) SalesforceMarketingCloudConnectorProfile

Experimental.

type SalesforceMarketingCloudConnectorProfileProps added in v0.0.2

type SalesforceMarketingCloudConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
	// Experimental.
	OAuth *SalesforceMarketingCloudOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type SalesforceMarketingCloudFlowSettings added in v0.0.2

type SalesforceMarketingCloudFlowSettings struct {
	// Experimental.
	ClientCredentials *SalesforceMarketingCloudOAuthClientSettings `field:"required" json:"clientCredentials" yaml:"clientCredentials"`
}

Experimental.

type SalesforceMarketingCloudOAuthClientSettings added in v0.0.2

type SalesforceMarketingCloudOAuthClientSettings struct {
	// Experimental.
	ClientId awscdk.SecretValue `field:"required" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"required" json:"clientSecret" yaml:"clientSecret"`
}

Experimental.

type SalesforceMarketingCloudOAuthEndpoints added in v0.0.2

type SalesforceMarketingCloudOAuthEndpoints struct {
	// Experimental.
	Token *string `field:"required" json:"token" yaml:"token"`
}

Experimental.

type SalesforceMarketingCloudOAuthSettings added in v0.0.2

type SalesforceMarketingCloudOAuthSettings struct {
	// Experimental.
	Endpoints *SalesforceMarketingCloudOAuthEndpoints `field:"required" json:"endpoints" yaml:"endpoints"`
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Experimental.
	Flow *SalesforceMarketingCloudFlowSettings `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type SalesforceMarketingCloudSource added in v0.0.2

type SalesforceMarketingCloudSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

A class that represents a Salesforce Marketing Cloud Source. Experimental.

func NewSalesforceMarketingCloudSource added in v0.0.2

func NewSalesforceMarketingCloudSource(props *SalesforceMarketingCloudSourceProps) SalesforceMarketingCloudSource

Experimental.

type SalesforceMarketingCloudSourceProps added in v0.0.2

type SalesforceMarketingCloudSourceProps struct {
	// Experimental.
	ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile SalesforceMarketingCloudConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Properties of a Salesforce Marketing Cloud Source. Experimental.

type SalesforceOAuthFlow added in v0.0.2

type SalesforceOAuthFlow struct {
	// The parameters required for the refresh token grant OAuth flow.
	// Experimental.
	RefreshTokenGrant *SalesforceOAuthRefreshTokenGrantFlow `field:"optional" json:"refreshTokenGrant" yaml:"refreshTokenGrant"`
}

Experimental.

type SalesforceOAuthRefreshTokenGrantFlow added in v0.0.2

type SalesforceOAuthRefreshTokenGrantFlow struct {
	// Experimental.
	Client awssecretsmanager.ISecret `field:"optional" json:"client" yaml:"client"`
	// Experimental.
	RefreshToken awscdk.SecretValue `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

Experimental.

type SalesforceOAuthSettings added in v0.0.2

type SalesforceOAuthSettings struct {
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Experimental.
	Flow *SalesforceOAuthFlow `field:"optional" json:"flow" yaml:"flow"`
}

Experimental.

type SalesforceSource added in v0.0.2

type SalesforceSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewSalesforceSource added in v0.0.2

func NewSalesforceSource(props *SalesforceSourceProps) SalesforceSource

Experimental.

type SalesforceSourceProps added in v0.0.2

type SalesforceSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile SalesforceConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
	// Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.
	// Experimental.
	DataTransferApi SalesforceDataTransferApi `field:"optional" json:"dataTransferApi" yaml:"dataTransferApi"`
	// Experimental.
	EnableDynamicFieldUpdate *bool `field:"optional" json:"enableDynamicFieldUpdate" yaml:"enableDynamicFieldUpdate"`
	// Experimental.
	IncludeDeletedRecords *bool `field:"optional" json:"includeDeletedRecords" yaml:"includeDeletedRecords"`
}

Experimental.

type ScheduleProperties added in v0.0.2

type ScheduleProperties struct {
	// Experimental.
	EndTime *time.Time `field:"optional" json:"endTime" yaml:"endTime"`
	// Timestamp for the records to import from the connector in the first flow run.
	// Default: 30 days back from the initial frow run.
	//
	// Experimental.
	FirstExecutionFrom *time.Time `field:"optional" json:"firstExecutionFrom" yaml:"firstExecutionFrom"`
	// Experimental.
	Offset awscdk.Duration `field:"optional" json:"offset" yaml:"offset"`
	// Experimental.
	StartTime *time.Time `field:"optional" json:"startTime" yaml:"startTime"`
	// Experimental.
	Timezone *string `field:"optional" json:"timezone" yaml:"timezone"`
}

Experimental.

type ServiceNowBasicSettings added in v0.0.2

type ServiceNowBasicSettings struct {
	// Experimental.
	Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"`
	// Experimental.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Experimental.

type ServiceNowConnectorProfile added in v0.0.2

type ServiceNowConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewServiceNowConnectorProfile added in v0.0.2

func NewServiceNowConnectorProfile(scope constructs.Construct, id *string, props *ServiceNowConnectorProfileProps) ServiceNowConnectorProfile

Experimental.

func ServiceNowConnectorProfile_FromConnectionProfileArn added in v0.0.2

func ServiceNowConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) ServiceNowConnectorProfile

Experimental.

func ServiceNowConnectorProfile_FromConnectionProfileName added in v0.0.2

func ServiceNowConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) ServiceNowConnectorProfile

Experimental.

type ServiceNowConnectorProfileProps added in v0.0.2

type ServiceNowConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	BasicAuth *ServiceNowBasicSettings `field:"required" json:"basicAuth" yaml:"basicAuth"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

Experimental.

type ServiceNowInstanceUrlBuilder added in v0.0.2

type ServiceNowInstanceUrlBuilder interface {
}

Experimental.

func NewServiceNowInstanceUrlBuilder added in v0.0.2

func NewServiceNowInstanceUrlBuilder() ServiceNowInstanceUrlBuilder

Experimental.

type ServiceNowSource added in v0.0.2

type ServiceNowSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewServiceNowSource added in v0.0.2

func NewServiceNowSource(props *ServiceNowSourceProps) ServiceNowSource

Experimental.

type ServiceNowSourceProps added in v0.0.2

type ServiceNowSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile ServiceNowConnectorProfile `field:"required" json:"profile" yaml:"profile"`
}

Experimental.

type SlackConnectorProfile added in v0.0.2

type SlackConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewSlackConnectorProfile added in v0.0.2

func NewSlackConnectorProfile(scope constructs.Construct, id *string, props *SlackConnectorProfileProps) SlackConnectorProfile

Experimental.

func SlackConnectorProfile_FromConnectionProfileArn added in v0.0.2

func SlackConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) SlackConnectorProfile

Experimental.

func SlackConnectorProfile_FromConnectionProfileName added in v0.0.2

func SlackConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) SlackConnectorProfile

Experimental.

type SlackConnectorProfileProps added in v0.0.2

type SlackConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
	// Experimental.
	OAuth *SlackOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type SlackInstanceUrlBuilder added in v0.0.2

type SlackInstanceUrlBuilder interface {
}

Experimental.

func NewSlackInstanceUrlBuilder added in v0.0.2

func NewSlackInstanceUrlBuilder() SlackInstanceUrlBuilder

Experimental.

type SlackOAuthSettings added in v0.0.2

type SlackOAuthSettings struct {
	// Experimental.
	AccessToken awscdk.SecretValue `field:"required" json:"accessToken" yaml:"accessToken"`
	// Experimental.
	ClientId awscdk.SecretValue `field:"optional" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"optional" json:"clientSecret" yaml:"clientSecret"`
}

Experimental.

type SlackSource added in v0.0.2

type SlackSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewSlackSource added in v0.0.2

func NewSlackSource(props *SlackSourceProps) SlackSource

Experimental.

type SlackSourceProps added in v0.0.2

type SlackSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile SlackConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
}

Experimental.

type SnowflakeBasicAuthSettings added in v0.0.12

type SnowflakeBasicAuthSettings struct {
	// Experimental.
	Password awscdk.SecretValue `field:"required" json:"password" yaml:"password"`
	// Experimental.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Snowflake authorization settings required for the profile. Experimental.

type SnowflakeConnectorProfile added in v0.0.12

type SnowflakeConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The AWS IAM Role for the storage integration with Snowflake.
	//
	// Available only if [SnowflakeConnectorProfileProps's integration property]{@link SnowflakeConnectorProfileProps#integration } is provided.
	//
	// For more details see {@link https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration}
	// Experimental.
	IntegrationRole() awsiam.IRole
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewSnowflakeConnectorProfile added in v0.0.12

func NewSnowflakeConnectorProfile(scope constructs.Construct, id *string, props *SnowflakeConnectorProfileProps) SnowflakeConnectorProfile

Experimental.

func SnowflakeConnectorProfile_FromConnectionProfileArn added in v0.0.12

func SnowflakeConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) SnowflakeConnectorProfile

Experimental.

func SnowflakeConnectorProfile_FromConnectionProfileName added in v0.0.12

func SnowflakeConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) SnowflakeConnectorProfile

Experimental.

type SnowflakeConnectorProfileProps added in v0.0.12

type SnowflakeConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Experimental.
	BasicAuth *SnowflakeBasicAuthSettings `field:"required" json:"basicAuth" yaml:"basicAuth"`
	// The name of the Snowflake database.
	// Experimental.
	Database *string `field:"required" json:"database" yaml:"database"`
	// Experimental.
	Location *S3Location `field:"required" json:"location" yaml:"location"`
	// The name of the Snowflake stage.
	// Experimental.
	Stage *string `field:"required" json:"stage" yaml:"stage"`
	// The name of the Snowflake warehouse.
	// Experimental.
	Warehouse *string `field:"required" json:"warehouse" yaml:"warehouse"`
	// Details of the Snowflake Storage Integration.
	//
	// When provided, this construct will automatically create an IAM Role allowing access to the S3 Bucket which will be available as a [integrationROle property]{@link SnowflakeConnectorProfile#integrationRole }
	//
	// For details of the integration see {@link https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration}
	// Experimental.
	Integration *SnowflakeStorageIntegration `field:"optional" json:"integration" yaml:"integration"`
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The name of the Snowflake schema.
	// Default: PUBLIC.
	//
	// Experimental.
	Schema *string `field:"optional" json:"schema" yaml:"schema"`
}

Properties for a Snowflake connectorprofile. Experimental.

type SnowflakeDestination added in v0.0.12

type SnowflakeDestination interface {
	IDestination
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(scope IFlow) *awsappflow.CfnFlow_DestinationFlowConfigProperty
}

A Snowflake destination. Experimental.

func NewSnowflakeDestination added in v0.0.12

func NewSnowflakeDestination(props *SnowflakeDestinationProps) SnowflakeDestination

Experimental.

type SnowflakeDestinationObject added in v0.0.12

type SnowflakeDestinationObject struct {
	// The name of the table object.
	// Experimental.
	Table *string `field:"required" json:"table" yaml:"table"`
}

The destination table in Snowflake.

The table needs to reside in the databas and schema provided in the profile. Experimental.

type SnowflakeDestinationProps added in v0.0.12

type SnowflakeDestinationProps struct {
	// A Snowflake table object (optionally with the schema).
	// Experimental.
	Object *SnowflakeDestinationObject `field:"required" json:"object" yaml:"object"`
	// A Snowflake connector profile instance.
	// Experimental.
	Profile SnowflakeConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// 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.
	// Experimental.
	ErrorHandling *ErrorHandlingConfiguration `field:"optional" json:"errorHandling" yaml:"errorHandling"`
}

Properties that are required to create a Snowflake destination. Experimental.

type SnowflakeStorageIntegration added in v0.0.12

type SnowflakeStorageIntegration struct {
	// Experimental.
	ExternalId *string `field:"required" json:"externalId" yaml:"externalId"`
	// Experimental.
	StorageUserArn *string `field:"required" json:"storageUserArn" yaml:"storageUserArn"`
}

Experimental.

type Task added in v0.0.2

type Task interface {
	ITask
	// Experimental.
	ConnectorOperator() *TaskConnectorOperator
	// Experimental.
	SetConnectorOperator(val *TaskConnectorOperator)
	// Experimental.
	DestinationField() *string
	// Experimental.
	SetDestinationField(val *string)
	// Experimental.
	Properties() *[]*TaskProperty
	// Experimental.
	SetProperties(val *[]*TaskProperty)
	// Experimental.
	SourceFields() *[]*string
	// Experimental.
	SetSourceFields(val *[]*string)
	// Experimental.
	Type() *string
	// Experimental.
	SetType(val *string)
	// Experimental.
	Bind(_flow IFlow, source ISource) *awsappflow.CfnFlow_TaskProperty
}

A representation of a unitary action on the record fields. Experimental.

func NewTask added in v0.0.2

func NewTask(type_ *string, sourceFields *[]*string, connectorOperator *TaskConnectorOperator, properties *[]*TaskProperty, destinationField *string) Task

Experimental.

type TaskConnectorOperator added in v0.0.2

type TaskConnectorOperator struct {
	// Experimental.
	Operation *string `field:"required" json:"operation" yaml:"operation"`
	// Experimental.
	Type ConnectorType `field:"optional" json:"type" yaml:"type"`
}

A pair that represents the (typically source) connector, and a task operation to be performed in the context of the connector. Experimental.

type TaskProperty added in v0.0.27

type TaskProperty struct {
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// Experimental.
	Value *string `field:"required" json:"value" yaml:"value"`
}

Experimental.

type Transform added in v0.0.2

type Transform interface {
	OperationBase
	ITransform
	// Experimental.
	Bind(flow IFlow, source ISource) *[]*awsappflow.CfnFlow_TaskProperty
}

A representation of a transform operation, that is an operation modifying source fields. Experimental.

func NewTransform added in v0.0.2

func NewTransform(tasks *[]ITask) Transform

Experimental.

type TriggerConfig added in v0.0.2

type TriggerConfig struct {
	// Experimental.
	Properties *TriggerProperties `field:"optional" json:"properties" yaml:"properties"`
}

Experimental.

type TriggerProperties added in v0.0.2

type TriggerProperties struct {
	// Experimental.
	DataPullConfig *DataPullConfig `field:"required" json:"dataPullConfig" yaml:"dataPullConfig"`
	// Experimental.
	Schedule awsevents.Schedule `field:"required" json:"schedule" yaml:"schedule"`
	// Experimental.
	FlowErrorDeactivationThreshold *float64 `field:"optional" json:"flowErrorDeactivationThreshold" yaml:"flowErrorDeactivationThreshold"`
	// Experimental.
	Properties *ScheduleProperties `field:"optional" json:"properties" yaml:"properties"`
}

Experimental.

type TriggeredFlowBase added in v0.0.2

type TriggeredFlowBase interface {
	FlowBase
	IFlow
	// The ARN of the flow.
	// Experimental.
	Arn() *string
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The name of the flow.
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The type of the flow.
	// Experimental.
	Type() FlowType
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Experimental.
	Metric(metricName *string, options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of records that Amazon AppFlow attempted to transfer for the flow run.
	// Experimental.
	MetricFlowExecutionRecordsProcessed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of failed flow runs.
	// Experimental.
	MetricFlowExecutionsFailed(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of flow runs started.
	// Experimental.
	MetricFlowExecutionsStarted(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the number of successful flow runs.
	// Experimental.
	MetricFlowExecutionsSucceeded(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Creates a metric to report the  interval, in milliseconds, between the time the flow starts and the time it finishes.
	// Experimental.
	MetricFlowExecutionTime(options *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Experimental.
	OnDeactivated(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunCompleted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Experimental.
	OnRunStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

A base class for triggered flows. Experimental.

type TriggeredFlowBaseProps added in v0.0.2

type TriggeredFlowBaseProps struct {
	// Experimental.
	Destination IDestination `field:"required" json:"destination" yaml:"destination"`
	// Experimental.
	Mappings *[]IMapping `field:"required" json:"mappings" yaml:"mappings"`
	// Experimental.
	Source ISource `field:"required" json:"source" yaml:"source"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	Filters *[]IFilter `field:"optional" json:"filters" yaml:"filters"`
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	Transforms *[]ITransform `field:"optional" json:"transforms" yaml:"transforms"`
	// Experimental.
	Validations *[]IValidation `field:"optional" json:"validations" yaml:"validations"`
	// Deprecated: . This property is deprecated and will be removed in a future release. Use {@link status } instead
	AutoActivate *bool `field:"optional" json:"autoActivate" yaml:"autoActivate"`
	// The status to set on the flow.
	//
	// Use this over {@link autoActivate}.
	// Experimental.
	Status FlowStatus `field:"optional" json:"status" yaml:"status"`
}

Experimental.

type Validation added in v0.0.2

type Validation interface {
	OperationBase
	IValidation
	// Experimental.
	Action() ValidationAction
	// Experimental.
	Condition() ValidationCondition
	// Experimental.
	Bind(flow IFlow, source ISource) *[]*awsappflow.CfnFlow_TaskProperty
}

A representation of a validation operation, that is an operation testing records and acting on the test results. Experimental.

func NewValidation added in v0.0.2

func NewValidation(condition ValidationCondition, action ValidationAction) Validation

Experimental.

type ValidationAction added in v0.0.2

type ValidationAction interface {
	// Experimental.
	Action() *string
}

Experimental.

func NewValidationAction added in v0.0.2

func NewValidationAction(action *string) ValidationAction

Experimental.

func ValidationAction_IgnoreRecord added in v0.0.2

func ValidationAction_IgnoreRecord() ValidationAction

Returns: a. See: ValidationAction that removes a record from the flow execution result.

Experimental.

func ValidationAction_TerminateFlow added in v0.0.2

func ValidationAction_TerminateFlow() ValidationAction

Returns: a. See: ValidationAction that terminates the whole flow execution.

Experimental.

type ValidationCondition added in v0.0.2

type ValidationCondition interface {
	// Experimental.
	Field() *string
	// Experimental.
	Validation() *string
}

A representation of a validation condition on a particular field in a flow execution. Experimental.

func NewValidationCondition added in v0.0.2

func NewValidationCondition(field *string, validation *string) ValidationCondition

Experimental.

func ValidationCondition_IsDefault added in v0.0.2

func ValidationCondition_IsDefault(field interface{}) ValidationCondition

Returns: a. See: ValidationCondition instance.

Experimental.

func ValidationCondition_IsNegative added in v0.0.2

func ValidationCondition_IsNegative(field interface{}) ValidationCondition

Validates whether a particular field in an execution is negative.

Returns: a. See: ValidationCondition instance.

Experimental.

func ValidationCondition_IsNotNull added in v0.0.2

func ValidationCondition_IsNotNull(field interface{}) ValidationCondition

Returns: a. See: ValidationCondition instance.

Experimental.

func ValidationCondition_IsNull added in v0.0.2

func ValidationCondition_IsNull(field interface{}) ValidationCondition

Validates whether a particular field has no value.

Returns: a. See: ValidationCondition instance.

Experimental.

type WriteOperation added in v0.0.2

type WriteOperation interface {
	// Experimental.
	Ids() *[]*string
	// Experimental.
	Type() WriteOperationType
}

Experimental.

func NewWriteOperation added in v0.0.2

func NewWriteOperation(type_ WriteOperationType, ids *[]*string) WriteOperation

Experimental.

func WriteOperation_Delete added in v0.0.2

func WriteOperation_Delete(ids *[]*string) WriteOperation

Experimental.

func WriteOperation_Insert added in v0.0.2

func WriteOperation_Insert(ids *[]*string) WriteOperation

Experimental.

func WriteOperation_Update added in v0.0.2

func WriteOperation_Update(ids *[]*string) WriteOperation

Experimental.

func WriteOperation_Upsert added in v0.0.2

func WriteOperation_Upsert(ids *[]*string) WriteOperation

Experimental.

type WriteOperationType added in v0.0.2

type WriteOperationType string

Experimental.

const (
	// Experimental.
	WriteOperationType_DELETE WriteOperationType = "DELETE"
	// Experimental.
	WriteOperationType_INSERT WriteOperationType = "INSERT"
	// Experimental.
	WriteOperationType_UPDATE WriteOperationType = "UPDATE"
	// Experimental.
	WriteOperationType_UPSERT WriteOperationType = "UPSERT"
)

type ZendeskConnectorProfile added in v0.0.2

type ZendeskConnectorProfile interface {
	ConnectorProfileBase
	// Experimental.
	Arn() *string
	// Experimental.
	Credentials() awssecretsmanager.ISecret
	// 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.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// Experimental.
	Name() *string
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// 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`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	BuildConnectorProfileCredentials(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfileCredentialsProperty
	// Experimental.
	BuildConnectorProfileProperties(props *ConnectorProfileProps) *awsappflow.CfnConnectorProfile_ConnectorProfilePropertiesProperty
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Experimental.
	TryAddNodeDependency(scope constructs.IConstruct, resource interface{})
}

Experimental.

func NewZendeskConnectorProfile added in v0.0.2

func NewZendeskConnectorProfile(scope constructs.Construct, id *string, props *ZendeskConnectorProfileProps) ZendeskConnectorProfile

Experimental.

func ZendeskConnectorProfile_FromConnectionProfileArn added in v0.0.2

func ZendeskConnectorProfile_FromConnectionProfileArn(scope constructs.Construct, id *string, arn *string) ZendeskConnectorProfile

Experimental.

func ZendeskConnectorProfile_FromConnectionProfileName added in v0.0.2

func ZendeskConnectorProfile_FromConnectionProfileName(scope constructs.Construct, id *string, name *string) ZendeskConnectorProfile

Experimental.

type ZendeskConnectorProfileProps added in v0.0.2

type ZendeskConnectorProfileProps struct {
	// TODO: think if this should be here as not all connector profiles have that.
	// Experimental.
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// Experimental.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Experimental.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
	// Experimental.
	OAuth *ZendeskOAuthSettings `field:"required" json:"oAuth" yaml:"oAuth"`
}

Experimental.

type ZendeskInstanceUrlBuilder added in v0.0.2

type ZendeskInstanceUrlBuilder interface {
}

Experimental.

func NewZendeskInstanceUrlBuilder added in v0.0.2

func NewZendeskInstanceUrlBuilder() ZendeskInstanceUrlBuilder

Experimental.

type ZendeskOAuthSettings added in v0.0.2

type ZendeskOAuthSettings struct {
	// Experimental.
	ClientId awscdk.SecretValue `field:"required" json:"clientId" yaml:"clientId"`
	// Experimental.
	ClientSecret awscdk.SecretValue `field:"required" json:"clientSecret" yaml:"clientSecret"`
	// Experimental.
	AccessToken awscdk.SecretValue `field:"optional" json:"accessToken" yaml:"accessToken"`
}

Experimental.

type ZendeskSource added in v0.0.2

type ZendeskSource interface {
	ISource
	// The AppFlow type of the connector that this source is implemented for.
	// Experimental.
	ConnectorType() ConnectorType
	// Experimental.
	Bind(flow IFlow) *awsappflow.CfnFlow_SourceFlowConfigProperty
}

Experimental.

func NewZendeskSource added in v0.0.2

func NewZendeskSource(props *ZendeskSourceProps) ZendeskSource

Experimental.

type ZendeskSourceProps added in v0.0.2

type ZendeskSourceProps struct {
	// Experimental.
	Object *string `field:"required" json:"object" yaml:"object"`
	// Experimental.
	Profile ZendeskConnectorProfile `field:"required" json:"profile" yaml:"profile"`
	// Experimental.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
}

Experimental.

Source Files

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL