awsappflow

package
v1.168.0-devpreview Latest Latest
Warning

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

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

README

AWS::AppFlow Construct Library

This module is part of the AWS Cloud Development Kit project.

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

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::AppFlow.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnConnectorProfile_CFN_RESOURCE_TYPE_NAME

func CfnConnectorProfile_CFN_RESOURCE_TYPE_NAME() *string

func CfnConnectorProfile_IsCfnElement

func CfnConnectorProfile_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnConnectorProfile_IsCfnResource

func CfnConnectorProfile_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnConnectorProfile_IsConstruct

func CfnConnectorProfile_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnFlow_CFN_RESOURCE_TYPE_NAME

func CfnFlow_CFN_RESOURCE_TYPE_NAME() *string

func CfnFlow_IsCfnElement

func CfnFlow_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnFlow_IsCfnResource

func CfnFlow_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnFlow_IsConstruct

func CfnFlow_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewCfnConnectorProfile_Override

func NewCfnConnectorProfile_Override(c CfnConnectorProfile, scope awscdk.Construct, id *string, props *CfnConnectorProfileProps)

Create a new `AWS::AppFlow::ConnectorProfile`.

func NewCfnFlow_Override

func NewCfnFlow_Override(c CfnFlow, scope awscdk.Construct, id *string, props *CfnFlowProps)

Create a new `AWS::AppFlow::Flow`.

Types

type CfnConnectorProfile

type CfnConnectorProfile interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the connector profile.
	AttrConnectorProfileArn() *string
	// The Amazon Resource Name (ARN) of the connector profile credentials.
	AttrCredentialsArn() *string
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Indicates the connection mode and if it is public or private.
	ConnectionMode() *string
	SetConnectionMode(val *string)
	// `AWS::AppFlow::ConnectorProfile.ConnectorLabel`.
	ConnectorLabel() *string
	SetConnectorLabel(val *string)
	// Defines the connector-specific configuration and credentials.
	ConnectorProfileConfig() interface{}
	SetConnectorProfileConfig(val interface{})
	// The name of the connector profile.
	//
	// The name is unique for each `ConnectorProfile` in the AWS account .
	ConnectorProfileName() *string
	SetConnectorProfileName(val *string)
	// The type of connector, such as Salesforce, Amplitude, and so on.
	ConnectorType() *string
	SetConnectorType(val *string)
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
	//
	// This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
	KmsArn() *string
	SetKmsArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppFlow::ConnectorProfile`.

The `AWS::AppFlow::ConnectorProfile` resource is an Amazon AppFlow resource type that specifies the configuration profile for an instance of a connector. This includes the provided name, credentials ARN, connection-mode, and so on. The fields that are common to all types of connector profiles are explicitly specified under the `Properties` field. The rest of the connector-specific properties are specified under `Properties/ConnectorProfileConfig` .

> If you want to use AWS CloudFormation to create a connector profile for connectors that implement OAuth (such as Salesforce, Slack, Zendesk, and Google Analytics), you must fetch the access and refresh tokens. You can do this by implementing your own UI for OAuth, or by retrieving the tokens from elsewhere. Alternatively, you can use the Amazon AppFlow console to create the connector profile, and then use that connector profile in the flow creation CloudFormation template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var credentialsMap interface{}
var oAuthCredentials interface{}
var profileProperties interface{}
var tokenUrlCustomProperties interface{}

cfnConnectorProfile := awscdk.Aws_appflow.NewCfnConnectorProfile(this, jsii.String("MyCfnConnectorProfile"), &cfnConnectorProfileProps{
	connectionMode: jsii.String("connectionMode"),
	connectorProfileName: jsii.String("connectorProfileName"),
	connectorType: jsii.String("connectorType"),

	// the properties below are optional
	connectorLabel: jsii.String("connectorLabel"),
	connectorProfileConfig: &connectorProfileConfigProperty{
		connectorProfileCredentials: &connectorProfileCredentialsProperty{
			amplitude: &amplitudeConnectorProfileCredentialsProperty{
				apiKey: jsii.String("apiKey"),
				secretKey: jsii.String("secretKey"),
			},
			customConnector: &customConnectorProfileCredentialsProperty{
				authenticationType: jsii.String("authenticationType"),

				// the properties below are optional
				apiKey: &apiKeyCredentialsProperty{
					apiKey: jsii.String("apiKey"),

					// the properties below are optional
					apiSecretKey: jsii.String("apiSecretKey"),
				},
				basic: &basicAuthCredentialsProperty{
					password: jsii.String("password"),
					username: jsii.String("username"),
				},
				custom: &customAuthCredentialsProperty{
					customAuthenticationType: jsii.String("customAuthenticationType"),

					// the properties below are optional
					credentialsMap: credentialsMap,
				},
				oauth2: &oAuth2CredentialsProperty{
					accessToken: jsii.String("accessToken"),
					clientId: jsii.String("clientId"),
					clientSecret: jsii.String("clientSecret"),
					oAuthRequest: &connectorOAuthRequestProperty{
						authCode: jsii.String("authCode"),
						redirectUri: jsii.String("redirectUri"),
					},
					refreshToken: jsii.String("refreshToken"),
				},
			},
			datadog: &datadogConnectorProfileCredentialsProperty{
				apiKey: jsii.String("apiKey"),
				applicationKey: jsii.String("applicationKey"),
			},
			dynatrace: &dynatraceConnectorProfileCredentialsProperty{
				apiToken: jsii.String("apiToken"),
			},
			googleAnalytics: &googleAnalyticsConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
				refreshToken: jsii.String("refreshToken"),
			},
			inforNexus: &inforNexusConnectorProfileCredentialsProperty{
				accessKeyId: jsii.String("accessKeyId"),
				datakey: jsii.String("datakey"),
				secretAccessKey: jsii.String("secretAccessKey"),
				userId: jsii.String("userId"),
			},
			marketo: &marketoConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
			},
			redshift: &redshiftConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			salesforce: &salesforceConnectorProfileCredentialsProperty{
				accessToken: jsii.String("accessToken"),
				clientCredentialsArn: jsii.String("clientCredentialsArn"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
				refreshToken: jsii.String("refreshToken"),
			},
			sapoData: &sAPODataConnectorProfileCredentialsProperty{
				basicAuthCredentials: &basicAuthCredentialsProperty{
					password: jsii.String("password"),
					username: jsii.String("username"),
				},
				oAuthCredentials: oAuthCredentials,
			},
			serviceNow: &serviceNowConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			singular: &singularConnectorProfileCredentialsProperty{
				apiKey: jsii.String("apiKey"),
			},
			slack: &slackConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
			},
			snowflake: &snowflakeConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			trendmicro: &trendmicroConnectorProfileCredentialsProperty{
				apiSecretKey: jsii.String("apiSecretKey"),
			},
			veeva: &veevaConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			zendesk: &zendeskConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
			},
		},

		// the properties below are optional
		connectorProfileProperties: &connectorProfilePropertiesProperty{
			customConnector: &customConnectorProfilePropertiesProperty{
				oAuth2Properties: &oAuth2PropertiesProperty{
					oAuth2GrantType: jsii.String("oAuth2GrantType"),
					tokenUrl: jsii.String("tokenUrl"),
					tokenUrlCustomProperties: tokenUrlCustomProperties,
				},
				profileProperties: profileProperties,
			},
			datadog: &datadogConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			dynatrace: &dynatraceConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			inforNexus: &inforNexusConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			marketo: &marketoConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			redshift: &redshiftConnectorProfilePropertiesProperty{
				bucketName: jsii.String("bucketName"),
				databaseUrl: jsii.String("databaseUrl"),
				roleArn: jsii.String("roleArn"),

				// the properties below are optional
				bucketPrefix: jsii.String("bucketPrefix"),
			},
			salesforce: &salesforceConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
				isSandboxEnvironment: jsii.Boolean(false),
			},
			sapoData: &sAPODataConnectorProfilePropertiesProperty{
				applicationHostUrl: jsii.String("applicationHostUrl"),
				applicationServicePath: jsii.String("applicationServicePath"),
				clientNumber: jsii.String("clientNumber"),
				logonLanguage: jsii.String("logonLanguage"),
				oAuthProperties: &oAuthPropertiesProperty{
					authCodeUrl: jsii.String("authCodeUrl"),
					oAuthScopes: []*string{
						jsii.String("oAuthScopes"),
					},
					tokenUrl: jsii.String("tokenUrl"),
				},
				portNumber: jsii.Number(123),
				privateLinkServiceName: jsii.String("privateLinkServiceName"),
			},
			serviceNow: &serviceNowConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			slack: &slackConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			snowflake: &snowflakeConnectorProfilePropertiesProperty{
				bucketName: jsii.String("bucketName"),
				stage: jsii.String("stage"),
				warehouse: jsii.String("warehouse"),

				// the properties below are optional
				accountName: jsii.String("accountName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				privateLinkServiceName: jsii.String("privateLinkServiceName"),
				region: jsii.String("region"),
			},
			veeva: &veevaConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			zendesk: &zendeskConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
		},
	},
	kmsArn: jsii.String("kmsArn"),
})

func NewCfnConnectorProfile

func NewCfnConnectorProfile(scope awscdk.Construct, id *string, props *CfnConnectorProfileProps) CfnConnectorProfile

Create a new `AWS::AppFlow::ConnectorProfile`.

type CfnConnectorProfileProps

type CfnConnectorProfileProps struct {
	// Indicates the connection mode and if it is public or private.
	ConnectionMode *string `field:"required" json:"connectionMode" yaml:"connectionMode"`
	// The name of the connector profile.
	//
	// The name is unique for each `ConnectorProfile` in the AWS account .
	ConnectorProfileName *string `field:"required" json:"connectorProfileName" yaml:"connectorProfileName"`
	// The type of connector, such as Salesforce, Amplitude, and so on.
	ConnectorType *string `field:"required" json:"connectorType" yaml:"connectorType"`
	// `AWS::AppFlow::ConnectorProfile.ConnectorLabel`.
	ConnectorLabel *string `field:"optional" json:"connectorLabel" yaml:"connectorLabel"`
	// Defines the connector-specific configuration and credentials.
	ConnectorProfileConfig interface{} `field:"optional" json:"connectorProfileConfig" yaml:"connectorProfileConfig"`
	// The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
	//
	// This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
	KmsArn *string `field:"optional" json:"kmsArn" yaml:"kmsArn"`
}

Properties for defining a `CfnConnectorProfile`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var credentialsMap interface{}
var oAuthCredentials interface{}
var profileProperties interface{}
var tokenUrlCustomProperties interface{}

cfnConnectorProfileProps := &cfnConnectorProfileProps{
	connectionMode: jsii.String("connectionMode"),
	connectorProfileName: jsii.String("connectorProfileName"),
	connectorType: jsii.String("connectorType"),

	// the properties below are optional
	connectorLabel: jsii.String("connectorLabel"),
	connectorProfileConfig: &connectorProfileConfigProperty{
		connectorProfileCredentials: &connectorProfileCredentialsProperty{
			amplitude: &amplitudeConnectorProfileCredentialsProperty{
				apiKey: jsii.String("apiKey"),
				secretKey: jsii.String("secretKey"),
			},
			customConnector: &customConnectorProfileCredentialsProperty{
				authenticationType: jsii.String("authenticationType"),

				// the properties below are optional
				apiKey: &apiKeyCredentialsProperty{
					apiKey: jsii.String("apiKey"),

					// the properties below are optional
					apiSecretKey: jsii.String("apiSecretKey"),
				},
				basic: &basicAuthCredentialsProperty{
					password: jsii.String("password"),
					username: jsii.String("username"),
				},
				custom: &customAuthCredentialsProperty{
					customAuthenticationType: jsii.String("customAuthenticationType"),

					// the properties below are optional
					credentialsMap: credentialsMap,
				},
				oauth2: &oAuth2CredentialsProperty{
					accessToken: jsii.String("accessToken"),
					clientId: jsii.String("clientId"),
					clientSecret: jsii.String("clientSecret"),
					oAuthRequest: &connectorOAuthRequestProperty{
						authCode: jsii.String("authCode"),
						redirectUri: jsii.String("redirectUri"),
					},
					refreshToken: jsii.String("refreshToken"),
				},
			},
			datadog: &datadogConnectorProfileCredentialsProperty{
				apiKey: jsii.String("apiKey"),
				applicationKey: jsii.String("applicationKey"),
			},
			dynatrace: &dynatraceConnectorProfileCredentialsProperty{
				apiToken: jsii.String("apiToken"),
			},
			googleAnalytics: &googleAnalyticsConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
				refreshToken: jsii.String("refreshToken"),
			},
			inforNexus: &inforNexusConnectorProfileCredentialsProperty{
				accessKeyId: jsii.String("accessKeyId"),
				datakey: jsii.String("datakey"),
				secretAccessKey: jsii.String("secretAccessKey"),
				userId: jsii.String("userId"),
			},
			marketo: &marketoConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
			},
			redshift: &redshiftConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			salesforce: &salesforceConnectorProfileCredentialsProperty{
				accessToken: jsii.String("accessToken"),
				clientCredentialsArn: jsii.String("clientCredentialsArn"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
				refreshToken: jsii.String("refreshToken"),
			},
			sapoData: &sAPODataConnectorProfileCredentialsProperty{
				basicAuthCredentials: &basicAuthCredentialsProperty{
					password: jsii.String("password"),
					username: jsii.String("username"),
				},
				oAuthCredentials: oAuthCredentials,
			},
			serviceNow: &serviceNowConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			singular: &singularConnectorProfileCredentialsProperty{
				apiKey: jsii.String("apiKey"),
			},
			slack: &slackConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
			},
			snowflake: &snowflakeConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			trendmicro: &trendmicroConnectorProfileCredentialsProperty{
				apiSecretKey: jsii.String("apiSecretKey"),
			},
			veeva: &veevaConnectorProfileCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			zendesk: &zendeskConnectorProfileCredentialsProperty{
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),

				// the properties below are optional
				accessToken: jsii.String("accessToken"),
				connectorOAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
			},
		},

		// the properties below are optional
		connectorProfileProperties: &connectorProfilePropertiesProperty{
			customConnector: &customConnectorProfilePropertiesProperty{
				oAuth2Properties: &oAuth2PropertiesProperty{
					oAuth2GrantType: jsii.String("oAuth2GrantType"),
					tokenUrl: jsii.String("tokenUrl"),
					tokenUrlCustomProperties: tokenUrlCustomProperties,
				},
				profileProperties: profileProperties,
			},
			datadog: &datadogConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			dynatrace: &dynatraceConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			inforNexus: &inforNexusConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			marketo: &marketoConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			redshift: &redshiftConnectorProfilePropertiesProperty{
				bucketName: jsii.String("bucketName"),
				databaseUrl: jsii.String("databaseUrl"),
				roleArn: jsii.String("roleArn"),

				// the properties below are optional
				bucketPrefix: jsii.String("bucketPrefix"),
			},
			salesforce: &salesforceConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
				isSandboxEnvironment: jsii.Boolean(false),
			},
			sapoData: &sAPODataConnectorProfilePropertiesProperty{
				applicationHostUrl: jsii.String("applicationHostUrl"),
				applicationServicePath: jsii.String("applicationServicePath"),
				clientNumber: jsii.String("clientNumber"),
				logonLanguage: jsii.String("logonLanguage"),
				oAuthProperties: &oAuthPropertiesProperty{
					authCodeUrl: jsii.String("authCodeUrl"),
					oAuthScopes: []*string{
						jsii.String("oAuthScopes"),
					},
					tokenUrl: jsii.String("tokenUrl"),
				},
				portNumber: jsii.Number(123),
				privateLinkServiceName: jsii.String("privateLinkServiceName"),
			},
			serviceNow: &serviceNowConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			slack: &slackConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			snowflake: &snowflakeConnectorProfilePropertiesProperty{
				bucketName: jsii.String("bucketName"),
				stage: jsii.String("stage"),
				warehouse: jsii.String("warehouse"),

				// the properties below are optional
				accountName: jsii.String("accountName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				privateLinkServiceName: jsii.String("privateLinkServiceName"),
				region: jsii.String("region"),
			},
			veeva: &veevaConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
			zendesk: &zendeskConnectorProfilePropertiesProperty{
				instanceUrl: jsii.String("instanceUrl"),
			},
		},
	},
	kmsArn: jsii.String("kmsArn"),
}

type CfnConnectorProfile_AmplitudeConnectorProfileCredentialsProperty

type CfnConnectorProfile_AmplitudeConnectorProfileCredentialsProperty struct {
	// A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
	ApiKey *string `field:"required" json:"apiKey" yaml:"apiKey"`
	// The Secret Access Key portion of the credentials.
	SecretKey *string `field:"required" json:"secretKey" yaml:"secretKey"`
}

The connector-specific credentials required when using Amplitude.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

amplitudeConnectorProfileCredentialsProperty := &amplitudeConnectorProfileCredentialsProperty{
	apiKey: jsii.String("apiKey"),
	secretKey: jsii.String("secretKey"),
}

type CfnConnectorProfile_ApiKeyCredentialsProperty

type CfnConnectorProfile_ApiKeyCredentialsProperty struct {
	// `CfnConnectorProfile.ApiKeyCredentialsProperty.ApiKey`.
	ApiKey *string `field:"required" json:"apiKey" yaml:"apiKey"`
	// `CfnConnectorProfile.ApiKeyCredentialsProperty.ApiSecretKey`.
	ApiSecretKey *string `field:"optional" json:"apiSecretKey" yaml:"apiSecretKey"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

apiKeyCredentialsProperty := &apiKeyCredentialsProperty{
	apiKey: jsii.String("apiKey"),

	// the properties below are optional
	apiSecretKey: jsii.String("apiSecretKey"),
}

type CfnConnectorProfile_BasicAuthCredentialsProperty

type CfnConnectorProfile_BasicAuthCredentialsProperty struct {
	// `CfnConnectorProfile.BasicAuthCredentialsProperty.Password`.
	Password *string `field:"required" json:"password" yaml:"password"`
	// `CfnConnectorProfile.BasicAuthCredentialsProperty.Username`.
	Username *string `field:"required" json:"username" yaml:"username"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

basicAuthCredentialsProperty := &basicAuthCredentialsProperty{
	password: jsii.String("password"),
	username: jsii.String("username"),
}

type CfnConnectorProfile_ConnectorOAuthRequestProperty

type CfnConnectorProfile_ConnectorOAuthRequestProperty struct {
	// The code provided by the connector when it has been authenticated via the connected app.
	AuthCode *string `field:"optional" json:"authCode" yaml:"authCode"`
	// The URL to which the authentication server redirects the browser after authorization has been granted.
	RedirectUri *string `field:"optional" json:"redirectUri" yaml:"redirectUri"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

connectorOAuthRequestProperty := &connectorOAuthRequestProperty{
	authCode: jsii.String("authCode"),
	redirectUri: jsii.String("redirectUri"),
}

type CfnConnectorProfile_ConnectorProfileConfigProperty

type CfnConnectorProfile_ConnectorProfileConfigProperty struct {
	// The connector-specific credentials required by each connector.
	ConnectorProfileCredentials interface{} `field:"required" json:"connectorProfileCredentials" yaml:"connectorProfileCredentials"`
	// The connector-specific properties of the profile configuration.
	ConnectorProfileProperties interface{} `field:"optional" json:"connectorProfileProperties" yaml:"connectorProfileProperties"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var credentialsMap interface{}
var oAuthCredentials interface{}
var profileProperties interface{}
var tokenUrlCustomProperties interface{}

connectorProfileConfigProperty := &connectorProfileConfigProperty{
	connectorProfileCredentials: &connectorProfileCredentialsProperty{
		amplitude: &amplitudeConnectorProfileCredentialsProperty{
			apiKey: jsii.String("apiKey"),
			secretKey: jsii.String("secretKey"),
		},
		customConnector: &customConnectorProfileCredentialsProperty{
			authenticationType: jsii.String("authenticationType"),

			// the properties below are optional
			apiKey: &apiKeyCredentialsProperty{
				apiKey: jsii.String("apiKey"),

				// the properties below are optional
				apiSecretKey: jsii.String("apiSecretKey"),
			},
			basic: &basicAuthCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			custom: &customAuthCredentialsProperty{
				customAuthenticationType: jsii.String("customAuthenticationType"),

				// the properties below are optional
				credentialsMap: credentialsMap,
			},
			oauth2: &oAuth2CredentialsProperty{
				accessToken: jsii.String("accessToken"),
				clientId: jsii.String("clientId"),
				clientSecret: jsii.String("clientSecret"),
				oAuthRequest: &connectorOAuthRequestProperty{
					authCode: jsii.String("authCode"),
					redirectUri: jsii.String("redirectUri"),
				},
				refreshToken: jsii.String("refreshToken"),
			},
		},
		datadog: &datadogConnectorProfileCredentialsProperty{
			apiKey: jsii.String("apiKey"),
			applicationKey: jsii.String("applicationKey"),
		},
		dynatrace: &dynatraceConnectorProfileCredentialsProperty{
			apiToken: jsii.String("apiToken"),
		},
		googleAnalytics: &googleAnalyticsConnectorProfileCredentialsProperty{
			clientId: jsii.String("clientId"),
			clientSecret: jsii.String("clientSecret"),

			// the properties below are optional
			accessToken: jsii.String("accessToken"),
			connectorOAuthRequest: &connectorOAuthRequestProperty{
				authCode: jsii.String("authCode"),
				redirectUri: jsii.String("redirectUri"),
			},
			refreshToken: jsii.String("refreshToken"),
		},
		inforNexus: &inforNexusConnectorProfileCredentialsProperty{
			accessKeyId: jsii.String("accessKeyId"),
			datakey: jsii.String("datakey"),
			secretAccessKey: jsii.String("secretAccessKey"),
			userId: jsii.String("userId"),
		},
		marketo: &marketoConnectorProfileCredentialsProperty{
			clientId: jsii.String("clientId"),
			clientSecret: jsii.String("clientSecret"),

			// the properties below are optional
			accessToken: jsii.String("accessToken"),
			connectorOAuthRequest: &connectorOAuthRequestProperty{
				authCode: jsii.String("authCode"),
				redirectUri: jsii.String("redirectUri"),
			},
		},
		redshift: &redshiftConnectorProfileCredentialsProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),
		},
		salesforce: &salesforceConnectorProfileCredentialsProperty{
			accessToken: jsii.String("accessToken"),
			clientCredentialsArn: jsii.String("clientCredentialsArn"),
			connectorOAuthRequest: &connectorOAuthRequestProperty{
				authCode: jsii.String("authCode"),
				redirectUri: jsii.String("redirectUri"),
			},
			refreshToken: jsii.String("refreshToken"),
		},
		sapoData: &sAPODataConnectorProfileCredentialsProperty{
			basicAuthCredentials: &basicAuthCredentialsProperty{
				password: jsii.String("password"),
				username: jsii.String("username"),
			},
			oAuthCredentials: oAuthCredentials,
		},
		serviceNow: &serviceNowConnectorProfileCredentialsProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),
		},
		singular: &singularConnectorProfileCredentialsProperty{
			apiKey: jsii.String("apiKey"),
		},
		slack: &slackConnectorProfileCredentialsProperty{
			clientId: jsii.String("clientId"),
			clientSecret: jsii.String("clientSecret"),

			// the properties below are optional
			accessToken: jsii.String("accessToken"),
			connectorOAuthRequest: &connectorOAuthRequestProperty{
				authCode: jsii.String("authCode"),
				redirectUri: jsii.String("redirectUri"),
			},
		},
		snowflake: &snowflakeConnectorProfileCredentialsProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),
		},
		trendmicro: &trendmicroConnectorProfileCredentialsProperty{
			apiSecretKey: jsii.String("apiSecretKey"),
		},
		veeva: &veevaConnectorProfileCredentialsProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),
		},
		zendesk: &zendeskConnectorProfileCredentialsProperty{
			clientId: jsii.String("clientId"),
			clientSecret: jsii.String("clientSecret"),

			// the properties below are optional
			accessToken: jsii.String("accessToken"),
			connectorOAuthRequest: &connectorOAuthRequestProperty{
				authCode: jsii.String("authCode"),
				redirectUri: jsii.String("redirectUri"),
			},
		},
	},

	// the properties below are optional
	connectorProfileProperties: &connectorProfilePropertiesProperty{
		customConnector: &customConnectorProfilePropertiesProperty{
			oAuth2Properties: &oAuth2PropertiesProperty{
				oAuth2GrantType: jsii.String("oAuth2GrantType"),
				tokenUrl: jsii.String("tokenUrl"),
				tokenUrlCustomProperties: tokenUrlCustomProperties,
			},
			profileProperties: profileProperties,
		},
		datadog: &datadogConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		dynatrace: &dynatraceConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		inforNexus: &inforNexusConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		marketo: &marketoConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		redshift: &redshiftConnectorProfilePropertiesProperty{
			bucketName: jsii.String("bucketName"),
			databaseUrl: jsii.String("databaseUrl"),
			roleArn: jsii.String("roleArn"),

			// the properties below are optional
			bucketPrefix: jsii.String("bucketPrefix"),
		},
		salesforce: &salesforceConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
			isSandboxEnvironment: jsii.Boolean(false),
		},
		sapoData: &sAPODataConnectorProfilePropertiesProperty{
			applicationHostUrl: jsii.String("applicationHostUrl"),
			applicationServicePath: jsii.String("applicationServicePath"),
			clientNumber: jsii.String("clientNumber"),
			logonLanguage: jsii.String("logonLanguage"),
			oAuthProperties: &oAuthPropertiesProperty{
				authCodeUrl: jsii.String("authCodeUrl"),
				oAuthScopes: []*string{
					jsii.String("oAuthScopes"),
				},
				tokenUrl: jsii.String("tokenUrl"),
			},
			portNumber: jsii.Number(123),
			privateLinkServiceName: jsii.String("privateLinkServiceName"),
		},
		serviceNow: &serviceNowConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		slack: &slackConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		snowflake: &snowflakeConnectorProfilePropertiesProperty{
			bucketName: jsii.String("bucketName"),
			stage: jsii.String("stage"),
			warehouse: jsii.String("warehouse"),

			// the properties below are optional
			accountName: jsii.String("accountName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			privateLinkServiceName: jsii.String("privateLinkServiceName"),
			region: jsii.String("region"),
		},
		veeva: &veevaConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
		zendesk: &zendeskConnectorProfilePropertiesProperty{
			instanceUrl: jsii.String("instanceUrl"),
		},
	},
}

type CfnConnectorProfile_ConnectorProfileCredentialsProperty

type CfnConnectorProfile_ConnectorProfileCredentialsProperty struct {
	// The connector-specific credentials required when using Amplitude.
	Amplitude interface{} `field:"optional" json:"amplitude" yaml:"amplitude"`
	// `CfnConnectorProfile.ConnectorProfileCredentialsProperty.CustomConnector`.
	CustomConnector interface{} `field:"optional" json:"customConnector" yaml:"customConnector"`
	// The connector-specific credentials required when using Datadog.
	Datadog interface{} `field:"optional" json:"datadog" yaml:"datadog"`
	// The connector-specific credentials required when using Dynatrace.
	Dynatrace interface{} `field:"optional" json:"dynatrace" yaml:"dynatrace"`
	// The connector-specific credentials required when using Google Analytics.
	GoogleAnalytics interface{} `field:"optional" json:"googleAnalytics" yaml:"googleAnalytics"`
	// The connector-specific credentials required when using Infor Nexus.
	InforNexus interface{} `field:"optional" json:"inforNexus" yaml:"inforNexus"`
	// The connector-specific credentials required when using Marketo.
	Marketo interface{} `field:"optional" json:"marketo" yaml:"marketo"`
	// The connector-specific credentials required when using Amazon Redshift.
	Redshift interface{} `field:"optional" json:"redshift" yaml:"redshift"`
	// The connector-specific credentials required when using Salesforce.
	Salesforce interface{} `field:"optional" json:"salesforce" yaml:"salesforce"`
	// The connector-specific profile credentials required when using SAPOData.
	SapoData interface{} `field:"optional" json:"sapoData" yaml:"sapoData"`
	// The connector-specific credentials required when using ServiceNow.
	ServiceNow interface{} `field:"optional" json:"serviceNow" yaml:"serviceNow"`
	// The connector-specific credentials required when using Singular.
	Singular interface{} `field:"optional" json:"singular" yaml:"singular"`
	// The connector-specific credentials required when using Slack.
	Slack interface{} `field:"optional" json:"slack" yaml:"slack"`
	// The connector-specific credentials required when using Snowflake.
	Snowflake interface{} `field:"optional" json:"snowflake" yaml:"snowflake"`
	// The connector-specific credentials required when using Trend Micro.
	Trendmicro interface{} `field:"optional" json:"trendmicro" yaml:"trendmicro"`
	// The connector-specific credentials required when using Veeva.
	Veeva interface{} `field:"optional" json:"veeva" yaml:"veeva"`
	// The connector-specific credentials required when using Zendesk.
	Zendesk interface{} `field:"optional" json:"zendesk" yaml:"zendesk"`
}

The connector-specific credentials required by a connector.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var credentialsMap interface{}
var oAuthCredentials interface{}

connectorProfileCredentialsProperty := &connectorProfileCredentialsProperty{
	amplitude: &amplitudeConnectorProfileCredentialsProperty{
		apiKey: jsii.String("apiKey"),
		secretKey: jsii.String("secretKey"),
	},
	customConnector: &customConnectorProfileCredentialsProperty{
		authenticationType: jsii.String("authenticationType"),

		// the properties below are optional
		apiKey: &apiKeyCredentialsProperty{
			apiKey: jsii.String("apiKey"),

			// the properties below are optional
			apiSecretKey: jsii.String("apiSecretKey"),
		},
		basic: &basicAuthCredentialsProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),
		},
		custom: &customAuthCredentialsProperty{
			customAuthenticationType: jsii.String("customAuthenticationType"),

			// the properties below are optional
			credentialsMap: credentialsMap,
		},
		oauth2: &oAuth2CredentialsProperty{
			accessToken: jsii.String("accessToken"),
			clientId: jsii.String("clientId"),
			clientSecret: jsii.String("clientSecret"),
			oAuthRequest: &connectorOAuthRequestProperty{
				authCode: jsii.String("authCode"),
				redirectUri: jsii.String("redirectUri"),
			},
			refreshToken: jsii.String("refreshToken"),
		},
	},
	datadog: &datadogConnectorProfileCredentialsProperty{
		apiKey: jsii.String("apiKey"),
		applicationKey: jsii.String("applicationKey"),
	},
	dynatrace: &dynatraceConnectorProfileCredentialsProperty{
		apiToken: jsii.String("apiToken"),
	},
	googleAnalytics: &googleAnalyticsConnectorProfileCredentialsProperty{
		clientId: jsii.String("clientId"),
		clientSecret: jsii.String("clientSecret"),

		// the properties below are optional
		accessToken: jsii.String("accessToken"),
		connectorOAuthRequest: &connectorOAuthRequestProperty{
			authCode: jsii.String("authCode"),
			redirectUri: jsii.String("redirectUri"),
		},
		refreshToken: jsii.String("refreshToken"),
	},
	inforNexus: &inforNexusConnectorProfileCredentialsProperty{
		accessKeyId: jsii.String("accessKeyId"),
		datakey: jsii.String("datakey"),
		secretAccessKey: jsii.String("secretAccessKey"),
		userId: jsii.String("userId"),
	},
	marketo: &marketoConnectorProfileCredentialsProperty{
		clientId: jsii.String("clientId"),
		clientSecret: jsii.String("clientSecret"),

		// the properties below are optional
		accessToken: jsii.String("accessToken"),
		connectorOAuthRequest: &connectorOAuthRequestProperty{
			authCode: jsii.String("authCode"),
			redirectUri: jsii.String("redirectUri"),
		},
	},
	redshift: &redshiftConnectorProfileCredentialsProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),
	},
	salesforce: &salesforceConnectorProfileCredentialsProperty{
		accessToken: jsii.String("accessToken"),
		clientCredentialsArn: jsii.String("clientCredentialsArn"),
		connectorOAuthRequest: &connectorOAuthRequestProperty{
			authCode: jsii.String("authCode"),
			redirectUri: jsii.String("redirectUri"),
		},
		refreshToken: jsii.String("refreshToken"),
	},
	sapoData: &sAPODataConnectorProfileCredentialsProperty{
		basicAuthCredentials: &basicAuthCredentialsProperty{
			password: jsii.String("password"),
			username: jsii.String("username"),
		},
		oAuthCredentials: oAuthCredentials,
	},
	serviceNow: &serviceNowConnectorProfileCredentialsProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),
	},
	singular: &singularConnectorProfileCredentialsProperty{
		apiKey: jsii.String("apiKey"),
	},
	slack: &slackConnectorProfileCredentialsProperty{
		clientId: jsii.String("clientId"),
		clientSecret: jsii.String("clientSecret"),

		// the properties below are optional
		accessToken: jsii.String("accessToken"),
		connectorOAuthRequest: &connectorOAuthRequestProperty{
			authCode: jsii.String("authCode"),
			redirectUri: jsii.String("redirectUri"),
		},
	},
	snowflake: &snowflakeConnectorProfileCredentialsProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),
	},
	trendmicro: &trendmicroConnectorProfileCredentialsProperty{
		apiSecretKey: jsii.String("apiSecretKey"),
	},
	veeva: &veevaConnectorProfileCredentialsProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),
	},
	zendesk: &zendeskConnectorProfileCredentialsProperty{
		clientId: jsii.String("clientId"),
		clientSecret: jsii.String("clientSecret"),

		// the properties below are optional
		accessToken: jsii.String("accessToken"),
		connectorOAuthRequest: &connectorOAuthRequestProperty{
			authCode: jsii.String("authCode"),
			redirectUri: jsii.String("redirectUri"),
		},
	},
}

type CfnConnectorProfile_ConnectorProfilePropertiesProperty

type CfnConnectorProfile_ConnectorProfilePropertiesProperty struct {
	// `CfnConnectorProfile.ConnectorProfilePropertiesProperty.CustomConnector`.
	CustomConnector interface{} `field:"optional" json:"customConnector" yaml:"customConnector"`
	// The connector-specific properties required by Datadog.
	Datadog interface{} `field:"optional" json:"datadog" yaml:"datadog"`
	// The connector-specific properties required by Dynatrace.
	Dynatrace interface{} `field:"optional" json:"dynatrace" yaml:"dynatrace"`
	// The connector-specific properties required by Infor Nexus.
	InforNexus interface{} `field:"optional" json:"inforNexus" yaml:"inforNexus"`
	// The connector-specific properties required by Marketo.
	Marketo interface{} `field:"optional" json:"marketo" yaml:"marketo"`
	// The connector-specific properties required by Amazon Redshift.
	Redshift interface{} `field:"optional" json:"redshift" yaml:"redshift"`
	// The connector-specific properties required by Salesforce.
	Salesforce interface{} `field:"optional" json:"salesforce" yaml:"salesforce"`
	// The connector-specific profile properties required when using SAPOData.
	SapoData interface{} `field:"optional" json:"sapoData" yaml:"sapoData"`
	// The connector-specific properties required by serviceNow.
	ServiceNow interface{} `field:"optional" json:"serviceNow" yaml:"serviceNow"`
	// The connector-specific properties required by Slack.
	Slack interface{} `field:"optional" json:"slack" yaml:"slack"`
	// The connector-specific properties required by Snowflake.
	Snowflake interface{} `field:"optional" json:"snowflake" yaml:"snowflake"`
	// The connector-specific properties required by Veeva.
	Veeva interface{} `field:"optional" json:"veeva" yaml:"veeva"`
	// The connector-specific properties required by Zendesk.
	Zendesk interface{} `field:"optional" json:"zendesk" yaml:"zendesk"`
}

The connector-specific profile properties required by each connector.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var profileProperties interface{}
var tokenUrlCustomProperties interface{}

connectorProfilePropertiesProperty := &connectorProfilePropertiesProperty{
	customConnector: &customConnectorProfilePropertiesProperty{
		oAuth2Properties: &oAuth2PropertiesProperty{
			oAuth2GrantType: jsii.String("oAuth2GrantType"),
			tokenUrl: jsii.String("tokenUrl"),
			tokenUrlCustomProperties: tokenUrlCustomProperties,
		},
		profileProperties: profileProperties,
	},
	datadog: &datadogConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	dynatrace: &dynatraceConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	inforNexus: &inforNexusConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	marketo: &marketoConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	redshift: &redshiftConnectorProfilePropertiesProperty{
		bucketName: jsii.String("bucketName"),
		databaseUrl: jsii.String("databaseUrl"),
		roleArn: jsii.String("roleArn"),

		// the properties below are optional
		bucketPrefix: jsii.String("bucketPrefix"),
	},
	salesforce: &salesforceConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
		isSandboxEnvironment: jsii.Boolean(false),
	},
	sapoData: &sAPODataConnectorProfilePropertiesProperty{
		applicationHostUrl: jsii.String("applicationHostUrl"),
		applicationServicePath: jsii.String("applicationServicePath"),
		clientNumber: jsii.String("clientNumber"),
		logonLanguage: jsii.String("logonLanguage"),
		oAuthProperties: &oAuthPropertiesProperty{
			authCodeUrl: jsii.String("authCodeUrl"),
			oAuthScopes: []*string{
				jsii.String("oAuthScopes"),
			},
			tokenUrl: jsii.String("tokenUrl"),
		},
		portNumber: jsii.Number(123),
		privateLinkServiceName: jsii.String("privateLinkServiceName"),
	},
	serviceNow: &serviceNowConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	slack: &slackConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	snowflake: &snowflakeConnectorProfilePropertiesProperty{
		bucketName: jsii.String("bucketName"),
		stage: jsii.String("stage"),
		warehouse: jsii.String("warehouse"),

		// the properties below are optional
		accountName: jsii.String("accountName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		privateLinkServiceName: jsii.String("privateLinkServiceName"),
		region: jsii.String("region"),
	},
	veeva: &veevaConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
	zendesk: &zendeskConnectorProfilePropertiesProperty{
		instanceUrl: jsii.String("instanceUrl"),
	},
}

type CfnConnectorProfile_CustomAuthCredentialsProperty

type CfnConnectorProfile_CustomAuthCredentialsProperty struct {
	// `CfnConnectorProfile.CustomAuthCredentialsProperty.CustomAuthenticationType`.
	CustomAuthenticationType *string `field:"required" json:"customAuthenticationType" yaml:"customAuthenticationType"`
	// `CfnConnectorProfile.CustomAuthCredentialsProperty.CredentialsMap`.
	CredentialsMap interface{} `field:"optional" json:"credentialsMap" yaml:"credentialsMap"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var credentialsMap interface{}

customAuthCredentialsProperty := &customAuthCredentialsProperty{
	customAuthenticationType: jsii.String("customAuthenticationType"),

	// the properties below are optional
	credentialsMap: credentialsMap,
}

type CfnConnectorProfile_CustomConnectorProfileCredentialsProperty

type CfnConnectorProfile_CustomConnectorProfileCredentialsProperty struct {
	// `CfnConnectorProfile.CustomConnectorProfileCredentialsProperty.AuthenticationType`.
	AuthenticationType *string `field:"required" json:"authenticationType" yaml:"authenticationType"`
	// `CfnConnectorProfile.CustomConnectorProfileCredentialsProperty.ApiKey`.
	ApiKey interface{} `field:"optional" json:"apiKey" yaml:"apiKey"`
	// `CfnConnectorProfile.CustomConnectorProfileCredentialsProperty.Basic`.
	Basic interface{} `field:"optional" json:"basic" yaml:"basic"`
	// `CfnConnectorProfile.CustomConnectorProfileCredentialsProperty.Custom`.
	Custom interface{} `field:"optional" json:"custom" yaml:"custom"`
	// `CfnConnectorProfile.CustomConnectorProfileCredentialsProperty.Oauth2`.
	Oauth2 interface{} `field:"optional" json:"oauth2" yaml:"oauth2"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var credentialsMap interface{}

customConnectorProfileCredentialsProperty := &customConnectorProfileCredentialsProperty{
	authenticationType: jsii.String("authenticationType"),

	// the properties below are optional
	apiKey: &apiKeyCredentialsProperty{
		apiKey: jsii.String("apiKey"),

		// the properties below are optional
		apiSecretKey: jsii.String("apiSecretKey"),
	},
	basic: &basicAuthCredentialsProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),
	},
	custom: &customAuthCredentialsProperty{
		customAuthenticationType: jsii.String("customAuthenticationType"),

		// the properties below are optional
		credentialsMap: credentialsMap,
	},
	oauth2: &oAuth2CredentialsProperty{
		accessToken: jsii.String("accessToken"),
		clientId: jsii.String("clientId"),
		clientSecret: jsii.String("clientSecret"),
		oAuthRequest: &connectorOAuthRequestProperty{
			authCode: jsii.String("authCode"),
			redirectUri: jsii.String("redirectUri"),
		},
		refreshToken: jsii.String("refreshToken"),
	},
}

type CfnConnectorProfile_CustomConnectorProfilePropertiesProperty

type CfnConnectorProfile_CustomConnectorProfilePropertiesProperty struct {
	// `CfnConnectorProfile.CustomConnectorProfilePropertiesProperty.OAuth2Properties`.
	OAuth2Properties interface{} `field:"optional" json:"oAuth2Properties" yaml:"oAuth2Properties"`
	// `CfnConnectorProfile.CustomConnectorProfilePropertiesProperty.ProfileProperties`.
	ProfileProperties interface{} `field:"optional" json:"profileProperties" yaml:"profileProperties"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var profileProperties interface{}
var tokenUrlCustomProperties interface{}

customConnectorProfilePropertiesProperty := &customConnectorProfilePropertiesProperty{
	oAuth2Properties: &oAuth2PropertiesProperty{
		oAuth2GrantType: jsii.String("oAuth2GrantType"),
		tokenUrl: jsii.String("tokenUrl"),
		tokenUrlCustomProperties: tokenUrlCustomProperties,
	},
	profileProperties: profileProperties,
}

type CfnConnectorProfile_DatadogConnectorProfileCredentialsProperty

type CfnConnectorProfile_DatadogConnectorProfileCredentialsProperty struct {
	// A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
	ApiKey *string `field:"required" json:"apiKey" yaml:"apiKey"`
	// Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API.
	//
	// Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
	ApplicationKey *string `field:"required" json:"applicationKey" yaml:"applicationKey"`
}

The connector-specific credentials required by Datadog.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

datadogConnectorProfileCredentialsProperty := &datadogConnectorProfileCredentialsProperty{
	apiKey: jsii.String("apiKey"),
	applicationKey: jsii.String("applicationKey"),
}

type CfnConnectorProfile_DatadogConnectorProfilePropertiesProperty

type CfnConnectorProfile_DatadogConnectorProfilePropertiesProperty struct {
	// The location of the Datadog resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required by Datadog.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

datadogConnectorProfilePropertiesProperty := &datadogConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_DynatraceConnectorProfileCredentialsProperty

type CfnConnectorProfile_DynatraceConnectorProfileCredentialsProperty struct {
	// The API tokens used by Dynatrace API to authenticate various API calls.
	ApiToken *string `field:"required" json:"apiToken" yaml:"apiToken"`
}

The connector-specific profile credentials required by Dynatrace.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dynatraceConnectorProfileCredentialsProperty := &dynatraceConnectorProfileCredentialsProperty{
	apiToken: jsii.String("apiToken"),
}

type CfnConnectorProfile_DynatraceConnectorProfilePropertiesProperty

type CfnConnectorProfile_DynatraceConnectorProfilePropertiesProperty struct {
	// The location of the Dynatrace resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required by Dynatrace.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dynatraceConnectorProfilePropertiesProperty := &dynatraceConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_GoogleAnalyticsConnectorProfileCredentialsProperty

type CfnConnectorProfile_GoogleAnalyticsConnectorProfileCredentialsProperty struct {
	// The identifier for the desired client.
	ClientId *string `field:"required" json:"clientId" yaml:"clientId"`
	// The client secret used by the OAuth client to authenticate to the authorization server.
	ClientSecret *string `field:"required" json:"clientSecret" yaml:"clientSecret"`
	// The credentials used to access protected Google Analytics resources.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.
	ConnectorOAuthRequest interface{} `field:"optional" json:"connectorOAuthRequest" yaml:"connectorOAuthRequest"`
	// The credentials used to acquire new access tokens.
	//
	// This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.
	RefreshToken *string `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

The connector-specific profile credentials required by Google Analytics.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

googleAnalyticsConnectorProfileCredentialsProperty := &googleAnalyticsConnectorProfileCredentialsProperty{
	clientId: jsii.String("clientId"),
	clientSecret: jsii.String("clientSecret"),

	// the properties below are optional
	accessToken: jsii.String("accessToken"),
	connectorOAuthRequest: &connectorOAuthRequestProperty{
		authCode: jsii.String("authCode"),
		redirectUri: jsii.String("redirectUri"),
	},
	refreshToken: jsii.String("refreshToken"),
}

type CfnConnectorProfile_InforNexusConnectorProfileCredentialsProperty

type CfnConnectorProfile_InforNexusConnectorProfileCredentialsProperty struct {
	// The Access Key portion of the credentials.
	AccessKeyId *string `field:"required" json:"accessKeyId" yaml:"accessKeyId"`
	// The encryption keys used to encrypt data.
	Datakey *string `field:"required" json:"datakey" yaml:"datakey"`
	// The secret key used to sign requests.
	SecretAccessKey *string `field:"required" json:"secretAccessKey" yaml:"secretAccessKey"`
	// The identifier for the user.
	UserId *string `field:"required" json:"userId" yaml:"userId"`
}

The connector-specific profile credentials required by Infor Nexus.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inforNexusConnectorProfileCredentialsProperty := &inforNexusConnectorProfileCredentialsProperty{
	accessKeyId: jsii.String("accessKeyId"),
	datakey: jsii.String("datakey"),
	secretAccessKey: jsii.String("secretAccessKey"),
	userId: jsii.String("userId"),
}

type CfnConnectorProfile_InforNexusConnectorProfilePropertiesProperty

type CfnConnectorProfile_InforNexusConnectorProfilePropertiesProperty struct {
	// The location of the Infor Nexus resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required by Infor Nexus.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inforNexusConnectorProfilePropertiesProperty := &inforNexusConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_MarketoConnectorProfileCredentialsProperty

type CfnConnectorProfile_MarketoConnectorProfileCredentialsProperty struct {
	// The identifier for the desired client.
	ClientId *string `field:"required" json:"clientId" yaml:"clientId"`
	// The client secret used by the OAuth client to authenticate to the authorization server.
	ClientSecret *string `field:"required" json:"clientSecret" yaml:"clientSecret"`
	// The credentials used to access protected Marketo resources.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.
	ConnectorOAuthRequest interface{} `field:"optional" json:"connectorOAuthRequest" yaml:"connectorOAuthRequest"`
}

The connector-specific profile credentials required by Marketo.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

marketoConnectorProfileCredentialsProperty := &marketoConnectorProfileCredentialsProperty{
	clientId: jsii.String("clientId"),
	clientSecret: jsii.String("clientSecret"),

	// the properties below are optional
	accessToken: jsii.String("accessToken"),
	connectorOAuthRequest: &connectorOAuthRequestProperty{
		authCode: jsii.String("authCode"),
		redirectUri: jsii.String("redirectUri"),
	},
}

type CfnConnectorProfile_MarketoConnectorProfilePropertiesProperty

type CfnConnectorProfile_MarketoConnectorProfilePropertiesProperty struct {
	// The location of the Marketo resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required when using Marketo.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

marketoConnectorProfilePropertiesProperty := &marketoConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_OAuth2CredentialsProperty

type CfnConnectorProfile_OAuth2CredentialsProperty struct {
	// `CfnConnectorProfile.OAuth2CredentialsProperty.AccessToken`.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// `CfnConnectorProfile.OAuth2CredentialsProperty.ClientId`.
	ClientId *string `field:"optional" json:"clientId" yaml:"clientId"`
	// `CfnConnectorProfile.OAuth2CredentialsProperty.ClientSecret`.
	ClientSecret *string `field:"optional" json:"clientSecret" yaml:"clientSecret"`
	// `CfnConnectorProfile.OAuth2CredentialsProperty.OAuthRequest`.
	OAuthRequest interface{} `field:"optional" json:"oAuthRequest" yaml:"oAuthRequest"`
	// `CfnConnectorProfile.OAuth2CredentialsProperty.RefreshToken`.
	RefreshToken *string `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

oAuth2CredentialsProperty := &oAuth2CredentialsProperty{
	accessToken: jsii.String("accessToken"),
	clientId: jsii.String("clientId"),
	clientSecret: jsii.String("clientSecret"),
	oAuthRequest: &connectorOAuthRequestProperty{
		authCode: jsii.String("authCode"),
		redirectUri: jsii.String("redirectUri"),
	},
	refreshToken: jsii.String("refreshToken"),
}

type CfnConnectorProfile_OAuth2PropertiesProperty

type CfnConnectorProfile_OAuth2PropertiesProperty struct {
	// `CfnConnectorProfile.OAuth2PropertiesProperty.OAuth2GrantType`.
	OAuth2GrantType *string `field:"optional" json:"oAuth2GrantType" yaml:"oAuth2GrantType"`
	// `CfnConnectorProfile.OAuth2PropertiesProperty.TokenUrl`.
	TokenUrl *string `field:"optional" json:"tokenUrl" yaml:"tokenUrl"`
	// `CfnConnectorProfile.OAuth2PropertiesProperty.TokenUrlCustomProperties`.
	TokenUrlCustomProperties interface{} `field:"optional" json:"tokenUrlCustomProperties" yaml:"tokenUrlCustomProperties"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var tokenUrlCustomProperties interface{}

oAuth2PropertiesProperty := &oAuth2PropertiesProperty{
	oAuth2GrantType: jsii.String("oAuth2GrantType"),
	tokenUrl: jsii.String("tokenUrl"),
	tokenUrlCustomProperties: tokenUrlCustomProperties,
}

type CfnConnectorProfile_OAuthPropertiesProperty

type CfnConnectorProfile_OAuthPropertiesProperty struct {
	// The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.
	AuthCodeUrl *string `field:"optional" json:"authCodeUrl" yaml:"authCodeUrl"`
	// The OAuth scopes required for OAuth type authentication.
	OAuthScopes *[]*string `field:"optional" json:"oAuthScopes" yaml:"oAuthScopes"`
	// The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.
	TokenUrl *string `field:"optional" json:"tokenUrl" yaml:"tokenUrl"`
}

The OAuth properties required for OAuth type authentication.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

oAuthPropertiesProperty := &oAuthPropertiesProperty{
	authCodeUrl: jsii.String("authCodeUrl"),
	oAuthScopes: []*string{
		jsii.String("oAuthScopes"),
	},
	tokenUrl: jsii.String("tokenUrl"),
}

type CfnConnectorProfile_RedshiftConnectorProfileCredentialsProperty

type CfnConnectorProfile_RedshiftConnectorProfileCredentialsProperty struct {
	// The password that corresponds to the user name.
	Password *string `field:"required" json:"password" yaml:"password"`
	// The name of the user.
	Username *string `field:"required" json:"username" yaml:"username"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

redshiftConnectorProfileCredentialsProperty := &redshiftConnectorProfileCredentialsProperty{
	password: jsii.String("password"),
	username: jsii.String("username"),
}

type CfnConnectorProfile_RedshiftConnectorProfilePropertiesProperty

type CfnConnectorProfile_RedshiftConnectorProfilePropertiesProperty struct {
	// A name for the associated Amazon S3 bucket.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The JDBC URL of the Amazon Redshift cluster.
	DatabaseUrl *string `field:"required" json:"databaseUrl" yaml:"databaseUrl"`
	// The Amazon Resource Name (ARN) of the IAM role.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// The object key for the destination bucket in which Amazon AppFlow places the files.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
}

The connector-specific profile properties when using Amazon Redshift.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

redshiftConnectorProfilePropertiesProperty := &redshiftConnectorProfilePropertiesProperty{
	bucketName: jsii.String("bucketName"),
	databaseUrl: jsii.String("databaseUrl"),
	roleArn: jsii.String("roleArn"),

	// the properties below are optional
	bucketPrefix: jsii.String("bucketPrefix"),
}

type CfnConnectorProfile_SAPODataConnectorProfileCredentialsProperty

type CfnConnectorProfile_SAPODataConnectorProfileCredentialsProperty struct {
	// The SAPOData basic authentication credentials.
	BasicAuthCredentials interface{} `field:"optional" json:"basicAuthCredentials" yaml:"basicAuthCredentials"`
	// The SAPOData OAuth type authentication credentials.
	OAuthCredentials interface{} `field:"optional" json:"oAuthCredentials" yaml:"oAuthCredentials"`
}

The connector-specific profile credentials required when using SAPOData.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var oAuthCredentials interface{}

sAPODataConnectorProfileCredentialsProperty := &sAPODataConnectorProfileCredentialsProperty{
	basicAuthCredentials: &basicAuthCredentialsProperty{
		password: jsii.String("password"),
		username: jsii.String("username"),
	},
	oAuthCredentials: oAuthCredentials,
}

type CfnConnectorProfile_SAPODataConnectorProfilePropertiesProperty

type CfnConnectorProfile_SAPODataConnectorProfilePropertiesProperty struct {
	// The location of the SAPOData resource.
	ApplicationHostUrl *string `field:"optional" json:"applicationHostUrl" yaml:"applicationHostUrl"`
	// The application path to catalog service.
	ApplicationServicePath *string `field:"optional" json:"applicationServicePath" yaml:"applicationServicePath"`
	// The client number for the client creating the connection.
	ClientNumber *string `field:"optional" json:"clientNumber" yaml:"clientNumber"`
	// The logon language of SAPOData instance.
	LogonLanguage *string `field:"optional" json:"logonLanguage" yaml:"logonLanguage"`
	// The SAPOData OAuth properties required for OAuth type authentication.
	OAuthProperties interface{} `field:"optional" json:"oAuthProperties" yaml:"oAuthProperties"`
	// The port number of the SAPOData instance.
	PortNumber *float64 `field:"optional" json:"portNumber" yaml:"portNumber"`
	// The SAPOData Private Link service name to be used for private data transfers.
	PrivateLinkServiceName *string `field:"optional" json:"privateLinkServiceName" yaml:"privateLinkServiceName"`
}

The connector-specific profile properties required when using SAPOData.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sAPODataConnectorProfilePropertiesProperty := &sAPODataConnectorProfilePropertiesProperty{
	applicationHostUrl: jsii.String("applicationHostUrl"),
	applicationServicePath: jsii.String("applicationServicePath"),
	clientNumber: jsii.String("clientNumber"),
	logonLanguage: jsii.String("logonLanguage"),
	oAuthProperties: &oAuthPropertiesProperty{
		authCodeUrl: jsii.String("authCodeUrl"),
		oAuthScopes: []*string{
			jsii.String("oAuthScopes"),
		},
		tokenUrl: jsii.String("tokenUrl"),
	},
	portNumber: jsii.Number(123),
	privateLinkServiceName: jsii.String("privateLinkServiceName"),
}

type CfnConnectorProfile_SalesforceConnectorProfileCredentialsProperty

type CfnConnectorProfile_SalesforceConnectorProfileCredentialsProperty struct {
	// The credentials used to access protected Salesforce resources.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// The secret manager ARN, which contains the client ID and client secret of the connected app.
	ClientCredentialsArn *string `field:"optional" json:"clientCredentialsArn" yaml:"clientCredentialsArn"`
	// Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.
	ConnectorOAuthRequest interface{} `field:"optional" json:"connectorOAuthRequest" yaml:"connectorOAuthRequest"`
	// The credentials used to acquire new access tokens.
	RefreshToken *string `field:"optional" json:"refreshToken" yaml:"refreshToken"`
}

The connector-specific profile credentials required when using Salesforce.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

salesforceConnectorProfileCredentialsProperty := &salesforceConnectorProfileCredentialsProperty{
	accessToken: jsii.String("accessToken"),
	clientCredentialsArn: jsii.String("clientCredentialsArn"),
	connectorOAuthRequest: &connectorOAuthRequestProperty{
		authCode: jsii.String("authCode"),
		redirectUri: jsii.String("redirectUri"),
	},
	refreshToken: jsii.String("refreshToken"),
}

type CfnConnectorProfile_SalesforceConnectorProfilePropertiesProperty

type CfnConnectorProfile_SalesforceConnectorProfilePropertiesProperty struct {
	// The location of the Salesforce resource.
	InstanceUrl *string `field:"optional" json:"instanceUrl" yaml:"instanceUrl"`
	// Indicates whether the connector profile applies to a sandbox or production environment.
	IsSandboxEnvironment interface{} `field:"optional" json:"isSandboxEnvironment" yaml:"isSandboxEnvironment"`
}

The connector-specific profile properties required when using Salesforce.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

salesforceConnectorProfilePropertiesProperty := &salesforceConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
	isSandboxEnvironment: jsii.Boolean(false),
}

type CfnConnectorProfile_ServiceNowConnectorProfileCredentialsProperty

type CfnConnectorProfile_ServiceNowConnectorProfileCredentialsProperty struct {
	// The password that corresponds to the user name.
	Password *string `field:"required" json:"password" yaml:"password"`
	// The name of the user.
	Username *string `field:"required" json:"username" yaml:"username"`
}

The connector-specific profile credentials required when using ServiceNow.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

serviceNowConnectorProfileCredentialsProperty := &serviceNowConnectorProfileCredentialsProperty{
	password: jsii.String("password"),
	username: jsii.String("username"),
}

type CfnConnectorProfile_ServiceNowConnectorProfilePropertiesProperty

type CfnConnectorProfile_ServiceNowConnectorProfilePropertiesProperty struct {
	// The location of the ServiceNow resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required when using ServiceNow.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

serviceNowConnectorProfilePropertiesProperty := &serviceNowConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_SingularConnectorProfileCredentialsProperty

type CfnConnectorProfile_SingularConnectorProfileCredentialsProperty struct {
	// A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
	ApiKey *string `field:"required" json:"apiKey" yaml:"apiKey"`
}

The connector-specific profile credentials required when using Singular.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

singularConnectorProfileCredentialsProperty := &singularConnectorProfileCredentialsProperty{
	apiKey: jsii.String("apiKey"),
}

type CfnConnectorProfile_SlackConnectorProfileCredentialsProperty

type CfnConnectorProfile_SlackConnectorProfileCredentialsProperty struct {
	// The identifier for the client.
	ClientId *string `field:"required" json:"clientId" yaml:"clientId"`
	// The client secret used by the OAuth client to authenticate to the authorization server.
	ClientSecret *string `field:"required" json:"clientSecret" yaml:"clientSecret"`
	// The credentials used to access protected Slack resources.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.
	ConnectorOAuthRequest interface{} `field:"optional" json:"connectorOAuthRequest" yaml:"connectorOAuthRequest"`
}

The connector-specific profile credentials required when using Slack.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slackConnectorProfileCredentialsProperty := &slackConnectorProfileCredentialsProperty{
	clientId: jsii.String("clientId"),
	clientSecret: jsii.String("clientSecret"),

	// the properties below are optional
	accessToken: jsii.String("accessToken"),
	connectorOAuthRequest: &connectorOAuthRequestProperty{
		authCode: jsii.String("authCode"),
		redirectUri: jsii.String("redirectUri"),
	},
}

type CfnConnectorProfile_SlackConnectorProfilePropertiesProperty

type CfnConnectorProfile_SlackConnectorProfilePropertiesProperty struct {
	// The location of the Slack resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required when using Slack.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slackConnectorProfilePropertiesProperty := &slackConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_SnowflakeConnectorProfileCredentialsProperty

type CfnConnectorProfile_SnowflakeConnectorProfileCredentialsProperty struct {
	// The password that corresponds to the user name.
	Password *string `field:"required" json:"password" yaml:"password"`
	// The name of the user.
	Username *string `field:"required" json:"username" yaml:"username"`
}

The connector-specific profile credentials required when using Snowflake.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

snowflakeConnectorProfileCredentialsProperty := &snowflakeConnectorProfileCredentialsProperty{
	password: jsii.String("password"),
	username: jsii.String("username"),
}

type CfnConnectorProfile_SnowflakeConnectorProfilePropertiesProperty

type CfnConnectorProfile_SnowflakeConnectorProfilePropertiesProperty struct {
	// The name of the Amazon S3 bucket associated with Snowflake.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account.
	//
	// This is written in the following format: < Database>< Schema><Stage Name>.
	Stage *string `field:"required" json:"stage" yaml:"stage"`
	// The name of the Snowflake warehouse.
	Warehouse *string `field:"required" json:"warehouse" yaml:"warehouse"`
	// The name of the account.
	AccountName *string `field:"optional" json:"accountName" yaml:"accountName"`
	// The bucket path that refers to the Amazon S3 bucket associated with Snowflake.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
	// The Snowflake Private Link service name to be used for private data transfers.
	PrivateLinkServiceName *string `field:"optional" json:"privateLinkServiceName" yaml:"privateLinkServiceName"`
	// The AWS Region of the Snowflake account.
	Region *string `field:"optional" json:"region" yaml:"region"`
}

The connector-specific profile properties required when using Snowflake.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

snowflakeConnectorProfilePropertiesProperty := &snowflakeConnectorProfilePropertiesProperty{
	bucketName: jsii.String("bucketName"),
	stage: jsii.String("stage"),
	warehouse: jsii.String("warehouse"),

	// the properties below are optional
	accountName: jsii.String("accountName"),
	bucketPrefix: jsii.String("bucketPrefix"),
	privateLinkServiceName: jsii.String("privateLinkServiceName"),
	region: jsii.String("region"),
}

type CfnConnectorProfile_TrendmicroConnectorProfileCredentialsProperty

type CfnConnectorProfile_TrendmicroConnectorProfileCredentialsProperty struct {
	// The Secret Access Key portion of the credentials.
	ApiSecretKey *string `field:"required" json:"apiSecretKey" yaml:"apiSecretKey"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

trendmicroConnectorProfileCredentialsProperty := &trendmicroConnectorProfileCredentialsProperty{
	apiSecretKey: jsii.String("apiSecretKey"),
}

type CfnConnectorProfile_VeevaConnectorProfileCredentialsProperty

type CfnConnectorProfile_VeevaConnectorProfileCredentialsProperty struct {
	// The password that corresponds to the user name.
	Password *string `field:"required" json:"password" yaml:"password"`
	// The name of the user.
	Username *string `field:"required" json:"username" yaml:"username"`
}

The connector-specific profile credentials required when using Veeva.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

veevaConnectorProfileCredentialsProperty := &veevaConnectorProfileCredentialsProperty{
	password: jsii.String("password"),
	username: jsii.String("username"),
}

type CfnConnectorProfile_VeevaConnectorProfilePropertiesProperty

type CfnConnectorProfile_VeevaConnectorProfilePropertiesProperty struct {
	// The location of the Veeva resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required when using Veeva.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

veevaConnectorProfilePropertiesProperty := &veevaConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnConnectorProfile_ZendeskConnectorProfileCredentialsProperty

type CfnConnectorProfile_ZendeskConnectorProfileCredentialsProperty struct {
	// The identifier for the desired client.
	ClientId *string `field:"required" json:"clientId" yaml:"clientId"`
	// The client secret used by the OAuth client to authenticate to the authorization server.
	ClientSecret *string `field:"required" json:"clientSecret" yaml:"clientSecret"`
	// The credentials used to access protected Zendesk resources.
	AccessToken *string `field:"optional" json:"accessToken" yaml:"accessToken"`
	// Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.
	ConnectorOAuthRequest interface{} `field:"optional" json:"connectorOAuthRequest" yaml:"connectorOAuthRequest"`
}

The connector-specific profile credentials required when using Zendesk.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

zendeskConnectorProfileCredentialsProperty := &zendeskConnectorProfileCredentialsProperty{
	clientId: jsii.String("clientId"),
	clientSecret: jsii.String("clientSecret"),

	// the properties below are optional
	accessToken: jsii.String("accessToken"),
	connectorOAuthRequest: &connectorOAuthRequestProperty{
		authCode: jsii.String("authCode"),
		redirectUri: jsii.String("redirectUri"),
	},
}

type CfnConnectorProfile_ZendeskConnectorProfilePropertiesProperty

type CfnConnectorProfile_ZendeskConnectorProfilePropertiesProperty struct {
	// The location of the Zendesk resource.
	InstanceUrl *string `field:"required" json:"instanceUrl" yaml:"instanceUrl"`
}

The connector-specific profile properties required when using Zendesk.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

zendeskConnectorProfilePropertiesProperty := &zendeskConnectorProfilePropertiesProperty{
	instanceUrl: jsii.String("instanceUrl"),
}

type CfnFlow

type CfnFlow interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The flow's Amazon Resource Name (ARN).
	AttrFlowArn() *string
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// A user-entered description of the flow.
	Description() *string
	SetDescription(val *string)
	// The configuration that controls how Amazon AppFlow places data in the destination connector.
	DestinationFlowConfigList() interface{}
	SetDestinationFlowConfigList(val interface{})
	// The specified name of the flow.
	//
	// Spaces are not allowed. Use underscores (_) or hyphens (-) only.
	FlowName() *string
	SetFlowName(val *string)
	// The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
	//
	// This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
	KmsArn() *string
	SetKmsArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// Contains information about the configuration of the source connector used in the flow.
	SourceFlowConfig() interface{}
	SetSourceFlowConfig(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// The tags used to organize, track, or control access for your flow.
	Tags() awscdk.TagManager
	// A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
	Tasks() interface{}
	SetTasks(val interface{})
	// The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
	TriggerConfig() interface{}
	SetTriggerConfig(val interface{})
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppFlow::Flow`.

The `AWS::AppFlow::Flow` resource is an Amazon AppFlow resource type that specifies a new flow.

> If you want to use AWS CloudFormation to create a connector profile for connectors that implement OAuth (such as Salesforce, Slack, Zendesk, and Google Analytics), you must fetch the access and refresh tokens. You can do this by implementing your own UI for OAuth, or by retrieving the tokens from elsewhere. Alternatively, you can use the Amazon AppFlow console to create the connector profile, and then use that connector profile in the flow creation CloudFormation template.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

cfnFlow := awscdk.Aws_appflow.NewCfnFlow(this, jsii.String("MyCfnFlow"), &cfnFlowProps{
	destinationFlowConfigList: []interface{}{
		&destinationFlowConfigProperty{
			connectorType: jsii.String("connectorType"),
			destinationConnectorProperties: &destinationConnectorPropertiesProperty{
				customConnector: &customConnectorDestinationPropertiesProperty{
					entityName: jsii.String("entityName"),

					// the properties below are optional
					customProperties: customProperties,
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
				eventBridge: &eventBridgeDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				lookoutMetrics: &lookoutMetricsDestinationPropertiesProperty{
					object: jsii.String("object"),
				},
				marketo: &marketoDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				redshift: &redshiftDestinationPropertiesProperty{
					intermediateBucketName: jsii.String("intermediateBucketName"),
					object: jsii.String("object"),

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				s3: &s3DestinationPropertiesProperty{
					bucketName: jsii.String("bucketName"),

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
					s3OutputFormatConfig: &s3OutputFormatConfigProperty{
						aggregationConfig: &aggregationConfigProperty{
							aggregationType: jsii.String("aggregationType"),
						},
						fileType: jsii.String("fileType"),
						prefixConfig: &prefixConfigProperty{
							prefixFormat: jsii.String("prefixFormat"),
							prefixType: jsii.String("prefixType"),
						},
						preserveSourceDataTyping: jsii.Boolean(false),
					},
				},
				salesforce: &salesforceDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
				sapoData: &sAPODataDestinationPropertiesProperty{
					objectPath: jsii.String("objectPath"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					successResponseHandlingConfig: &successResponseHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
				snowflake: &snowflakeDestinationPropertiesProperty{
					intermediateBucketName: jsii.String("intermediateBucketName"),
					object: jsii.String("object"),

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				upsolver: &upsolverDestinationPropertiesProperty{
					bucketName: jsii.String("bucketName"),
					s3OutputFormatConfig: &upsolverS3OutputFormatConfigProperty{
						prefixConfig: &prefixConfigProperty{
							prefixFormat: jsii.String("prefixFormat"),
							prefixType: jsii.String("prefixType"),
						},

						// the properties below are optional
						aggregationConfig: &aggregationConfigProperty{
							aggregationType: jsii.String("aggregationType"),
						},
						fileType: jsii.String("fileType"),
					},

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
				},
				zendesk: &zendeskDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
			},

			// the properties below are optional
			apiVersion: jsii.String("apiVersion"),
			connectorProfileName: jsii.String("connectorProfileName"),
		},
	},
	flowName: jsii.String("flowName"),
	sourceFlowConfig: &sourceFlowConfigProperty{
		connectorType: jsii.String("connectorType"),
		sourceConnectorProperties: &sourceConnectorPropertiesProperty{
			amplitude: &amplitudeSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			customConnector: &customConnectorSourcePropertiesProperty{
				entityName: jsii.String("entityName"),

				// the properties below are optional
				customProperties: customProperties,
			},
			datadog: &datadogSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			dynatrace: &dynatraceSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			googleAnalytics: &googleAnalyticsSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			inforNexus: &inforNexusSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			marketo: &marketoSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			s3: &s3SourcePropertiesProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),

				// the properties below are optional
				s3InputFormatConfig: &s3InputFormatConfigProperty{
					s3InputFileType: jsii.String("s3InputFileType"),
				},
			},
			salesforce: &salesforceSourcePropertiesProperty{
				object: jsii.String("object"),

				// the properties below are optional
				enableDynamicFieldUpdate: jsii.Boolean(false),
				includeDeletedRecords: jsii.Boolean(false),
			},
			sapoData: &sAPODataSourcePropertiesProperty{
				objectPath: jsii.String("objectPath"),
			},
			serviceNow: &serviceNowSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			singular: &singularSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			slack: &slackSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			trendmicro: &trendmicroSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			veeva: &veevaSourcePropertiesProperty{
				object: jsii.String("object"),

				// the properties below are optional
				documentType: jsii.String("documentType"),
				includeAllVersions: jsii.Boolean(false),
				includeRenditions: jsii.Boolean(false),
				includeSourceFiles: jsii.Boolean(false),
			},
			zendesk: &zendeskSourcePropertiesProperty{
				object: jsii.String("object"),
			},
		},

		// the properties below are optional
		apiVersion: jsii.String("apiVersion"),
		connectorProfileName: jsii.String("connectorProfileName"),
		incrementalPullConfig: &incrementalPullConfigProperty{
			datetimeTypeFieldName: jsii.String("datetimeTypeFieldName"),
		},
	},
	tasks: []interface{}{
		&taskProperty{
			sourceFields: []*string{
				jsii.String("sourceFields"),
			},
			taskType: jsii.String("taskType"),

			// the properties below are optional
			connectorOperator: &connectorOperatorProperty{
				amplitude: jsii.String("amplitude"),
				customConnector: jsii.String("customConnector"),
				datadog: jsii.String("datadog"),
				dynatrace: jsii.String("dynatrace"),
				googleAnalytics: jsii.String("googleAnalytics"),
				inforNexus: jsii.String("inforNexus"),
				marketo: jsii.String("marketo"),
				s3: jsii.String("s3"),
				salesforce: jsii.String("salesforce"),
				sapoData: jsii.String("sapoData"),
				serviceNow: jsii.String("serviceNow"),
				singular: jsii.String("singular"),
				slack: jsii.String("slack"),
				trendmicro: jsii.String("trendmicro"),
				veeva: jsii.String("veeva"),
				zendesk: jsii.String("zendesk"),
			},
			destinationField: jsii.String("destinationField"),
			taskProperties: []interface{}{
				&taskPropertiesObjectProperty{
					key: jsii.String("key"),
					value: jsii.String("value"),
				},
			},
		},
	},
	triggerConfig: &triggerConfigProperty{
		triggerType: jsii.String("triggerType"),

		// the properties below are optional
		triggerProperties: &scheduledTriggerPropertiesProperty{
			scheduleExpression: jsii.String("scheduleExpression"),

			// the properties below are optional
			dataPullMode: jsii.String("dataPullMode"),
			firstExecutionFrom: jsii.Number(123),
			flowErrorDeactivationThreshold: jsii.Number(123),
			scheduleEndTime: jsii.Number(123),
			scheduleOffset: jsii.Number(123),
			scheduleStartTime: jsii.Number(123),
			timeZone: jsii.String("timeZone"),
		},
	},

	// the properties below are optional
	description: jsii.String("description"),
	kmsArn: jsii.String("kmsArn"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
})

func NewCfnFlow

func NewCfnFlow(scope awscdk.Construct, id *string, props *CfnFlowProps) CfnFlow

Create a new `AWS::AppFlow::Flow`.

type CfnFlowProps

type CfnFlowProps struct {
	// The configuration that controls how Amazon AppFlow places data in the destination connector.
	DestinationFlowConfigList interface{} `field:"required" json:"destinationFlowConfigList" yaml:"destinationFlowConfigList"`
	// The specified name of the flow.
	//
	// Spaces are not allowed. Use underscores (_) or hyphens (-) only.
	FlowName *string `field:"required" json:"flowName" yaml:"flowName"`
	// Contains information about the configuration of the source connector used in the flow.
	SourceFlowConfig interface{} `field:"required" json:"sourceFlowConfig" yaml:"sourceFlowConfig"`
	// A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
	Tasks interface{} `field:"required" json:"tasks" yaml:"tasks"`
	// The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
	TriggerConfig interface{} `field:"required" json:"triggerConfig" yaml:"triggerConfig"`
	// A user-entered description of the flow.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption.
	//
	// This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
	KmsArn *string `field:"optional" json:"kmsArn" yaml:"kmsArn"`
	// The tags used to organize, track, or control access for your flow.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnFlow`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

cfnFlowProps := &cfnFlowProps{
	destinationFlowConfigList: []interface{}{
		&destinationFlowConfigProperty{
			connectorType: jsii.String("connectorType"),
			destinationConnectorProperties: &destinationConnectorPropertiesProperty{
				customConnector: &customConnectorDestinationPropertiesProperty{
					entityName: jsii.String("entityName"),

					// the properties below are optional
					customProperties: customProperties,
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
				eventBridge: &eventBridgeDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				lookoutMetrics: &lookoutMetricsDestinationPropertiesProperty{
					object: jsii.String("object"),
				},
				marketo: &marketoDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				redshift: &redshiftDestinationPropertiesProperty{
					intermediateBucketName: jsii.String("intermediateBucketName"),
					object: jsii.String("object"),

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				s3: &s3DestinationPropertiesProperty{
					bucketName: jsii.String("bucketName"),

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
					s3OutputFormatConfig: &s3OutputFormatConfigProperty{
						aggregationConfig: &aggregationConfigProperty{
							aggregationType: jsii.String("aggregationType"),
						},
						fileType: jsii.String("fileType"),
						prefixConfig: &prefixConfigProperty{
							prefixFormat: jsii.String("prefixFormat"),
							prefixType: jsii.String("prefixType"),
						},
						preserveSourceDataTyping: jsii.Boolean(false),
					},
				},
				salesforce: &salesforceDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
				sapoData: &sAPODataDestinationPropertiesProperty{
					objectPath: jsii.String("objectPath"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					successResponseHandlingConfig: &successResponseHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
				snowflake: &snowflakeDestinationPropertiesProperty{
					intermediateBucketName: jsii.String("intermediateBucketName"),
					object: jsii.String("object"),

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
				},
				upsolver: &upsolverDestinationPropertiesProperty{
					bucketName: jsii.String("bucketName"),
					s3OutputFormatConfig: &upsolverS3OutputFormatConfigProperty{
						prefixConfig: &prefixConfigProperty{
							prefixFormat: jsii.String("prefixFormat"),
							prefixType: jsii.String("prefixType"),
						},

						// the properties below are optional
						aggregationConfig: &aggregationConfigProperty{
							aggregationType: jsii.String("aggregationType"),
						},
						fileType: jsii.String("fileType"),
					},

					// the properties below are optional
					bucketPrefix: jsii.String("bucketPrefix"),
				},
				zendesk: &zendeskDestinationPropertiesProperty{
					object: jsii.String("object"),

					// the properties below are optional
					errorHandlingConfig: &errorHandlingConfigProperty{
						bucketName: jsii.String("bucketName"),
						bucketPrefix: jsii.String("bucketPrefix"),
						failOnFirstError: jsii.Boolean(false),
					},
					idFieldNames: []*string{
						jsii.String("idFieldNames"),
					},
					writeOperationType: jsii.String("writeOperationType"),
				},
			},

			// the properties below are optional
			apiVersion: jsii.String("apiVersion"),
			connectorProfileName: jsii.String("connectorProfileName"),
		},
	},
	flowName: jsii.String("flowName"),
	sourceFlowConfig: &sourceFlowConfigProperty{
		connectorType: jsii.String("connectorType"),
		sourceConnectorProperties: &sourceConnectorPropertiesProperty{
			amplitude: &amplitudeSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			customConnector: &customConnectorSourcePropertiesProperty{
				entityName: jsii.String("entityName"),

				// the properties below are optional
				customProperties: customProperties,
			},
			datadog: &datadogSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			dynatrace: &dynatraceSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			googleAnalytics: &googleAnalyticsSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			inforNexus: &inforNexusSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			marketo: &marketoSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			s3: &s3SourcePropertiesProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),

				// the properties below are optional
				s3InputFormatConfig: &s3InputFormatConfigProperty{
					s3InputFileType: jsii.String("s3InputFileType"),
				},
			},
			salesforce: &salesforceSourcePropertiesProperty{
				object: jsii.String("object"),

				// the properties below are optional
				enableDynamicFieldUpdate: jsii.Boolean(false),
				includeDeletedRecords: jsii.Boolean(false),
			},
			sapoData: &sAPODataSourcePropertiesProperty{
				objectPath: jsii.String("objectPath"),
			},
			serviceNow: &serviceNowSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			singular: &singularSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			slack: &slackSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			trendmicro: &trendmicroSourcePropertiesProperty{
				object: jsii.String("object"),
			},
			veeva: &veevaSourcePropertiesProperty{
				object: jsii.String("object"),

				// the properties below are optional
				documentType: jsii.String("documentType"),
				includeAllVersions: jsii.Boolean(false),
				includeRenditions: jsii.Boolean(false),
				includeSourceFiles: jsii.Boolean(false),
			},
			zendesk: &zendeskSourcePropertiesProperty{
				object: jsii.String("object"),
			},
		},

		// the properties below are optional
		apiVersion: jsii.String("apiVersion"),
		connectorProfileName: jsii.String("connectorProfileName"),
		incrementalPullConfig: &incrementalPullConfigProperty{
			datetimeTypeFieldName: jsii.String("datetimeTypeFieldName"),
		},
	},
	tasks: []interface{}{
		&taskProperty{
			sourceFields: []*string{
				jsii.String("sourceFields"),
			},
			taskType: jsii.String("taskType"),

			// the properties below are optional
			connectorOperator: &connectorOperatorProperty{
				amplitude: jsii.String("amplitude"),
				customConnector: jsii.String("customConnector"),
				datadog: jsii.String("datadog"),
				dynatrace: jsii.String("dynatrace"),
				googleAnalytics: jsii.String("googleAnalytics"),
				inforNexus: jsii.String("inforNexus"),
				marketo: jsii.String("marketo"),
				s3: jsii.String("s3"),
				salesforce: jsii.String("salesforce"),
				sapoData: jsii.String("sapoData"),
				serviceNow: jsii.String("serviceNow"),
				singular: jsii.String("singular"),
				slack: jsii.String("slack"),
				trendmicro: jsii.String("trendmicro"),
				veeva: jsii.String("veeva"),
				zendesk: jsii.String("zendesk"),
			},
			destinationField: jsii.String("destinationField"),
			taskProperties: []interface{}{
				&taskPropertiesObjectProperty{
					key: jsii.String("key"),
					value: jsii.String("value"),
				},
			},
		},
	},
	triggerConfig: &triggerConfigProperty{
		triggerType: jsii.String("triggerType"),

		// the properties below are optional
		triggerProperties: &scheduledTriggerPropertiesProperty{
			scheduleExpression: jsii.String("scheduleExpression"),

			// the properties below are optional
			dataPullMode: jsii.String("dataPullMode"),
			firstExecutionFrom: jsii.Number(123),
			flowErrorDeactivationThreshold: jsii.Number(123),
			scheduleEndTime: jsii.Number(123),
			scheduleOffset: jsii.Number(123),
			scheduleStartTime: jsii.Number(123),
			timeZone: jsii.String("timeZone"),
		},
	},

	// the properties below are optional
	description: jsii.String("description"),
	kmsArn: jsii.String("kmsArn"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

type CfnFlow_AggregationConfigProperty

type CfnFlow_AggregationConfigProperty struct {
	// Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
	AggregationType *string `field:"optional" json:"aggregationType" yaml:"aggregationType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

aggregationConfigProperty := &aggregationConfigProperty{
	aggregationType: jsii.String("aggregationType"),
}

type CfnFlow_AmplitudeSourcePropertiesProperty

type CfnFlow_AmplitudeSourcePropertiesProperty struct {
	// The object specified in the Amplitude flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

amplitudeSourcePropertiesProperty := &amplitudeSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_ConnectorOperatorProperty

type CfnFlow_ConnectorOperatorProperty struct {
	// The operation to be performed on the provided Amplitude source fields.
	Amplitude *string `field:"optional" json:"amplitude" yaml:"amplitude"`
	// `CfnFlow.ConnectorOperatorProperty.CustomConnector`.
	CustomConnector *string `field:"optional" json:"customConnector" yaml:"customConnector"`
	// The operation to be performed on the provided Datadog source fields.
	Datadog *string `field:"optional" json:"datadog" yaml:"datadog"`
	// The operation to be performed on the provided Dynatrace source fields.
	Dynatrace *string `field:"optional" json:"dynatrace" yaml:"dynatrace"`
	// The operation to be performed on the provided Google Analytics source fields.
	GoogleAnalytics *string `field:"optional" json:"googleAnalytics" yaml:"googleAnalytics"`
	// The operation to be performed on the provided Infor Nexus source fields.
	InforNexus *string `field:"optional" json:"inforNexus" yaml:"inforNexus"`
	// The operation to be performed on the provided Marketo source fields.
	Marketo *string `field:"optional" json:"marketo" yaml:"marketo"`
	// The operation to be performed on the provided Amazon S3 source fields.
	S3 *string `field:"optional" json:"s3" yaml:"s3"`
	// The operation to be performed on the provided Salesforce source fields.
	Salesforce *string `field:"optional" json:"salesforce" yaml:"salesforce"`
	// The operation to be performed on the provided SAPOData source fields.
	SapoData *string `field:"optional" json:"sapoData" yaml:"sapoData"`
	// The operation to be performed on the provided ServiceNow source fields.
	ServiceNow *string `field:"optional" json:"serviceNow" yaml:"serviceNow"`
	// The operation to be performed on the provided Singular source fields.
	Singular *string `field:"optional" json:"singular" yaml:"singular"`
	// The operation to be performed on the provided Slack source fields.
	Slack *string `field:"optional" json:"slack" yaml:"slack"`
	// The operation to be performed on the provided Trend Micro source fields.
	Trendmicro *string `field:"optional" json:"trendmicro" yaml:"trendmicro"`
	// The operation to be performed on the provided Veeva source fields.
	Veeva *string `field:"optional" json:"veeva" yaml:"veeva"`
	// The operation to be performed on the provided Zendesk source fields.
	Zendesk *string `field:"optional" json:"zendesk" yaml:"zendesk"`
}

The operation to be performed on the provided source fields.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

connectorOperatorProperty := &connectorOperatorProperty{
	amplitude: jsii.String("amplitude"),
	customConnector: jsii.String("customConnector"),
	datadog: jsii.String("datadog"),
	dynatrace: jsii.String("dynatrace"),
	googleAnalytics: jsii.String("googleAnalytics"),
	inforNexus: jsii.String("inforNexus"),
	marketo: jsii.String("marketo"),
	s3: jsii.String("s3"),
	salesforce: jsii.String("salesforce"),
	sapoData: jsii.String("sapoData"),
	serviceNow: jsii.String("serviceNow"),
	singular: jsii.String("singular"),
	slack: jsii.String("slack"),
	trendmicro: jsii.String("trendmicro"),
	veeva: jsii.String("veeva"),
	zendesk: jsii.String("zendesk"),
}

type CfnFlow_CustomConnectorDestinationPropertiesProperty

type CfnFlow_CustomConnectorDestinationPropertiesProperty struct {
	// `CfnFlow.CustomConnectorDestinationPropertiesProperty.EntityName`.
	EntityName *string `field:"required" json:"entityName" yaml:"entityName"`
	// `CfnFlow.CustomConnectorDestinationPropertiesProperty.CustomProperties`.
	CustomProperties interface{} `field:"optional" json:"customProperties" yaml:"customProperties"`
	// `CfnFlow.CustomConnectorDestinationPropertiesProperty.ErrorHandlingConfig`.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
	// `CfnFlow.CustomConnectorDestinationPropertiesProperty.IdFieldNames`.
	IdFieldNames *[]*string `field:"optional" json:"idFieldNames" yaml:"idFieldNames"`
	// `CfnFlow.CustomConnectorDestinationPropertiesProperty.WriteOperationType`.
	WriteOperationType *string `field:"optional" json:"writeOperationType" yaml:"writeOperationType"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

customConnectorDestinationPropertiesProperty := &customConnectorDestinationPropertiesProperty{
	entityName: jsii.String("entityName"),

	// the properties below are optional
	customProperties: customProperties,
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
	idFieldNames: []*string{
		jsii.String("idFieldNames"),
	},
	writeOperationType: jsii.String("writeOperationType"),
}

type CfnFlow_CustomConnectorSourcePropertiesProperty

type CfnFlow_CustomConnectorSourcePropertiesProperty struct {
	// `CfnFlow.CustomConnectorSourcePropertiesProperty.EntityName`.
	EntityName *string `field:"required" json:"entityName" yaml:"entityName"`
	// `CfnFlow.CustomConnectorSourcePropertiesProperty.CustomProperties`.
	CustomProperties interface{} `field:"optional" json:"customProperties" yaml:"customProperties"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

customConnectorSourcePropertiesProperty := &customConnectorSourcePropertiesProperty{
	entityName: jsii.String("entityName"),

	// the properties below are optional
	customProperties: customProperties,
}

type CfnFlow_DatadogSourcePropertiesProperty

type CfnFlow_DatadogSourcePropertiesProperty struct {
	// The object specified in the Datadog flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

datadogSourcePropertiesProperty := &datadogSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_DestinationConnectorPropertiesProperty

type CfnFlow_DestinationConnectorPropertiesProperty struct {
	// `CfnFlow.DestinationConnectorPropertiesProperty.CustomConnector`.
	CustomConnector interface{} `field:"optional" json:"customConnector" yaml:"customConnector"`
	// The properties required to query Amazon EventBridge.
	EventBridge interface{} `field:"optional" json:"eventBridge" yaml:"eventBridge"`
	// The properties required to query Amazon Lookout for Metrics.
	LookoutMetrics interface{} `field:"optional" json:"lookoutMetrics" yaml:"lookoutMetrics"`
	// The properties required to query Marketo.
	Marketo interface{} `field:"optional" json:"marketo" yaml:"marketo"`
	// The properties required to query Amazon Redshift.
	Redshift interface{} `field:"optional" json:"redshift" yaml:"redshift"`
	// The properties required to query Amazon S3.
	S3 interface{} `field:"optional" json:"s3" yaml:"s3"`
	// The properties required to query Salesforce.
	Salesforce interface{} `field:"optional" json:"salesforce" yaml:"salesforce"`
	// The properties required to query SAPOData.
	SapoData interface{} `field:"optional" json:"sapoData" yaml:"sapoData"`
	// The properties required to query Snowflake.
	Snowflake interface{} `field:"optional" json:"snowflake" yaml:"snowflake"`
	// The properties required to query Upsolver.
	Upsolver interface{} `field:"optional" json:"upsolver" yaml:"upsolver"`
	// The properties required to query Zendesk.
	Zendesk interface{} `field:"optional" json:"zendesk" yaml:"zendesk"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

destinationConnectorPropertiesProperty := &destinationConnectorPropertiesProperty{
	customConnector: &customConnectorDestinationPropertiesProperty{
		entityName: jsii.String("entityName"),

		// the properties below are optional
		customProperties: customProperties,
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
		idFieldNames: []*string{
			jsii.String("idFieldNames"),
		},
		writeOperationType: jsii.String("writeOperationType"),
	},
	eventBridge: &eventBridgeDestinationPropertiesProperty{
		object: jsii.String("object"),

		// the properties below are optional
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
	},
	lookoutMetrics: &lookoutMetricsDestinationPropertiesProperty{
		object: jsii.String("object"),
	},
	marketo: &marketoDestinationPropertiesProperty{
		object: jsii.String("object"),

		// the properties below are optional
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
	},
	redshift: &redshiftDestinationPropertiesProperty{
		intermediateBucketName: jsii.String("intermediateBucketName"),
		object: jsii.String("object"),

		// the properties below are optional
		bucketPrefix: jsii.String("bucketPrefix"),
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
	},
	s3: &s3DestinationPropertiesProperty{
		bucketName: jsii.String("bucketName"),

		// the properties below are optional
		bucketPrefix: jsii.String("bucketPrefix"),
		s3OutputFormatConfig: &s3OutputFormatConfigProperty{
			aggregationConfig: &aggregationConfigProperty{
				aggregationType: jsii.String("aggregationType"),
			},
			fileType: jsii.String("fileType"),
			prefixConfig: &prefixConfigProperty{
				prefixFormat: jsii.String("prefixFormat"),
				prefixType: jsii.String("prefixType"),
			},
			preserveSourceDataTyping: jsii.Boolean(false),
		},
	},
	salesforce: &salesforceDestinationPropertiesProperty{
		object: jsii.String("object"),

		// the properties below are optional
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
		idFieldNames: []*string{
			jsii.String("idFieldNames"),
		},
		writeOperationType: jsii.String("writeOperationType"),
	},
	sapoData: &sAPODataDestinationPropertiesProperty{
		objectPath: jsii.String("objectPath"),

		// the properties below are optional
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
		idFieldNames: []*string{
			jsii.String("idFieldNames"),
		},
		successResponseHandlingConfig: &successResponseHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
		},
		writeOperationType: jsii.String("writeOperationType"),
	},
	snowflake: &snowflakeDestinationPropertiesProperty{
		intermediateBucketName: jsii.String("intermediateBucketName"),
		object: jsii.String("object"),

		// the properties below are optional
		bucketPrefix: jsii.String("bucketPrefix"),
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
	},
	upsolver: &upsolverDestinationPropertiesProperty{
		bucketName: jsii.String("bucketName"),
		s3OutputFormatConfig: &upsolverS3OutputFormatConfigProperty{
			prefixConfig: &prefixConfigProperty{
				prefixFormat: jsii.String("prefixFormat"),
				prefixType: jsii.String("prefixType"),
			},

			// the properties below are optional
			aggregationConfig: &aggregationConfigProperty{
				aggregationType: jsii.String("aggregationType"),
			},
			fileType: jsii.String("fileType"),
		},

		// the properties below are optional
		bucketPrefix: jsii.String("bucketPrefix"),
	},
	zendesk: &zendeskDestinationPropertiesProperty{
		object: jsii.String("object"),

		// the properties below are optional
		errorHandlingConfig: &errorHandlingConfigProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),
			failOnFirstError: jsii.Boolean(false),
		},
		idFieldNames: []*string{
			jsii.String("idFieldNames"),
		},
		writeOperationType: jsii.String("writeOperationType"),
	},
}

type CfnFlow_DestinationFlowConfigProperty

type CfnFlow_DestinationFlowConfigProperty struct {
	// The type of destination connector, such as Sales force, Amazon S3, and so on.
	//
	// *Allowed Values* : `EventBridge | Redshift | S3 | Salesforce | Snowflake`.
	ConnectorType *string `field:"required" json:"connectorType" yaml:"connectorType"`
	// This stores the information that is required to query a particular connector.
	DestinationConnectorProperties interface{} `field:"required" json:"destinationConnectorProperties" yaml:"destinationConnectorProperties"`
	// `CfnFlow.DestinationFlowConfigProperty.ApiVersion`.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
	// The name of the connector profile.
	//
	// This name must be unique for each connector profile in the AWS account .
	ConnectorProfileName *string `field:"optional" json:"connectorProfileName" yaml:"connectorProfileName"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

destinationFlowConfigProperty := &destinationFlowConfigProperty{
	connectorType: jsii.String("connectorType"),
	destinationConnectorProperties: &destinationConnectorPropertiesProperty{
		customConnector: &customConnectorDestinationPropertiesProperty{
			entityName: jsii.String("entityName"),

			// the properties below are optional
			customProperties: customProperties,
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
			idFieldNames: []*string{
				jsii.String("idFieldNames"),
			},
			writeOperationType: jsii.String("writeOperationType"),
		},
		eventBridge: &eventBridgeDestinationPropertiesProperty{
			object: jsii.String("object"),

			// the properties below are optional
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
		},
		lookoutMetrics: &lookoutMetricsDestinationPropertiesProperty{
			object: jsii.String("object"),
		},
		marketo: &marketoDestinationPropertiesProperty{
			object: jsii.String("object"),

			// the properties below are optional
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
		},
		redshift: &redshiftDestinationPropertiesProperty{
			intermediateBucketName: jsii.String("intermediateBucketName"),
			object: jsii.String("object"),

			// the properties below are optional
			bucketPrefix: jsii.String("bucketPrefix"),
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
		},
		s3: &s3DestinationPropertiesProperty{
			bucketName: jsii.String("bucketName"),

			// the properties below are optional
			bucketPrefix: jsii.String("bucketPrefix"),
			s3OutputFormatConfig: &s3OutputFormatConfigProperty{
				aggregationConfig: &aggregationConfigProperty{
					aggregationType: jsii.String("aggregationType"),
				},
				fileType: jsii.String("fileType"),
				prefixConfig: &prefixConfigProperty{
					prefixFormat: jsii.String("prefixFormat"),
					prefixType: jsii.String("prefixType"),
				},
				preserveSourceDataTyping: jsii.Boolean(false),
			},
		},
		salesforce: &salesforceDestinationPropertiesProperty{
			object: jsii.String("object"),

			// the properties below are optional
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
			idFieldNames: []*string{
				jsii.String("idFieldNames"),
			},
			writeOperationType: jsii.String("writeOperationType"),
		},
		sapoData: &sAPODataDestinationPropertiesProperty{
			objectPath: jsii.String("objectPath"),

			// the properties below are optional
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
			idFieldNames: []*string{
				jsii.String("idFieldNames"),
			},
			successResponseHandlingConfig: &successResponseHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
			},
			writeOperationType: jsii.String("writeOperationType"),
		},
		snowflake: &snowflakeDestinationPropertiesProperty{
			intermediateBucketName: jsii.String("intermediateBucketName"),
			object: jsii.String("object"),

			// the properties below are optional
			bucketPrefix: jsii.String("bucketPrefix"),
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
		},
		upsolver: &upsolverDestinationPropertiesProperty{
			bucketName: jsii.String("bucketName"),
			s3OutputFormatConfig: &upsolverS3OutputFormatConfigProperty{
				prefixConfig: &prefixConfigProperty{
					prefixFormat: jsii.String("prefixFormat"),
					prefixType: jsii.String("prefixType"),
				},

				// the properties below are optional
				aggregationConfig: &aggregationConfigProperty{
					aggregationType: jsii.String("aggregationType"),
				},
				fileType: jsii.String("fileType"),
			},

			// the properties below are optional
			bucketPrefix: jsii.String("bucketPrefix"),
		},
		zendesk: &zendeskDestinationPropertiesProperty{
			object: jsii.String("object"),

			// the properties below are optional
			errorHandlingConfig: &errorHandlingConfigProperty{
				bucketName: jsii.String("bucketName"),
				bucketPrefix: jsii.String("bucketPrefix"),
				failOnFirstError: jsii.Boolean(false),
			},
			idFieldNames: []*string{
				jsii.String("idFieldNames"),
			},
			writeOperationType: jsii.String("writeOperationType"),
		},
	},

	// the properties below are optional
	apiVersion: jsii.String("apiVersion"),
	connectorProfileName: jsii.String("connectorProfileName"),
}

type CfnFlow_DynatraceSourcePropertiesProperty

type CfnFlow_DynatraceSourcePropertiesProperty struct {
	// The object specified in the Dynatrace flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dynatraceSourcePropertiesProperty := &dynatraceSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_ErrorHandlingConfigProperty

type CfnFlow_ErrorHandlingConfigProperty struct {
	// Specifies the name of the Amazon S3 bucket.
	BucketName *string `field:"optional" json:"bucketName" yaml:"bucketName"`
	// Specifies the Amazon S3 bucket prefix.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
	// Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
	FailOnFirstError interface{} `field:"optional" json:"failOnFirstError" yaml:"failOnFirstError"`
}

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

For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

errorHandlingConfigProperty := &errorHandlingConfigProperty{
	bucketName: jsii.String("bucketName"),
	bucketPrefix: jsii.String("bucketPrefix"),
	failOnFirstError: jsii.Boolean(false),
}

type CfnFlow_EventBridgeDestinationPropertiesProperty

type CfnFlow_EventBridgeDestinationPropertiesProperty struct {
	// The object specified in the Amazon EventBridge flow destination.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The object specified in the Amplitude flow source.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

eventBridgeDestinationPropertiesProperty := &eventBridgeDestinationPropertiesProperty{
	object: jsii.String("object"),

	// the properties below are optional
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
}

type CfnFlow_GoogleAnalyticsSourcePropertiesProperty

type CfnFlow_GoogleAnalyticsSourcePropertiesProperty struct {
	// The object specified in the Google Analytics flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

googleAnalyticsSourcePropertiesProperty := &googleAnalyticsSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_IncrementalPullConfigProperty

type CfnFlow_IncrementalPullConfigProperty struct {
	// A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.
	DatetimeTypeFieldName *string `field:"optional" json:"datetimeTypeFieldName" yaml:"datetimeTypeFieldName"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

incrementalPullConfigProperty := &incrementalPullConfigProperty{
	datetimeTypeFieldName: jsii.String("datetimeTypeFieldName"),
}

type CfnFlow_InforNexusSourcePropertiesProperty

type CfnFlow_InforNexusSourcePropertiesProperty struct {
	// The object specified in the Infor Nexus flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inforNexusSourcePropertiesProperty := &inforNexusSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_LookoutMetricsDestinationPropertiesProperty

type CfnFlow_LookoutMetricsDestinationPropertiesProperty struct {
	// The object specified in the Amazon Lookout for Metrics flow destination.
	Object *string `field:"optional" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

lookoutMetricsDestinationPropertiesProperty := &lookoutMetricsDestinationPropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_MarketoDestinationPropertiesProperty

type CfnFlow_MarketoDestinationPropertiesProperty struct {
	// The object specified in the Marketo flow destination.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

marketoDestinationPropertiesProperty := &marketoDestinationPropertiesProperty{
	object: jsii.String("object"),

	// the properties below are optional
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
}

type CfnFlow_MarketoSourcePropertiesProperty

type CfnFlow_MarketoSourcePropertiesProperty struct {
	// The object specified in the Marketo flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

marketoSourcePropertiesProperty := &marketoSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_PrefixConfigProperty

type CfnFlow_PrefixConfigProperty struct {
	// Determines the level of granularity that's included in the prefix.
	PrefixFormat *string `field:"optional" json:"prefixFormat" yaml:"prefixFormat"`
	// Determines the format of the prefix, and whether it applies to the file name, file path, or both.
	PrefixType *string `field:"optional" json:"prefixType" yaml:"prefixType"`
}

Determines the prefix that Amazon AppFlow applies to the destination folder name.

You can name your destination folders according to the flow frequency and date.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

prefixConfigProperty := &prefixConfigProperty{
	prefixFormat: jsii.String("prefixFormat"),
	prefixType: jsii.String("prefixType"),
}

type CfnFlow_RedshiftDestinationPropertiesProperty

type CfnFlow_RedshiftDestinationPropertiesProperty struct {
	// The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.
	IntermediateBucketName *string `field:"required" json:"intermediateBucketName" yaml:"intermediateBucketName"`
	// The object specified in the Amazon Redshift flow destination.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The object key for the bucket in which Amazon AppFlow places the destination files.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

redshiftDestinationPropertiesProperty := &redshiftDestinationPropertiesProperty{
	intermediateBucketName: jsii.String("intermediateBucketName"),
	object: jsii.String("object"),

	// the properties below are optional
	bucketPrefix: jsii.String("bucketPrefix"),
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
}

type CfnFlow_S3DestinationPropertiesProperty

type CfnFlow_S3DestinationPropertiesProperty struct {
	// The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The object key for the destination bucket in which Amazon AppFlow places the files.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
	// The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.
	S3OutputFormatConfig interface{} `field:"optional" json:"s3OutputFormatConfig" yaml:"s3OutputFormatConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3DestinationPropertiesProperty := &s3DestinationPropertiesProperty{
	bucketName: jsii.String("bucketName"),

	// the properties below are optional
	bucketPrefix: jsii.String("bucketPrefix"),
	s3OutputFormatConfig: &s3OutputFormatConfigProperty{
		aggregationConfig: &aggregationConfigProperty{
			aggregationType: jsii.String("aggregationType"),
		},
		fileType: jsii.String("fileType"),
		prefixConfig: &prefixConfigProperty{
			prefixFormat: jsii.String("prefixFormat"),
			prefixType: jsii.String("prefixType"),
		},
		preserveSourceDataTyping: jsii.Boolean(false),
	},
}

type CfnFlow_S3InputFormatConfigProperty

type CfnFlow_S3InputFormatConfigProperty struct {
	// The file type that Amazon AppFlow gets from your Amazon S3 bucket.
	S3InputFileType *string `field:"optional" json:"s3InputFileType" yaml:"s3InputFileType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3InputFormatConfigProperty := &s3InputFormatConfigProperty{
	s3InputFileType: jsii.String("s3InputFileType"),
}

type CfnFlow_S3OutputFormatConfigProperty

type CfnFlow_S3OutputFormatConfigProperty struct {
	// The aggregation settings that you can use to customize the output format of your flow data.
	AggregationConfig interface{} `field:"optional" json:"aggregationConfig" yaml:"aggregationConfig"`
	// Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.
	FileType *string `field:"optional" json:"fileType" yaml:"fileType"`
	// Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket.
	//
	// You can name folders according to the flow frequency and date.
	PrefixConfig interface{} `field:"optional" json:"prefixConfig" yaml:"prefixConfig"`
	// `CfnFlow.S3OutputFormatConfigProperty.PreserveSourceDataTyping`.
	PreserveSourceDataTyping interface{} `field:"optional" json:"preserveSourceDataTyping" yaml:"preserveSourceDataTyping"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3OutputFormatConfigProperty := &s3OutputFormatConfigProperty{
	aggregationConfig: &aggregationConfigProperty{
		aggregationType: jsii.String("aggregationType"),
	},
	fileType: jsii.String("fileType"),
	prefixConfig: &prefixConfigProperty{
		prefixFormat: jsii.String("prefixFormat"),
		prefixType: jsii.String("prefixType"),
	},
	preserveSourceDataTyping: jsii.Boolean(false),
}

type CfnFlow_S3SourcePropertiesProperty

type CfnFlow_S3SourcePropertiesProperty struct {
	// The Amazon S3 bucket name where the source files are stored.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The object key for the Amazon S3 bucket in which the source files are stored.
	BucketPrefix *string `field:"required" json:"bucketPrefix" yaml:"bucketPrefix"`
	// When you use Amazon S3 as the source, the configuration format that you provide the flow input data.
	S3InputFormatConfig interface{} `field:"optional" json:"s3InputFormatConfig" yaml:"s3InputFormatConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3SourcePropertiesProperty := &s3SourcePropertiesProperty{
	bucketName: jsii.String("bucketName"),
	bucketPrefix: jsii.String("bucketPrefix"),

	// the properties below are optional
	s3InputFormatConfig: &s3InputFormatConfigProperty{
		s3InputFileType: jsii.String("s3InputFileType"),
	},
}

type CfnFlow_SAPODataDestinationPropertiesProperty

type CfnFlow_SAPODataDestinationPropertiesProperty struct {
	// The object path specified in the SAPOData flow destination.
	ObjectPath *string `field:"required" json:"objectPath" yaml:"objectPath"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
	// A list of field names that can be used as an ID field when performing a write operation.
	IdFieldNames *[]*string `field:"optional" json:"idFieldNames" yaml:"idFieldNames"`
	// Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.
	//
	// For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.
	SuccessResponseHandlingConfig interface{} `field:"optional" json:"successResponseHandlingConfig" yaml:"successResponseHandlingConfig"`
	// The possible write operations in the destination connector.
	//
	// When this value is not provided, this defaults to the `INSERT` operation.
	WriteOperationType *string `field:"optional" json:"writeOperationType" yaml:"writeOperationType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sAPODataDestinationPropertiesProperty := &sAPODataDestinationPropertiesProperty{
	objectPath: jsii.String("objectPath"),

	// the properties below are optional
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
	idFieldNames: []*string{
		jsii.String("idFieldNames"),
	},
	successResponseHandlingConfig: &successResponseHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
	},
	writeOperationType: jsii.String("writeOperationType"),
}

type CfnFlow_SAPODataSourcePropertiesProperty

type CfnFlow_SAPODataSourcePropertiesProperty struct {
	// The object path specified in the SAPOData flow source.
	ObjectPath *string `field:"required" json:"objectPath" yaml:"objectPath"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sAPODataSourcePropertiesProperty := &sAPODataSourcePropertiesProperty{
	objectPath: jsii.String("objectPath"),
}

type CfnFlow_SalesforceDestinationPropertiesProperty

type CfnFlow_SalesforceDestinationPropertiesProperty struct {
	// The object specified in the Salesforce flow destination.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
	// The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
	IdFieldNames *[]*string `field:"optional" json:"idFieldNames" yaml:"idFieldNames"`
	// This specifies the type of write operation to be performed in Salesforce.
	//
	// When the value is `UPSERT` , then `idFieldNames` is required.
	WriteOperationType *string `field:"optional" json:"writeOperationType" yaml:"writeOperationType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

salesforceDestinationPropertiesProperty := &salesforceDestinationPropertiesProperty{
	object: jsii.String("object"),

	// the properties below are optional
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
	idFieldNames: []*string{
		jsii.String("idFieldNames"),
	},
	writeOperationType: jsii.String("writeOperationType"),
}

type CfnFlow_SalesforceSourcePropertiesProperty

type CfnFlow_SalesforceSourcePropertiesProperty struct {
	// The object specified in the Salesforce flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.
	EnableDynamicFieldUpdate interface{} `field:"optional" json:"enableDynamicFieldUpdate" yaml:"enableDynamicFieldUpdate"`
	// Indicates whether Amazon AppFlow includes deleted files in the flow run.
	IncludeDeletedRecords interface{} `field:"optional" json:"includeDeletedRecords" yaml:"includeDeletedRecords"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

salesforceSourcePropertiesProperty := &salesforceSourcePropertiesProperty{
	object: jsii.String("object"),

	// the properties below are optional
	enableDynamicFieldUpdate: jsii.Boolean(false),
	includeDeletedRecords: jsii.Boolean(false),
}

type CfnFlow_ScheduledTriggerPropertiesProperty

type CfnFlow_ScheduledTriggerPropertiesProperty struct {
	// The scheduling expression that determines the rate at which the schedule will run, for example `rate(5minutes)` .
	ScheduleExpression *string `field:"required" json:"scheduleExpression" yaml:"scheduleExpression"`
	// Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.
	DataPullMode *string `field:"optional" json:"dataPullMode" yaml:"dataPullMode"`
	// `CfnFlow.ScheduledTriggerPropertiesProperty.FirstExecutionFrom`.
	FirstExecutionFrom *float64 `field:"optional" json:"firstExecutionFrom" yaml:"firstExecutionFrom"`
	// `CfnFlow.ScheduledTriggerPropertiesProperty.FlowErrorDeactivationThreshold`.
	FlowErrorDeactivationThreshold *float64 `field:"optional" json:"flowErrorDeactivationThreshold" yaml:"flowErrorDeactivationThreshold"`
	// The time at which the scheduled flow ends.
	//
	// The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-27T13:00:00-07:00` .
	ScheduleEndTime *float64 `field:"optional" json:"scheduleEndTime" yaml:"scheduleEndTime"`
	// Specifies the optional offset that is added to the time interval for a schedule-triggered flow.
	ScheduleOffset *float64 `field:"optional" json:"scheduleOffset" yaml:"scheduleOffset"`
	// The time at which the scheduled flow starts.
	//
	// The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-26T13:00:00-07:00` .
	ScheduleStartTime *float64 `field:"optional" json:"scheduleStartTime" yaml:"scheduleStartTime"`
	// Specifies the time zone used when referring to the dates and times of a scheduled flow, such as `America/New_York` .
	//
	// This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.
	//
	// If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the `America/New_York` timezone are `-04:00` EDT and `-05:00 EST` .
	TimeZone *string `field:"optional" json:"timeZone" yaml:"timeZone"`
}

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

Currently, these settings only apply to the `Scheduled` trigger type.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

scheduledTriggerPropertiesProperty := &scheduledTriggerPropertiesProperty{
	scheduleExpression: jsii.String("scheduleExpression"),

	// the properties below are optional
	dataPullMode: jsii.String("dataPullMode"),
	firstExecutionFrom: jsii.Number(123),
	flowErrorDeactivationThreshold: jsii.Number(123),
	scheduleEndTime: jsii.Number(123),
	scheduleOffset: jsii.Number(123),
	scheduleStartTime: jsii.Number(123),
	timeZone: jsii.String("timeZone"),
}

type CfnFlow_ServiceNowSourcePropertiesProperty

type CfnFlow_ServiceNowSourcePropertiesProperty struct {
	// The object specified in the ServiceNow flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

serviceNowSourcePropertiesProperty := &serviceNowSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_SingularSourcePropertiesProperty

type CfnFlow_SingularSourcePropertiesProperty struct {
	// The object specified in the Singular flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

singularSourcePropertiesProperty := &singularSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_SlackSourcePropertiesProperty

type CfnFlow_SlackSourcePropertiesProperty struct {
	// The object specified in the Slack flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slackSourcePropertiesProperty := &slackSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_SnowflakeDestinationPropertiesProperty

type CfnFlow_SnowflakeDestinationPropertiesProperty struct {
	// The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.
	IntermediateBucketName *string `field:"required" json:"intermediateBucketName" yaml:"intermediateBucketName"`
	// The object specified in the Snowflake flow destination.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The object key for the destination bucket in which Amazon AppFlow places the files.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

snowflakeDestinationPropertiesProperty := &snowflakeDestinationPropertiesProperty{
	intermediateBucketName: jsii.String("intermediateBucketName"),
	object: jsii.String("object"),

	// the properties below are optional
	bucketPrefix: jsii.String("bucketPrefix"),
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
}

type CfnFlow_SourceConnectorPropertiesProperty

type CfnFlow_SourceConnectorPropertiesProperty struct {
	// Specifies the information that is required for querying Amplitude.
	Amplitude interface{} `field:"optional" json:"amplitude" yaml:"amplitude"`
	// `CfnFlow.SourceConnectorPropertiesProperty.CustomConnector`.
	CustomConnector interface{} `field:"optional" json:"customConnector" yaml:"customConnector"`
	// Specifies the information that is required for querying Datadog.
	Datadog interface{} `field:"optional" json:"datadog" yaml:"datadog"`
	// Specifies the information that is required for querying Dynatrace.
	Dynatrace interface{} `field:"optional" json:"dynatrace" yaml:"dynatrace"`
	// Specifies the information that is required for querying Google Analytics.
	GoogleAnalytics interface{} `field:"optional" json:"googleAnalytics" yaml:"googleAnalytics"`
	// Specifies the information that is required for querying Infor Nexus.
	InforNexus interface{} `field:"optional" json:"inforNexus" yaml:"inforNexus"`
	// Specifies the information that is required for querying Marketo.
	Marketo interface{} `field:"optional" json:"marketo" yaml:"marketo"`
	// Specifies the information that is required for querying Amazon S3.
	S3 interface{} `field:"optional" json:"s3" yaml:"s3"`
	// Specifies the information that is required for querying Salesforce.
	Salesforce interface{} `field:"optional" json:"salesforce" yaml:"salesforce"`
	// The properties that are applied when using SAPOData as a flow source.
	SapoData interface{} `field:"optional" json:"sapoData" yaml:"sapoData"`
	// Specifies the information that is required for querying ServiceNow.
	ServiceNow interface{} `field:"optional" json:"serviceNow" yaml:"serviceNow"`
	// Specifies the information that is required for querying Singular.
	Singular interface{} `field:"optional" json:"singular" yaml:"singular"`
	// Specifies the information that is required for querying Slack.
	Slack interface{} `field:"optional" json:"slack" yaml:"slack"`
	// Specifies the information that is required for querying Trend Micro.
	Trendmicro interface{} `field:"optional" json:"trendmicro" yaml:"trendmicro"`
	// Specifies the information that is required for querying Veeva.
	Veeva interface{} `field:"optional" json:"veeva" yaml:"veeva"`
	// Specifies the information that is required for querying Zendesk.
	Zendesk interface{} `field:"optional" json:"zendesk" yaml:"zendesk"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

sourceConnectorPropertiesProperty := &sourceConnectorPropertiesProperty{
	amplitude: &amplitudeSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	customConnector: &customConnectorSourcePropertiesProperty{
		entityName: jsii.String("entityName"),

		// the properties below are optional
		customProperties: customProperties,
	},
	datadog: &datadogSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	dynatrace: &dynatraceSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	googleAnalytics: &googleAnalyticsSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	inforNexus: &inforNexusSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	marketo: &marketoSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	s3: &s3SourcePropertiesProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),

		// the properties below are optional
		s3InputFormatConfig: &s3InputFormatConfigProperty{
			s3InputFileType: jsii.String("s3InputFileType"),
		},
	},
	salesforce: &salesforceSourcePropertiesProperty{
		object: jsii.String("object"),

		// the properties below are optional
		enableDynamicFieldUpdate: jsii.Boolean(false),
		includeDeletedRecords: jsii.Boolean(false),
	},
	sapoData: &sAPODataSourcePropertiesProperty{
		objectPath: jsii.String("objectPath"),
	},
	serviceNow: &serviceNowSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	singular: &singularSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	slack: &slackSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	trendmicro: &trendmicroSourcePropertiesProperty{
		object: jsii.String("object"),
	},
	veeva: &veevaSourcePropertiesProperty{
		object: jsii.String("object"),

		// the properties below are optional
		documentType: jsii.String("documentType"),
		includeAllVersions: jsii.Boolean(false),
		includeRenditions: jsii.Boolean(false),
		includeSourceFiles: jsii.Boolean(false),
	},
	zendesk: &zendeskSourcePropertiesProperty{
		object: jsii.String("object"),
	},
}

type CfnFlow_SourceFlowConfigProperty

type CfnFlow_SourceFlowConfigProperty struct {
	// The type of source connector, such as Salesforce, Amplitude, and so on.
	//
	// *Allowed Values* : S3 | Amplitude | Datadog | Dynatrace | Googleanalytics | Infornexus | Salesforce | Servicenow | Singular | Slack | Trendmicro | Veeva | Zendesk.
	ConnectorType *string `field:"required" json:"connectorType" yaml:"connectorType"`
	// Specifies the information that is required to query a particular source connector.
	SourceConnectorProperties interface{} `field:"required" json:"sourceConnectorProperties" yaml:"sourceConnectorProperties"`
	// `CfnFlow.SourceFlowConfigProperty.ApiVersion`.
	ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"`
	// The name of the connector profile.
	//
	// This name must be unique for each connector profile in the AWS account .
	ConnectorProfileName *string `field:"optional" json:"connectorProfileName" yaml:"connectorProfileName"`
	// Defines the configuration for a scheduled incremental data pull.
	//
	// If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.
	IncrementalPullConfig interface{} `field:"optional" json:"incrementalPullConfig" yaml:"incrementalPullConfig"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var customProperties interface{}

sourceFlowConfigProperty := &sourceFlowConfigProperty{
	connectorType: jsii.String("connectorType"),
	sourceConnectorProperties: &sourceConnectorPropertiesProperty{
		amplitude: &amplitudeSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		customConnector: &customConnectorSourcePropertiesProperty{
			entityName: jsii.String("entityName"),

			// the properties below are optional
			customProperties: customProperties,
		},
		datadog: &datadogSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		dynatrace: &dynatraceSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		googleAnalytics: &googleAnalyticsSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		inforNexus: &inforNexusSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		marketo: &marketoSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		s3: &s3SourcePropertiesProperty{
			bucketName: jsii.String("bucketName"),
			bucketPrefix: jsii.String("bucketPrefix"),

			// the properties below are optional
			s3InputFormatConfig: &s3InputFormatConfigProperty{
				s3InputFileType: jsii.String("s3InputFileType"),
			},
		},
		salesforce: &salesforceSourcePropertiesProperty{
			object: jsii.String("object"),

			// the properties below are optional
			enableDynamicFieldUpdate: jsii.Boolean(false),
			includeDeletedRecords: jsii.Boolean(false),
		},
		sapoData: &sAPODataSourcePropertiesProperty{
			objectPath: jsii.String("objectPath"),
		},
		serviceNow: &serviceNowSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		singular: &singularSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		slack: &slackSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		trendmicro: &trendmicroSourcePropertiesProperty{
			object: jsii.String("object"),
		},
		veeva: &veevaSourcePropertiesProperty{
			object: jsii.String("object"),

			// the properties below are optional
			documentType: jsii.String("documentType"),
			includeAllVersions: jsii.Boolean(false),
			includeRenditions: jsii.Boolean(false),
			includeSourceFiles: jsii.Boolean(false),
		},
		zendesk: &zendeskSourcePropertiesProperty{
			object: jsii.String("object"),
		},
	},

	// the properties below are optional
	apiVersion: jsii.String("apiVersion"),
	connectorProfileName: jsii.String("connectorProfileName"),
	incrementalPullConfig: &incrementalPullConfigProperty{
		datetimeTypeFieldName: jsii.String("datetimeTypeFieldName"),
	},
}

type CfnFlow_SuccessResponseHandlingConfigProperty

type CfnFlow_SuccessResponseHandlingConfigProperty struct {
	// The name of the Amazon S3 bucket.
	BucketName *string `field:"optional" json:"bucketName" yaml:"bucketName"`
	// The Amazon S3 bucket prefix.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
}

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

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

successResponseHandlingConfigProperty := &successResponseHandlingConfigProperty{
	bucketName: jsii.String("bucketName"),
	bucketPrefix: jsii.String("bucketPrefix"),
}

type CfnFlow_TaskPropertiesObjectProperty

type CfnFlow_TaskPropertiesObjectProperty struct {
	// The task property key.
	//
	// *Allowed Values* : `VALUE | VALUES | DATA_TYPE | UPPER_BOUND | LOWER_BOUND | SOURCE_DATA_TYPE | DESTINATION_DATA_TYPE | VALIDATION_ACTION | MASK_VALUE | MASK_LENGTH | TRUNCATE_LENGTH | MATH_OPERATION_FIELDS_ORDER | CONCAT_FORMAT | SUBFIELD_CATEGORY_MAP` | `EXCLUDE_SOURCE_FIELDS_LIST`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// The task property value.
	Value *string `field:"required" json:"value" yaml:"value"`
}

A map used to store task-related information.

The execution service looks for particular information based on the `TaskType` .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

taskPropertiesObjectProperty := &taskPropertiesObjectProperty{
	key: jsii.String("key"),
	value: jsii.String("value"),
}

type CfnFlow_TaskProperty

type CfnFlow_TaskProperty struct {
	// The source fields to which a particular task is applied.
	SourceFields *[]*string `field:"required" json:"sourceFields" yaml:"sourceFields"`
	// Specifies the particular task implementation that Amazon AppFlow performs.
	//
	// *Allowed values* : `Arithmetic` | `Filter` | `Map` | `Map_all` | `Mask` | `Merge` | `Truncate` | `Validate`.
	TaskType *string `field:"required" json:"taskType" yaml:"taskType"`
	// The operation to be performed on the provided source fields.
	ConnectorOperator interface{} `field:"optional" json:"connectorOperator" yaml:"connectorOperator"`
	// A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
	DestinationField *string `field:"optional" json:"destinationField" yaml:"destinationField"`
	// A map used to store task-related information.
	//
	// The execution service looks for particular information based on the `TaskType` .
	TaskProperties interface{} `field:"optional" json:"taskProperties" yaml:"taskProperties"`
}

A class for modeling different type of tasks.

Task implementation varies based on the `TaskType` .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

taskProperty := &taskProperty{
	sourceFields: []*string{
		jsii.String("sourceFields"),
	},
	taskType: jsii.String("taskType"),

	// the properties below are optional
	connectorOperator: &connectorOperatorProperty{
		amplitude: jsii.String("amplitude"),
		customConnector: jsii.String("customConnector"),
		datadog: jsii.String("datadog"),
		dynatrace: jsii.String("dynatrace"),
		googleAnalytics: jsii.String("googleAnalytics"),
		inforNexus: jsii.String("inforNexus"),
		marketo: jsii.String("marketo"),
		s3: jsii.String("s3"),
		salesforce: jsii.String("salesforce"),
		sapoData: jsii.String("sapoData"),
		serviceNow: jsii.String("serviceNow"),
		singular: jsii.String("singular"),
		slack: jsii.String("slack"),
		trendmicro: jsii.String("trendmicro"),
		veeva: jsii.String("veeva"),
		zendesk: jsii.String("zendesk"),
	},
	destinationField: jsii.String("destinationField"),
	taskProperties: []interface{}{
		&taskPropertiesObjectProperty{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

type CfnFlow_TrendmicroSourcePropertiesProperty

type CfnFlow_TrendmicroSourcePropertiesProperty struct {
	// The object specified in the Trend Micro flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

trendmicroSourcePropertiesProperty := &trendmicroSourcePropertiesProperty{
	object: jsii.String("object"),
}

type CfnFlow_TriggerConfigProperty

type CfnFlow_TriggerConfigProperty struct {
	// Specifies the type of flow trigger.
	//
	// This can be `OnDemand` , `Scheduled` , or `Event` .
	TriggerType *string `field:"required" json:"triggerType" yaml:"triggerType"`
	// Specifies the configuration details of a schedule-triggered flow as defined by the user.
	//
	// Currently, these settings only apply to the `Scheduled` trigger type.
	TriggerProperties interface{} `field:"optional" json:"triggerProperties" yaml:"triggerProperties"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

triggerConfigProperty := &triggerConfigProperty{
	triggerType: jsii.String("triggerType"),

	// the properties below are optional
	triggerProperties: &scheduledTriggerPropertiesProperty{
		scheduleExpression: jsii.String("scheduleExpression"),

		// the properties below are optional
		dataPullMode: jsii.String("dataPullMode"),
		firstExecutionFrom: jsii.Number(123),
		flowErrorDeactivationThreshold: jsii.Number(123),
		scheduleEndTime: jsii.Number(123),
		scheduleOffset: jsii.Number(123),
		scheduleStartTime: jsii.Number(123),
		timeZone: jsii.String("timeZone"),
	},
}

type CfnFlow_UpsolverDestinationPropertiesProperty

type CfnFlow_UpsolverDestinationPropertiesProperty struct {
	// The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The configuration that determines how data is formatted when Upsolver is used as the flow destination.
	S3OutputFormatConfig interface{} `field:"required" json:"s3OutputFormatConfig" yaml:"s3OutputFormatConfig"`
	// The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.
	BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

upsolverDestinationPropertiesProperty := &upsolverDestinationPropertiesProperty{
	bucketName: jsii.String("bucketName"),
	s3OutputFormatConfig: &upsolverS3OutputFormatConfigProperty{
		prefixConfig: &prefixConfigProperty{
			prefixFormat: jsii.String("prefixFormat"),
			prefixType: jsii.String("prefixType"),
		},

		// the properties below are optional
		aggregationConfig: &aggregationConfigProperty{
			aggregationType: jsii.String("aggregationType"),
		},
		fileType: jsii.String("fileType"),
	},

	// the properties below are optional
	bucketPrefix: jsii.String("bucketPrefix"),
}

type CfnFlow_UpsolverS3OutputFormatConfigProperty

type CfnFlow_UpsolverS3OutputFormatConfigProperty struct {
	// Determines the prefix that Amazon AppFlow applies to the destination folder name.
	//
	// You can name your destination folders according to the flow frequency and date.
	PrefixConfig interface{} `field:"required" json:"prefixConfig" yaml:"prefixConfig"`
	// The aggregation settings that you can use to customize the output format of your flow data.
	AggregationConfig interface{} `field:"optional" json:"aggregationConfig" yaml:"aggregationConfig"`
	// Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.
	FileType *string `field:"optional" json:"fileType" yaml:"fileType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

upsolverS3OutputFormatConfigProperty := &upsolverS3OutputFormatConfigProperty{
	prefixConfig: &prefixConfigProperty{
		prefixFormat: jsii.String("prefixFormat"),
		prefixType: jsii.String("prefixType"),
	},

	// the properties below are optional
	aggregationConfig: &aggregationConfigProperty{
		aggregationType: jsii.String("aggregationType"),
	},
	fileType: jsii.String("fileType"),
}

type CfnFlow_VeevaSourcePropertiesProperty

type CfnFlow_VeevaSourcePropertiesProperty struct {
	// The object specified in the Veeva flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The document type specified in the Veeva document extract flow.
	DocumentType *string `field:"optional" json:"documentType" yaml:"documentType"`
	// Boolean value to include All Versions of files in Veeva document extract flow.
	IncludeAllVersions interface{} `field:"optional" json:"includeAllVersions" yaml:"includeAllVersions"`
	// Boolean value to include file renditions in Veeva document extract flow.
	IncludeRenditions interface{} `field:"optional" json:"includeRenditions" yaml:"includeRenditions"`
	// Boolean value to include source files in Veeva document extract flow.
	IncludeSourceFiles interface{} `field:"optional" json:"includeSourceFiles" yaml:"includeSourceFiles"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

veevaSourcePropertiesProperty := &veevaSourcePropertiesProperty{
	object: jsii.String("object"),

	// the properties below are optional
	documentType: jsii.String("documentType"),
	includeAllVersions: jsii.Boolean(false),
	includeRenditions: jsii.Boolean(false),
	includeSourceFiles: jsii.Boolean(false),
}

type CfnFlow_ZendeskDestinationPropertiesProperty

type CfnFlow_ZendeskDestinationPropertiesProperty struct {
	// The object specified in the Zendesk flow destination.
	Object *string `field:"required" json:"object" yaml:"object"`
	// The settings that determine how Amazon AppFlow handles an error when placing data in the destination.
	//
	// For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.
	ErrorHandlingConfig interface{} `field:"optional" json:"errorHandlingConfig" yaml:"errorHandlingConfig"`
	// A list of field names that can be used as an ID field when performing a write operation.
	IdFieldNames *[]*string `field:"optional" json:"idFieldNames" yaml:"idFieldNames"`
	// The possible write operations in the destination connector.
	//
	// When this value is not provided, this defaults to the `INSERT` operation.
	WriteOperationType *string `field:"optional" json:"writeOperationType" yaml:"writeOperationType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

zendeskDestinationPropertiesProperty := &zendeskDestinationPropertiesProperty{
	object: jsii.String("object"),

	// the properties below are optional
	errorHandlingConfig: &errorHandlingConfigProperty{
		bucketName: jsii.String("bucketName"),
		bucketPrefix: jsii.String("bucketPrefix"),
		failOnFirstError: jsii.Boolean(false),
	},
	idFieldNames: []*string{
		jsii.String("idFieldNames"),
	},
	writeOperationType: jsii.String("writeOperationType"),
}

type CfnFlow_ZendeskSourcePropertiesProperty

type CfnFlow_ZendeskSourcePropertiesProperty struct {
	// The object specified in the Zendesk flow source.
	Object *string `field:"required" json:"object" yaml:"object"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

zendeskSourcePropertiesProperty := &zendeskSourcePropertiesProperty{
	object: jsii.String("object"),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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