/* 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. */ /** * Sample configuration mode for profile jobs. */ export type SampleMode = "FULL_DATASET" | "CUSTOM_ROWS"; /** * Sample configuration size for profile jobs. */ export type JobSize = number; export type Statistic = string; export type ValidationMode = "CHECK_ALL"; /** * Resource schema for AWS::DataBrew::Job. */ export interface AwsDatabrewJob { /** * Dataset name */ DatasetName?: string; /** * Encryption Key Arn */ EncryptionKeyArn?: string; /** * Encryption mode */ EncryptionMode?: "SSE-KMS" | "SSE-S3"; /** * Job name */ Name: string; /** * Job type */ Type: "PROFILE" | "RECIPE"; /** * Log subscription */ LogSubscription?: "ENABLE" | "DISABLE"; /** * Max capacity */ MaxCapacity?: number; /** * Max retries */ MaxRetries?: number; Outputs?: Output[]; DataCatalogOutputs?: DataCatalogOutput[]; DatabaseOutputs?: DatabaseOutput[]; OutputLocation?: OutputLocation; /** * Project name */ ProjectName?: string; Recipe?: Recipe; /** * Role arn */ RoleArn: string; Tags?: Tag[]; /** * Timeout */ Timeout?: number; JobSample?: JobSample; ProfileConfiguration?: ProfileConfiguration; /** * Data quality rules configuration */ ValidationConfigurations?: ValidationConfiguration[]; } export interface Output { CompressionFormat?: "GZIP" | "LZ4" | "SNAPPY" | "BZIP2" | "DEFLATE" | "LZO" | "BROTLI" | "ZSTD" | "ZLIB"; Format?: "CSV" | "JSON" | "PARQUET" | "GLUEPARQUET" | "AVRO" | "ORC" | "XML" | "TABLEAUHYPER"; FormatOptions?: OutputFormatOptions; PartitionColumns?: string[]; Location: S3Location; Overwrite?: boolean; MaxOutputFiles?: number; } /** * Format options for job Output */ export interface OutputFormatOptions { Csv?: CsvOutputOptions; } /** * Output Csv options */ export interface CsvOutputOptions { Delimiter?: string; } /** * S3 Output location */ export interface S3Location { Bucket: string; Key?: string; BucketOwner?: string; } export interface DataCatalogOutput { CatalogId?: string; DatabaseName: string; TableName: string; S3Options?: S3TableOutputOptions; DatabaseOptions?: DatabaseTableOutputOptions; Overwrite?: boolean; } export interface S3TableOutputOptions { Location: S3Location; } export interface DatabaseTableOutputOptions { TempDirectory?: S3Location; TableName: string; } export interface DatabaseOutput { /** * Glue connection name */ GlueConnectionName: string; /** * Database table name */ DatabaseOutputMode?: "NEW_TABLE"; DatabaseOptions: DatabaseTableOutputOptions; } /** * Output location */ export interface OutputLocation { Bucket: string; Key?: string; BucketOwner?: string; } export interface Recipe { /** * Recipe name */ Name: string; /** * Recipe version */ Version?: string; } /** * A key-value pair to associate with a resource. */ export interface Tag { Key: string; Value: string; } /** * Job Sample */ export interface JobSample { Mode?: SampleMode; Size?: JobSize; } /** * Profile Job configuration */ export interface ProfileConfiguration { DatasetStatisticsConfiguration?: StatisticsConfiguration; /** * @minItems 1 */ ProfileColumns?: [ColumnSelector, ...ColumnSelector[]]; /** * @minItems 1 */ ColumnStatisticsConfigurations?: [ColumnStatisticsConfiguration, ...ColumnStatisticsConfiguration[]]; EntityDetectorConfiguration?: EntityDetectorConfiguration; } export interface StatisticsConfiguration { /** * @minItems 1 */ IncludedStatistics?: [Statistic, ...Statistic[]]; /** * @minItems 1 */ Overrides?: [StatisticOverride, ...StatisticOverride[]]; } export interface StatisticOverride { Statistic: Statistic; Parameters: ParameterMap; } export interface ParameterMap { /** * This interface was referenced by `ParameterMap`'s JSON-Schema definition * via the `patternProperty` "^[A-Za-z0-9]{1,128}$". */ [k: string]: string; } export interface ColumnSelector { Regex?: string; Name?: string; } export interface ColumnStatisticsConfiguration { /** * @minItems 1 */ Selectors?: [ColumnSelector, ...ColumnSelector[]]; Statistics: StatisticsConfiguration; } export interface EntityDetectorConfiguration { /** * @minItems 1 */ EntityTypes: [string, ...string[]]; AllowedStatistics?: AllowedStatistics; } export interface AllowedStatistics { /** * @minItems 1 */ Statistics: [Statistic, ...Statistic[]]; } /** * Configuration to attach Rulesets to the job */ export interface ValidationConfiguration { /** * Arn of the Ruleset */ RulesetArn: string; ValidationMode?: ValidationMode; }