CancelFlowExecutions

valid {
    input.Body.flowName == STRING
    input.Body.executionIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConnectorProfile

enum_AuthenticationType := [ "OAUTH2", "APIKEY", "BASIC", "CUSTOM" ]
enum_ConnectionMode := [ "Public", "Private" ]
enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]
enum_OAuth2GrantType := [ "CLIENT_CREDENTIALS", "AUTHORIZATION_CODE", "JWT_BEARER" ]

valid {
    input.Body.connectorProfileName == STRING
    input.Body.kmsArn == STRING
    input.Body.connectorType == enum_ConnectorType[_]
    input.Body.connectorLabel == STRING
    input.Body.connectionMode == enum_ConnectionMode[_]
    input.Body.connectorProfileConfig.connectorProfileProperties.Amplitude == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Datadog.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Dynatrace.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.GoogleAnalytics == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Honeycode == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.InforNexus.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Marketo.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.databaseUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.bucketName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.bucketPrefix == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.roleArn == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.dataApiRoleArn == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.isRedshiftServerless == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.clusterIdentifier == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.workgroupName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.databaseName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Salesforce.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Salesforce.isSandboxEnvironment == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.Salesforce.usePrivateLinkForMetadataAndAuthorization == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.ServiceNow.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Singular == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Slack.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.warehouse == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.stage == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.bucketName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.bucketPrefix == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.privateLinkServiceName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.accountName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.region == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Trendmicro == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Veeva.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Zendesk.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.applicationHostUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.applicationServicePath == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.portNumber == INTEGER
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.clientNumber == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.logonLanguage == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.privateLinkServiceName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.oAuthProperties.tokenUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.oAuthProperties.authCodeUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.oAuthProperties.oAuthScopes[_] == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.disableSSO == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.profileProperties.STRING == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.oAuth2Properties.tokenUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.oAuth2Properties.oAuth2GrantType == enum_OAuth2GrantType[_]
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.oAuth2Properties.tokenUrlCustomProperties.STRING == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Pardot.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Pardot.isSandboxEnvironment == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.Pardot.businessUnitId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Amplitude.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Amplitude.secretKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Datadog.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Datadog.applicationKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Dynatrace.apiToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.accessKeyId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.userId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.secretAccessKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.datakey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Redshift.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Redshift.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.clientCredentialsArn == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.oAuth2GrantType == enum_OAuth2GrantType[_]
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.jwtToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Singular.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Snowflake.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Snowflake.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Trendmicro.apiSecretKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Veeva.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Veeva.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.basicAuthCredentials.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.basicAuthCredentials.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.authenticationType == enum_AuthenticationType[_]
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.basic.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.basic.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.apiKey.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.apiKey.apiSecretKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.custom.customAuthenticationType == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.custom.credentialsMap.STRING == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.clientCredentialsArn == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateFlow

enum_AggregationType := [ "None", "SingleFile" ]
enum_AmplitudeConnectorOperator := [ "BETWEEN" ]
enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]
enum_DataPullMode := [ "Incremental", "Complete" ]
enum_DataTransferApiType := [ "SYNC", "ASYNC", "AUTOMATIC" ]
enum_DatadogConnectorOperator := [ "PROJECTION", "BETWEEN", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_DynatraceConnectorOperator := [ "PROJECTION", "BETWEEN", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_FileType := [ "CSV", "JSON", "PARQUET" ]
enum_GoogleAnalyticsConnectorOperator := [ "PROJECTION", "BETWEEN" ]
enum_InforNexusConnectorOperator := [ "PROJECTION", "BETWEEN", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_MarketoConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_Operator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "CONTAINS", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_PardotConnectorOperator := [ "PROJECTION", "EQUAL_TO", "NO_OP", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC" ]
enum_PathPrefix := [ "EXECUTION_ID", "SCHEMA_VERSION" ]
enum_PrefixFormat := [ "YEAR", "MONTH", "DAY", "HOUR", "MINUTE" ]
enum_PrefixType := [ "FILENAME", "PATH", "PATH_AND_FILENAME" ]
enum_S3ConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_S3InputFileType := [ "CSV", "JSON" ]
enum_SAPODataConnectorOperator := [ "PROJECTION", "LESS_THAN", "CONTAINS", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SalesforceConnectorOperator := [ "PROJECTION", "LESS_THAN", "CONTAINS", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SalesforceDataTransferApi := [ "AUTOMATIC", "BULKV2", "REST_SYNC" ]
enum_ServiceNowConnectorOperator := [ "PROJECTION", "CONTAINS", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SingularConnectorOperator := [ "PROJECTION", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SlackConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_TaskType := [ "Arithmetic", "Filter", "Map", "Map_all", "Mask", "Merge", "Passthrough", "Truncate", "Validate", "Partition" ]
enum_TrendmicroConnectorOperator := [ "PROJECTION", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_TriggerType := [ "Scheduled", "Event", "OnDemand" ]
enum_VeevaConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "CONTAINS", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_WriteOperationType := [ "INSERT", "UPSERT", "UPDATE", "DELETE" ]
enum_ZendeskConnectorOperator := [ "PROJECTION", "GREATER_THAN", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]

valid {
    input.Body.flowName == STRING
    input.Body.description == STRING
    input.Body.kmsArn == STRING
    input.Body.triggerConfig.triggerType == enum_TriggerType[_]
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleExpression == STRING
    input.Body.triggerConfig.triggerProperties.Scheduled.dataPullMode == enum_DataPullMode[_]
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleStartTime == TIMESTAMP
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleEndTime == TIMESTAMP
    input.Body.triggerConfig.triggerProperties.Scheduled.timezone == STRING
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleOffset == LONG
    input.Body.triggerConfig.triggerProperties.Scheduled.firstExecutionFrom == TIMESTAMP
    input.Body.triggerConfig.triggerProperties.Scheduled.flowErrorDeactivationThreshold == INTEGER
    input.Body.sourceFlowConfig.connectorType == enum_ConnectorType[_]
    input.Body.sourceFlowConfig.apiVersion == STRING
    input.Body.sourceFlowConfig.connectorProfileName == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Amplitude.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Datadog.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Dynatrace.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.GoogleAnalytics.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.InforNexus.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Marketo.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.S3.bucketName == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.S3.bucketPrefix == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.S3.s3InputFormatConfig.s3InputFileType == enum_S3InputFileType[_]
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.enableDynamicFieldUpdate == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.includeDeletedRecords == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.dataTransferApi == enum_SalesforceDataTransferApi[_]
    input.Body.sourceFlowConfig.sourceConnectorProperties.ServiceNow.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Singular.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Slack.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Trendmicro.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.documentType == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.includeSourceFiles == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.includeRenditions == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.includeAllVersions == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Zendesk.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.SAPOData.objectPath == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.SAPOData.parallelismConfig.maxParallelism == INTEGER
    input.Body.sourceFlowConfig.sourceConnectorProperties.SAPOData.paginationConfig.maxPageSize == INTEGER
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.entityName == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.customProperties.STRING == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.dataTransferApi.Name == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.dataTransferApi.Type == enum_DataTransferApiType[_]
    input.Body.sourceFlowConfig.sourceConnectorProperties.Pardot.object == STRING
    input.Body.sourceFlowConfig.incrementalPullConfig.datetimeTypeFieldName == STRING
    input.Body.destinationFlowConfigList[_].connectorType == enum_ConnectorType[_]
    input.Body.destinationFlowConfigList[_].apiVersion == STRING
    input.Body.destinationFlowConfigList[_].connectorProfileName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.intermediateBucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.fileType == enum_FileType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.prefixConfig.prefixType == enum_PrefixType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.prefixConfig.prefixFormat == enum_PrefixFormat[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.prefixConfig.pathPrefixHierarchy[_] == enum_PathPrefix[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.aggregationConfig.aggregationType == enum_AggregationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.aggregationConfig.targetFileSize == LONG
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.preserveSourceDataTyping == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.writeOperationType == enum_WriteOperationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.dataTransferApi == enum_SalesforceDataTransferApi[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.intermediateBucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.LookoutMetrics == {}
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.fileType == enum_FileType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.prefixConfig.prefixType == enum_PrefixType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.prefixConfig.prefixFormat == enum_PrefixFormat[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.prefixConfig.pathPrefixHierarchy[_] == enum_PathPrefix[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.aggregationConfig.aggregationType == enum_AggregationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.aggregationConfig.targetFileSize == LONG
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomerProfiles.domainName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomerProfiles.objectTypeName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.writeOperationType == enum_WriteOperationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.entityName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.writeOperationType == enum_WriteOperationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.customProperties.STRING == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.objectPath == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.successResponseHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.successResponseHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.writeOperationType == enum_WriteOperationType[_]
    input.Body.tasks[_].sourceFields[_] == STRING
    input.Body.tasks[_].connectorOperator.Amplitude == enum_AmplitudeConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Datadog == enum_DatadogConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Dynatrace == enum_DynatraceConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.GoogleAnalytics == enum_GoogleAnalyticsConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.InforNexus == enum_InforNexusConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Marketo == enum_MarketoConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.S3 == enum_S3ConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Salesforce == enum_SalesforceConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.ServiceNow == enum_ServiceNowConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Singular == enum_SingularConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Slack == enum_SlackConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Trendmicro == enum_TrendmicroConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Veeva == enum_VeevaConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Zendesk == enum_ZendeskConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.SAPOData == enum_SAPODataConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.CustomConnector == enum_Operator[_]
    input.Body.tasks[_].connectorOperator.Pardot == enum_PardotConnectorOperator[_]
    input.Body.tasks[_].destinationField == STRING
    input.Body.tasks[_].taskType == enum_TaskType[_]
    input.Body.tasks[_].taskProperties.VALUE == STRING
    input.Body.tasks[_].taskProperties.VALUES == STRING
    input.Body.tasks[_].taskProperties.DATA_TYPE == STRING
    input.Body.tasks[_].taskProperties.UPPER_BOUND == STRING
    input.Body.tasks[_].taskProperties.LOWER_BOUND == STRING
    input.Body.tasks[_].taskProperties.SOURCE_DATA_TYPE == STRING
    input.Body.tasks[_].taskProperties.DESTINATION_DATA_TYPE == STRING
    input.Body.tasks[_].taskProperties.VALIDATION_ACTION == STRING
    input.Body.tasks[_].taskProperties.MASK_VALUE == STRING
    input.Body.tasks[_].taskProperties.MASK_LENGTH == STRING
    input.Body.tasks[_].taskProperties.TRUNCATE_LENGTH == STRING
    input.Body.tasks[_].taskProperties.MATH_OPERATION_FIELDS_ORDER == STRING
    input.Body.tasks[_].taskProperties.CONCAT_FORMAT == STRING
    input.Body.tasks[_].taskProperties.SUBFIELD_CATEGORY_MAP == STRING
    input.Body.tasks[_].taskProperties.EXCLUDE_SOURCE_FIELDS_LIST == STRING
    input.Body.tasks[_].taskProperties.INCLUDE_NEW_FIELDS == STRING
    input.Body.tasks[_].taskProperties.ORDERED_PARTITION_KEYS_LIST == STRING
    input.Body.tags.STRING == STRING
    input.Body.metadataCatalogConfig.glueDataCatalog.roleArn == STRING
    input.Body.metadataCatalogConfig.glueDataCatalog.databaseName == STRING
    input.Body.metadataCatalogConfig.glueDataCatalog.tablePrefix == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConnectorProfile

valid {
    input.Body.connectorProfileName == STRING
    input.Body.forceDelete == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteFlow

valid {
    input.Body.flowName == STRING
    input.Body.forceDelete == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeConnector

enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]

valid {
    input.Body.connectorType == enum_ConnectorType[_]
    input.Body.connectorLabel == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeConnectorEntity

enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]

valid {
    input.Body.connectorEntityName == STRING
    input.Body.connectorType == enum_ConnectorType[_]
    input.Body.connectorProfileName == STRING
    input.Body.apiVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeConnectorProfiles

enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]

valid {
    input.Body.connectorProfileNames[_] == STRING
    input.Body.connectorType == enum_ConnectorType[_]
    input.Body.connectorLabel == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeConnectors

enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]

valid {
    input.Body.connectorTypes[_] == enum_ConnectorType[_]
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeFlow

valid {
    input.Body.flowName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeFlowExecutionRecords

valid {
    input.Body.flowName == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConnectorEntities

enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]

valid {
    input.Body.connectorProfileName == STRING
    input.Body.connectorType == enum_ConnectorType[_]
    input.Body.entitiesPath == STRING
    input.Body.apiVersion == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConnectors

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListFlows

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterConnector

enum_ConnectorProvisioningType := [ "LAMBDA" ]

valid {
    input.Body.connectorLabel == STRING
    input.Body.description == STRING
    input.Body.connectorProvisioningType == enum_ConnectorProvisioningType[_]
    input.Body.connectorProvisioningConfig.lambda.lambdaArn == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResetConnectorMetadataCache

enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]

valid {
    input.Body.connectorProfileName == STRING
    input.Body.connectorType == enum_ConnectorType[_]
    input.Body.connectorEntityName == STRING
    input.Body.entitiesPath == STRING
    input.Body.apiVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartFlow

valid {
    input.Body.flowName == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopFlow

valid {
    input.Body.flowName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UnregisterConnector

valid {
    input.Body.connectorLabel == STRING
    input.Body.forceDelete == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.resourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConnectorProfile

enum_AuthenticationType := [ "OAUTH2", "APIKEY", "BASIC", "CUSTOM" ]
enum_ConnectionMode := [ "Public", "Private" ]
enum_OAuth2GrantType := [ "CLIENT_CREDENTIALS", "AUTHORIZATION_CODE", "JWT_BEARER" ]

valid {
    input.Body.connectorProfileName == STRING
    input.Body.connectionMode == enum_ConnectionMode[_]
    input.Body.connectorProfileConfig.connectorProfileProperties.Amplitude == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Datadog.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Dynatrace.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.GoogleAnalytics == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Honeycode == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.InforNexus.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Marketo.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.databaseUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.bucketName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.bucketPrefix == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.roleArn == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.dataApiRoleArn == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.isRedshiftServerless == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.clusterIdentifier == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.workgroupName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Redshift.databaseName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Salesforce.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Salesforce.isSandboxEnvironment == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.Salesforce.usePrivateLinkForMetadataAndAuthorization == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.ServiceNow.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Singular == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Slack.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.warehouse == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.stage == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.bucketName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.bucketPrefix == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.privateLinkServiceName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.accountName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Snowflake.region == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Trendmicro == {}
    input.Body.connectorProfileConfig.connectorProfileProperties.Veeva.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Zendesk.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.applicationHostUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.applicationServicePath == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.portNumber == INTEGER
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.clientNumber == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.logonLanguage == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.privateLinkServiceName == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.oAuthProperties.tokenUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.oAuthProperties.authCodeUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.oAuthProperties.oAuthScopes[_] == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.SAPOData.disableSSO == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.profileProperties.STRING == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.oAuth2Properties.tokenUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.oAuth2Properties.oAuth2GrantType == enum_OAuth2GrantType[_]
    input.Body.connectorProfileConfig.connectorProfileProperties.CustomConnector.oAuth2Properties.tokenUrlCustomProperties.STRING == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Pardot.instanceUrl == STRING
    input.Body.connectorProfileConfig.connectorProfileProperties.Pardot.isSandboxEnvironment == BOOLEAN
    input.Body.connectorProfileConfig.connectorProfileProperties.Pardot.businessUnitId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Amplitude.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Amplitude.secretKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Datadog.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Datadog.applicationKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Dynatrace.apiToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.GoogleAnalytics.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Honeycode.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.accessKeyId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.userId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.secretAccessKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.InforNexus.datakey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Marketo.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Redshift.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Redshift.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.clientCredentialsArn == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.oAuth2GrantType == enum_OAuth2GrantType[_]
    input.Body.connectorProfileConfig.connectorProfileCredentials.Salesforce.jwtToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.ServiceNow.oAuth2Credentials.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Singular.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Slack.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Snowflake.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Snowflake.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Trendmicro.apiSecretKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Veeva.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Veeva.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Zendesk.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.basicAuthCredentials.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.basicAuthCredentials.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.SAPOData.oAuthCredentials.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.authenticationType == enum_AuthenticationType[_]
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.basic.username == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.basic.password == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.clientId == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.clientSecret == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.oauth2.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.apiKey.apiKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.apiKey.apiSecretKey == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.custom.customAuthenticationType == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.CustomConnector.custom.credentialsMap.STRING == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.accessToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.refreshToken == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.oAuthRequest.authCode == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.oAuthRequest.redirectUri == STRING
    input.Body.connectorProfileConfig.connectorProfileCredentials.Pardot.clientCredentialsArn == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConnectorRegistration

valid {
    input.Body.connectorLabel == STRING
    input.Body.description == STRING
    input.Body.connectorProvisioningConfig.lambda.lambdaArn == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateFlow

enum_AggregationType := [ "None", "SingleFile" ]
enum_AmplitudeConnectorOperator := [ "BETWEEN" ]
enum_ConnectorType := [ "Salesforce", "Singular", "Slack", "Redshift", "S3", "Marketo", "Googleanalytics", "Zendesk", "Servicenow", "Datadog", "Trendmicro", "Snowflake", "Dynatrace", "Infornexus", "Amplitude", "Veeva", "EventBridge", "LookoutMetrics", "Upsolver", "Honeycode", "CustomerProfiles", "SAPOData", "CustomConnector", "Pardot" ]
enum_DataPullMode := [ "Incremental", "Complete" ]
enum_DataTransferApiType := [ "SYNC", "ASYNC", "AUTOMATIC" ]
enum_DatadogConnectorOperator := [ "PROJECTION", "BETWEEN", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_DynatraceConnectorOperator := [ "PROJECTION", "BETWEEN", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_FileType := [ "CSV", "JSON", "PARQUET" ]
enum_GoogleAnalyticsConnectorOperator := [ "PROJECTION", "BETWEEN" ]
enum_InforNexusConnectorOperator := [ "PROJECTION", "BETWEEN", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_MarketoConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_Operator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "CONTAINS", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_PardotConnectorOperator := [ "PROJECTION", "EQUAL_TO", "NO_OP", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC" ]
enum_PathPrefix := [ "EXECUTION_ID", "SCHEMA_VERSION" ]
enum_PrefixFormat := [ "YEAR", "MONTH", "DAY", "HOUR", "MINUTE" ]
enum_PrefixType := [ "FILENAME", "PATH", "PATH_AND_FILENAME" ]
enum_S3ConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_S3InputFileType := [ "CSV", "JSON" ]
enum_SAPODataConnectorOperator := [ "PROJECTION", "LESS_THAN", "CONTAINS", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SalesforceConnectorOperator := [ "PROJECTION", "LESS_THAN", "CONTAINS", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SalesforceDataTransferApi := [ "AUTOMATIC", "BULKV2", "REST_SYNC" ]
enum_ServiceNowConnectorOperator := [ "PROJECTION", "CONTAINS", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SingularConnectorOperator := [ "PROJECTION", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_SlackConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_TaskType := [ "Arithmetic", "Filter", "Map", "Map_all", "Mask", "Merge", "Passthrough", "Truncate", "Validate", "Partition" ]
enum_TrendmicroConnectorOperator := [ "PROJECTION", "EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_TriggerType := [ "Scheduled", "Event", "OnDemand" ]
enum_VeevaConnectorOperator := [ "PROJECTION", "LESS_THAN", "GREATER_THAN", "CONTAINS", "BETWEEN", "LESS_THAN_OR_EQUAL_TO", "GREATER_THAN_OR_EQUAL_TO", "EQUAL_TO", "NOT_EQUAL_TO", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]
enum_WriteOperationType := [ "INSERT", "UPSERT", "UPDATE", "DELETE" ]
enum_ZendeskConnectorOperator := [ "PROJECTION", "GREATER_THAN", "ADDITION", "MULTIPLICATION", "DIVISION", "SUBTRACTION", "MASK_ALL", "MASK_FIRST_N", "MASK_LAST_N", "VALIDATE_NON_NULL", "VALIDATE_NON_ZERO", "VALIDATE_NON_NEGATIVE", "VALIDATE_NUMERIC", "NO_OP" ]

valid {
    input.Body.flowName == STRING
    input.Body.description == STRING
    input.Body.triggerConfig.triggerType == enum_TriggerType[_]
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleExpression == STRING
    input.Body.triggerConfig.triggerProperties.Scheduled.dataPullMode == enum_DataPullMode[_]
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleStartTime == TIMESTAMP
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleEndTime == TIMESTAMP
    input.Body.triggerConfig.triggerProperties.Scheduled.timezone == STRING
    input.Body.triggerConfig.triggerProperties.Scheduled.scheduleOffset == LONG
    input.Body.triggerConfig.triggerProperties.Scheduled.firstExecutionFrom == TIMESTAMP
    input.Body.triggerConfig.triggerProperties.Scheduled.flowErrorDeactivationThreshold == INTEGER
    input.Body.sourceFlowConfig.connectorType == enum_ConnectorType[_]
    input.Body.sourceFlowConfig.apiVersion == STRING
    input.Body.sourceFlowConfig.connectorProfileName == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Amplitude.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Datadog.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Dynatrace.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.GoogleAnalytics.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.InforNexus.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Marketo.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.S3.bucketName == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.S3.bucketPrefix == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.S3.s3InputFormatConfig.s3InputFileType == enum_S3InputFileType[_]
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.enableDynamicFieldUpdate == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.includeDeletedRecords == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Salesforce.dataTransferApi == enum_SalesforceDataTransferApi[_]
    input.Body.sourceFlowConfig.sourceConnectorProperties.ServiceNow.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Singular.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Slack.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Trendmicro.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.documentType == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.includeSourceFiles == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.includeRenditions == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Veeva.includeAllVersions == BOOLEAN
    input.Body.sourceFlowConfig.sourceConnectorProperties.Zendesk.object == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.SAPOData.objectPath == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.SAPOData.parallelismConfig.maxParallelism == INTEGER
    input.Body.sourceFlowConfig.sourceConnectorProperties.SAPOData.paginationConfig.maxPageSize == INTEGER
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.entityName == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.customProperties.STRING == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.dataTransferApi.Name == STRING
    input.Body.sourceFlowConfig.sourceConnectorProperties.CustomConnector.dataTransferApi.Type == enum_DataTransferApiType[_]
    input.Body.sourceFlowConfig.sourceConnectorProperties.Pardot.object == STRING
    input.Body.sourceFlowConfig.incrementalPullConfig.datetimeTypeFieldName == STRING
    input.Body.destinationFlowConfigList[_].connectorType == enum_ConnectorType[_]
    input.Body.destinationFlowConfigList[_].apiVersion == STRING
    input.Body.destinationFlowConfigList[_].connectorProfileName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.intermediateBucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Redshift.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.fileType == enum_FileType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.prefixConfig.prefixType == enum_PrefixType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.prefixConfig.prefixFormat == enum_PrefixFormat[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.prefixConfig.pathPrefixHierarchy[_] == enum_PathPrefix[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.aggregationConfig.aggregationType == enum_AggregationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.aggregationConfig.targetFileSize == LONG
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.S3.s3OutputFormatConfig.preserveSourceDataTyping == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.writeOperationType == enum_WriteOperationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Salesforce.dataTransferApi == enum_SalesforceDataTransferApi[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.intermediateBucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Snowflake.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.EventBridge.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.LookoutMetrics == {}
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.fileType == enum_FileType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.prefixConfig.prefixType == enum_PrefixType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.prefixConfig.prefixFormat == enum_PrefixFormat[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.prefixConfig.pathPrefixHierarchy[_] == enum_PathPrefix[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.aggregationConfig.aggregationType == enum_AggregationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Upsolver.s3OutputFormatConfig.aggregationConfig.targetFileSize == LONG
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Honeycode.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomerProfiles.domainName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomerProfiles.objectTypeName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Zendesk.writeOperationType == enum_WriteOperationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.object == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.Marketo.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.entityName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.writeOperationType == enum_WriteOperationType[_]
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.CustomConnector.customProperties.STRING == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.objectPath == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.successResponseHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.successResponseHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.idFieldNames[_] == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.errorHandlingConfig.failOnFirstDestinationError == BOOLEAN
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.errorHandlingConfig.bucketPrefix == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.errorHandlingConfig.bucketName == STRING
    input.Body.destinationFlowConfigList[_].destinationConnectorProperties.SAPOData.writeOperationType == enum_WriteOperationType[_]
    input.Body.tasks[_].sourceFields[_] == STRING
    input.Body.tasks[_].connectorOperator.Amplitude == enum_AmplitudeConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Datadog == enum_DatadogConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Dynatrace == enum_DynatraceConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.GoogleAnalytics == enum_GoogleAnalyticsConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.InforNexus == enum_InforNexusConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Marketo == enum_MarketoConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.S3 == enum_S3ConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Salesforce == enum_SalesforceConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.ServiceNow == enum_ServiceNowConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Singular == enum_SingularConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Slack == enum_SlackConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Trendmicro == enum_TrendmicroConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Veeva == enum_VeevaConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.Zendesk == enum_ZendeskConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.SAPOData == enum_SAPODataConnectorOperator[_]
    input.Body.tasks[_].connectorOperator.CustomConnector == enum_Operator[_]
    input.Body.tasks[_].connectorOperator.Pardot == enum_PardotConnectorOperator[_]
    input.Body.tasks[_].destinationField == STRING
    input.Body.tasks[_].taskType == enum_TaskType[_]
    input.Body.tasks[_].taskProperties.VALUE == STRING
    input.Body.tasks[_].taskProperties.VALUES == STRING
    input.Body.tasks[_].taskProperties.DATA_TYPE == STRING
    input.Body.tasks[_].taskProperties.UPPER_BOUND == STRING
    input.Body.tasks[_].taskProperties.LOWER_BOUND == STRING
    input.Body.tasks[_].taskProperties.SOURCE_DATA_TYPE == STRING
    input.Body.tasks[_].taskProperties.DESTINATION_DATA_TYPE == STRING
    input.Body.tasks[_].taskProperties.VALIDATION_ACTION == STRING
    input.Body.tasks[_].taskProperties.MASK_VALUE == STRING
    input.Body.tasks[_].taskProperties.MASK_LENGTH == STRING
    input.Body.tasks[_].taskProperties.TRUNCATE_LENGTH == STRING
    input.Body.tasks[_].taskProperties.MATH_OPERATION_FIELDS_ORDER == STRING
    input.Body.tasks[_].taskProperties.CONCAT_FORMAT == STRING
    input.Body.tasks[_].taskProperties.SUBFIELD_CATEGORY_MAP == STRING
    input.Body.tasks[_].taskProperties.EXCLUDE_SOURCE_FIELDS_LIST == STRING
    input.Body.tasks[_].taskProperties.INCLUDE_NEW_FIELDS == STRING
    input.Body.tasks[_].taskProperties.ORDERED_PARTITION_KEYS_LIST == STRING
    input.Body.metadataCatalogConfig.glueDataCatalog.roleArn == STRING
    input.Body.metadataCatalogConfig.glueDataCatalog.databaseName == STRING
    input.Body.metadataCatalogConfig.glueDataCatalog.tablePrefix == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}