/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type ApplicationHostUrl = string; export type ApplicationServicePath = string; export type PortNumber = number; export type ClientNumber = string; export type LogonLanguage = string; export type PrivateLinkServiceName = string; export type OAuth2GrantType = "CLIENT_CREDENTIALS" | "AUTHORIZATION_CODE"; export type SecretKey = string; export type Username = string; export type Password = string; export type AccessToken = string; export type RefreshToken = string; export type ClientId = string; export type ClientSecret = string; export type AuthenticationType = "OAUTH2" | "APIKEY" | "BASIC" | "CUSTOM"; export type ApiKey = string; export type ApiSecretKey = string; export type CustomAuthenticationType = string; /** * Resource Type definition for AWS::AppFlow::ConnectorProfile */ export interface AwsAppflowConnectorprofile { /** * Unique identifier for connector profile resources */ ConnectorProfileArn?: string; /** * The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for CUSTOMCONNECTOR connector type/. */ ConnectorLabel?: string; /** * The maximum number of items to retrieve in a single batch. */ ConnectorProfileName: string; /** * The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key. */ KMSArn?: string; /** * List of Saas providers that need connector profile to be created */ ConnectorType: | "Salesforce" | "Pardot" | "Singular" | "Slack" | "Redshift" | "Marketo" | "Googleanalytics" | "Zendesk" | "Servicenow" | "SAPOData" | "Datadog" | "Trendmicro" | "Snowflake" | "Dynatrace" | "Infornexus" | "Amplitude" | "Veeva" | "CustomConnector"; /** * Mode in which data transfer should be enabled. Private connection mode is currently enabled for Salesforce, Snowflake, Trendmicro and Singular */ ConnectionMode: "Public" | "Private"; ConnectorProfileConfig?: ConnectorProfileConfig; /** * A unique Arn for Connector-Profile resource */ CredentialsArn?: string; } /** * Connector specific configurations needed to create connector profile */ export interface ConnectorProfileConfig { ConnectorProfileProperties?: ConnectorProfileProperties; ConnectorProfileCredentials?: ConnectorProfileCredentials; [k: string]: unknown; } /** * Connector specific properties needed to create connector profile - currently not needed for Amplitude, Trendmicro, Googleanalytics and Singular */ export interface ConnectorProfileProperties { Datadog?: DatadogConnectorProfileProperties; Dynatrace?: DynatraceConnectorProfileProperties; InforNexus?: InforNexusConnectorProfileProperties; Marketo?: MarketoConnectorProfileProperties; Redshift?: RedshiftConnectorProfileProperties; SAPOData?: SAPODataConnectorProfileProperties; Salesforce?: SalesforceConnectorProfileProperties; Pardot?: PardotConnectorProfileProperties; ServiceNow?: ServiceNowConnectorProfileProperties; Slack?: SlackConnectorProfileProperties; Snowflake?: SnowflakeConnectorProfileProperties; Veeva?: VeevaConnectorProfileProperties; Zendesk?: ZendeskConnectorProfileProperties; CustomConnector?: CustomConnectorProfileProperties; [k: string]: unknown; } export interface DatadogConnectorProfileProperties { /** * The location of the Datadog resource */ InstanceUrl: string; [k: string]: unknown; } export interface DynatraceConnectorProfileProperties { /** * The location of the Dynatrace resource */ InstanceUrl: string; [k: string]: unknown; } export interface InforNexusConnectorProfileProperties { /** * The location of the InforNexus resource */ InstanceUrl: string; [k: string]: unknown; } export interface MarketoConnectorProfileProperties { /** * The location of the Marketo resource */ InstanceUrl: string; [k: string]: unknown; } export interface RedshiftConnectorProfileProperties { /** * The JDBC URL of the Amazon Redshift cluster. */ DatabaseUrl?: string; /** * The name of the Amazon S3 bucket associated with Redshift. */ BucketName: string; /** * The object key for the destination bucket in which Amazon AppFlow will place the files. */ BucketPrefix?: string; /** * The Amazon Resource Name (ARN) of the IAM role. */ RoleArn: string; /** * If Amazon AppFlow will connect to Amazon Redshift Serverless or Amazon Redshift cluster. */ IsRedshiftServerless?: boolean; /** * The Amazon Resource Name (ARN) of the IAM role that grants Amazon AppFlow access to the data through the Amazon Redshift Data API. */ DataApiRoleArn?: string; /** * The unique identifier of the Amazon Redshift cluster. */ ClusterIdentifier?: string; /** * The name of the Amazon Redshift serverless workgroup */ WorkgroupName?: string; /** * The name of the Amazon Redshift database that will store the transferred data. */ DatabaseName?: string; [k: string]: unknown; } export interface SAPODataConnectorProfileProperties { ApplicationHostUrl?: ApplicationHostUrl; ApplicationServicePath?: ApplicationServicePath; PortNumber?: PortNumber; ClientNumber?: ClientNumber; LogonLanguage?: LogonLanguage; PrivateLinkServiceName?: PrivateLinkServiceName; OAuthProperties?: OAuthProperties; [k: string]: unknown; } export interface OAuthProperties { AuthCodeUrl?: string; TokenUrl?: string; OAuthScopes?: string[]; [k: string]: unknown; } export interface SalesforceConnectorProfileProperties { /** * The location of the Salesforce resource */ InstanceUrl?: string; /** * Indicates whether the connector profile applies to a sandbox or production environment */ isSandboxEnvironment?: boolean; /** * Indicates whether to make Metadata And Authorization calls over Pivate Network */ usePrivateLinkForMetadataAndAuthorization?: boolean; [k: string]: unknown; } export interface PardotConnectorProfileProperties { /** * The location of the Salesforce Pardot resource */ InstanceUrl?: string; /** * Indicates whether the connector profile applies to a demo or production environment */ IsSandboxEnvironment?: boolean; /** * The Business unit id of Salesforce Pardot instance to be connected */ BusinessUnitId: string; [k: string]: unknown; } export interface ServiceNowConnectorProfileProperties { /** * The location of the ServiceNow resource */ InstanceUrl: string; [k: string]: unknown; } export interface SlackConnectorProfileProperties { /** * The location of the Slack resource */ InstanceUrl: string; [k: string]: unknown; } export interface SnowflakeConnectorProfileProperties { /** * The name of the Snowflake warehouse. */ Warehouse: string; /** * The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the * Snowflake account. This is written in the following format: < Database>< Schema>. */ Stage: string; /** * The name of the Amazon S3 bucket associated with Snowflake. */ BucketName: string; /** * The bucket prefix that refers to the Amazon S3 bucket associated with Snowflake. */ BucketPrefix?: string; /** * The Snowflake Private Link service name to be used for private data transfers. */ PrivateLinkServiceName?: string; /** * The name of the account. */ AccountName?: string; /** * The region of the Snowflake account. */ Region?: string; [k: string]: unknown; } export interface VeevaConnectorProfileProperties { /** * The location of the Veeva resource */ InstanceUrl: string; [k: string]: unknown; } export interface ZendeskConnectorProfileProperties { /** * The location of the Zendesk resource */ InstanceUrl: string; [k: string]: unknown; } export interface CustomConnectorProfileProperties { ProfileProperties?: ProfileProperties; OAuth2Properties?: OAuth2Properties; } /** * A map for properties for custom connector. */ export interface ProfileProperties { /** * A string containing the value for the property * * This interface was referenced by `ProfileProperties`'s JSON-Schema definition * via the `patternProperty` "^[\w]{1,256}$". */ [k: string]: string; } export interface OAuth2Properties { TokenUrl?: string; OAuth2GrantType?: OAuth2GrantType; TokenUrlCustomProperties?: TokenUrlCustomProperties; } /** * A map for properties for custom connector Token Url. */ export interface TokenUrlCustomProperties { /** * A string containing the value for the property * * This interface was referenced by `TokenUrlCustomProperties`'s JSON-Schema definition * via the `patternProperty` "^[\w]{1,128}$". */ [k: string]: string; } /** * Connector specific configuration needed to create connector profile based on Authentication mechanism */ export interface ConnectorProfileCredentials { Amplitude?: AmplitudeConnectorProfileCredentials; Datadog?: DatadogConnectorProfileCredentials; Dynatrace?: DynatraceConnectorProfileCredentials; GoogleAnalytics?: GoogleAnalyticsConnectorProfileCredentials; InforNexus?: InforNexusConnectorProfileCredentials; Marketo?: MarketoConnectorProfileCredentials; Redshift?: RedshiftConnectorProfileCredentials; SAPOData?: SAPODataConnectorProfileCredentials; Salesforce?: SalesforceConnectorProfileCredentials; Pardot?: PardotConnectorProfileCredentials; ServiceNow?: ServiceNowConnectorProfileCredentials; Singular?: SingularConnectorProfileCredentials; Slack?: SlackConnectorProfileCredentials; Snowflake?: SnowflakeConnectorProfileCredentials; Trendmicro?: TrendmicroConnectorProfileCredentials; Veeva?: VeevaConnectorProfileCredentials; Zendesk?: ZendeskConnectorProfileCredentials; CustomConnector?: CustomConnectorProfileCredentials; [k: string]: unknown; } export interface AmplitudeConnectorProfileCredentials { /** * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. */ ApiKey: string; SecretKey: SecretKey; [k: string]: unknown; } export interface DatadogConnectorProfileCredentials { /** * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. */ ApiKey: string; /** * Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API. */ ApplicationKey: string; [k: string]: unknown; } export interface DynatraceConnectorProfileCredentials { /** * The API tokens used by Dynatrace API to authenticate various API calls. */ ApiToken: string; [k: string]: unknown; } export interface GoogleAnalyticsConnectorProfileCredentials { /** * The identifier for the desired client. */ ClientId: string; /** * The client secret used by the oauth client to authenticate to the authorization server. */ ClientSecret: string; /** * The credentials used to access protected resources. */ AccessToken?: string; /** * The credentials used to acquire new access tokens. */ RefreshToken?: string; ConnectorOAuthRequest?: ConnectorOAuthRequest; [k: string]: unknown; } /** * The oauth needed to request security tokens from the connector endpoint. */ export interface ConnectorOAuthRequest { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface InforNexusConnectorProfileCredentials { /** * The Access Key portion of the credentials. */ AccessKeyId: string; /** * The identifier for the user. */ UserId: string; /** * The secret key used to sign requests. */ SecretAccessKey: string; /** * The encryption keys used to encrypt data. */ Datakey: string; [k: string]: unknown; } export interface MarketoConnectorProfileCredentials { /** * The identifier for the desired client. */ ClientId: string; /** * The client secret used by the oauth client to authenticate to the authorization server. */ ClientSecret: string; /** * The credentials used to access protected resources. */ AccessToken?: string; ConnectorOAuthRequest?: ConnectorOAuthRequest1; [k: string]: unknown; } /** * The oauth needed to request security tokens from the connector endpoint. */ export interface ConnectorOAuthRequest1 { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface RedshiftConnectorProfileCredentials { /** * The name of the user. */ Username?: string; /** * The password that corresponds to the username. */ Password?: string; [k: string]: unknown; } export interface SAPODataConnectorProfileCredentials { BasicAuthCredentials?: BasicAuthCredentials; OAuthCredentials?: { AccessToken?: AccessToken; RefreshToken?: RefreshToken; ConnectorOAuthRequest?: ConnectorOAuthRequest2; ClientId?: ClientId; ClientSecret?: ClientSecret; [k: string]: unknown; }; [k: string]: unknown; } export interface BasicAuthCredentials { Username: Username; Password: Password; } export interface ConnectorOAuthRequest2 { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface SalesforceConnectorProfileCredentials { /** * The credentials used to access protected resources. */ AccessToken?: string; /** * The credentials used to acquire new access tokens. */ RefreshToken?: string; ConnectorOAuthRequest?: ConnectorOAuthRequest3; /** * The client credentials to fetch access token and refresh token. */ ClientCredentialsArn?: string; [k: string]: unknown; } /** * The oauth needed to request security tokens from the connector endpoint. */ export interface ConnectorOAuthRequest3 { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface PardotConnectorProfileCredentials { /** * The credentials used to access protected resources. */ AccessToken?: string; /** * The credentials used to acquire new access tokens. */ RefreshToken?: string; ConnectorOAuthRequest?: ConnectorOAuthRequest4; /** * The client credentials to fetch access token and refresh token. */ ClientCredentialsArn?: string; [k: string]: unknown; } /** * The oauth needed to request security tokens from the connector endpoint. */ export interface ConnectorOAuthRequest4 { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface ServiceNowConnectorProfileCredentials { /** * The name of the user. */ Username: string; /** * The password that corresponds to the username. */ Password: string; [k: string]: unknown; } export interface SingularConnectorProfileCredentials { /** * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. */ ApiKey: string; [k: string]: unknown; } export interface SlackConnectorProfileCredentials { /** * The identifier for the desired client. */ ClientId: string; /** * The client secret used by the oauth client to authenticate to the authorization server. */ ClientSecret: string; /** * The credentials used to access protected resources. */ AccessToken?: string; ConnectorOAuthRequest?: ConnectorOAuthRequest5; [k: string]: unknown; } /** * The oauth needed to request security tokens from the connector endpoint. */ export interface ConnectorOAuthRequest5 { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface SnowflakeConnectorProfileCredentials { /** * The name of the user. */ Username: string; /** * The password that corresponds to the username. */ Password: string; [k: string]: unknown; } export interface TrendmicroConnectorProfileCredentials { /** * The Secret Access Key portion of the credentials. */ ApiSecretKey: string; [k: string]: unknown; } export interface VeevaConnectorProfileCredentials { /** * The name of the user. */ Username: string; /** * The password that corresponds to the username. */ Password: string; [k: string]: unknown; } export interface ZendeskConnectorProfileCredentials { /** * The identifier for the desired client. */ ClientId: string; /** * The client secret used by the oauth client to authenticate to the authorization server. */ ClientSecret: string; /** * The credentials used to access protected resources. */ AccessToken?: string; ConnectorOAuthRequest?: ConnectorOAuthRequest6; [k: string]: unknown; } /** * The oauth needed to request security tokens from the connector endpoint. */ export interface ConnectorOAuthRequest6 { /** * The code provided by the connector when it has been authenticated via the connected app. */ AuthCode?: string; /** * The URL to which the authentication server redirects the browser after authorization has been * granted. */ RedirectUri?: string; [k: string]: unknown; } export interface CustomConnectorProfileCredentials { AuthenticationType: AuthenticationType; Basic?: BasicAuthCredentials; Oauth2?: OAuth2Credentials; ApiKey?: ApiKeyCredentials; Custom?: CustomAuthCredentials; } export interface OAuth2Credentials { ClientId?: ClientId; ClientSecret?: ClientSecret; AccessToken?: AccessToken; RefreshToken?: RefreshToken; OAuthRequest?: ConnectorOAuthRequest2; } export interface ApiKeyCredentials { ApiKey: ApiKey; ApiSecretKey?: ApiSecretKey; } export interface CustomAuthCredentials { CustomAuthenticationType: CustomAuthenticationType; CredentialsMap?: CredentialsMap; } /** * A map for properties for custom authentication. */ export interface CredentialsMap { /** * A string containing the value for the property * * This interface was referenced by `CredentialsMap`'s JSON-Schema definition * via the `patternProperty` "^[\w]{1,128}$". */ [k: string]: string; }