# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
[docs]class CsvOptions(AWSProperty):
"""
`CsvOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-csvoptions.html>`__
"""
props: PropsDictType = {
"Delimiter": (str, False),
"HeaderRow": (boolean, False),
}
[docs]class ExcelOptions(AWSProperty):
"""
`ExcelOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-exceloptions.html>`__
"""
props: PropsDictType = {
"HeaderRow": (boolean, False),
"SheetIndexes": ([integer], False),
"SheetNames": ([str], False),
}
[docs]class JsonOptions(AWSProperty):
"""
`JsonOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-jsonoptions.html>`__
"""
props: PropsDictType = {
"MultiLine": (boolean, False),
}
[docs]class S3Location(AWSProperty):
"""
`S3Location <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-s3location.html>`__
"""
props: PropsDictType = {
"Bucket": (str, True),
"Key": (str, False),
}
[docs]class FilesLimit(AWSProperty):
"""
`FilesLimit <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-fileslimit.html>`__
"""
props: PropsDictType = {
"MaxFiles": (integer, True),
"Order": (str, False),
"OrderedBy": (str, False),
}
[docs]class FilterValue(AWSProperty):
"""
`FilterValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-filtervalue.html>`__
"""
props: PropsDictType = {
"Value": (str, True),
"ValueReference": (str, True),
}
[docs]class FilterExpression(AWSProperty):
"""
`FilterExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-filterexpression.html>`__
"""
props: PropsDictType = {
"Expression": (str, True),
"ValuesMap": ([FilterValue], True),
}
[docs]class DatetimeOptions(AWSProperty):
"""
`DatetimeOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-datetimeoptions.html>`__
"""
props: PropsDictType = {
"Format": (str, True),
"LocaleCode": (str, False),
"TimezoneOffset": (str, False),
}
[docs]class DatasetParameter(AWSProperty):
"""
`DatasetParameter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-datasetparameter.html>`__
"""
props: PropsDictType = {
"CreateColumn": (boolean, False),
"DatetimeOptions": (DatetimeOptions, False),
"Filter": (FilterExpression, False),
"Name": (str, True),
"Type": (str, True),
}
[docs]class PathParameter(AWSProperty):
"""
`PathParameter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-pathparameter.html>`__
"""
props: PropsDictType = {
"DatasetParameter": (DatasetParameter, True),
"PathParameterName": (str, True),
}
[docs]class PathOptions(AWSProperty):
"""
`PathOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-pathoptions.html>`__
"""
props: PropsDictType = {
"FilesLimit": (FilesLimit, False),
"LastModifiedDateCondition": (FilterExpression, False),
"Parameters": ([PathParameter], False),
}
[docs]class Dataset(AWSObject):
"""
`Dataset <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html>`__
"""
resource_type = "AWS::DataBrew::Dataset"
props: PropsDictType = {
"Format": (str, False),
"FormatOptions": (FormatOptions, False),
"Input": (Input, True),
"Name": (str, True),
"PathOptions": (PathOptions, False),
"Tags": (Tags, False),
}
[docs]class DatabaseTableOutputOptions(AWSProperty):
"""
`DatabaseTableOutputOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-databasetableoutputoptions.html>`__
"""
props: PropsDictType = {
"TableName": (str, True),
"TempDirectory": (S3Location, False),
}
[docs]class JobS3Location(AWSProperty):
"""
`JobS3Location <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3location.html>`__
"""
props: PropsDictType = {
"Bucket": (str, True),
"BucketOwner": (str, False),
"Key": (str, False),
}
[docs]class S3TableOutputOptions(AWSProperty):
"""
`S3TableOutputOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-s3tableoutputoptions.html>`__
"""
props: PropsDictType = {
"Location": (JobS3Location, True),
}
[docs]class DataCatalogOutput(AWSProperty):
"""
`DataCatalogOutput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-datacatalogoutput.html>`__
"""
props: PropsDictType = {
"CatalogId": (str, False),
"DatabaseName": (str, True),
"DatabaseOptions": (DatabaseTableOutputOptions, False),
"Overwrite": (boolean, False),
"S3Options": (S3TableOutputOptions, False),
"TableName": (str, True),
}
[docs]class DatabaseOutput(AWSProperty):
"""
`DatabaseOutput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-databaseoutput.html>`__
"""
props: PropsDictType = {
"DatabaseOptions": (DatabaseTableOutputOptions, True),
"DatabaseOutputMode": (str, False),
"GlueConnectionName": (str, True),
}
[docs]class JobRecipe(AWSProperty):
"""
`JobRecipe <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-recipe.html>`__
"""
props: PropsDictType = {
"Name": (str, True),
"Version": (str, False),
}
[docs]class JobSample(AWSProperty):
"""
`JobSample <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-jobsample.html>`__
"""
props: PropsDictType = {
"Mode": (str, False),
"Size": (integer, False),
}
[docs]class CsvOutputOptions(AWSProperty):
"""
`CsvOutputOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-csvoutputoptions.html>`__
"""
props: PropsDictType = {
"Delimiter": (str, False),
}
[docs]class Output(AWSProperty):
"""
`Output <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html>`__
"""
props: PropsDictType = {
"CompressionFormat": (str, False),
"Format": (str, False),
"FormatOptions": (OutputFormatOptions, False),
"Location": (S3Location, True),
"MaxOutputFiles": (integer, False),
"Overwrite": (boolean, False),
"PartitionColumns": ([str], False),
}
[docs]class OutputLocation(AWSProperty):
"""
`OutputLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputlocation.html>`__
"""
props: PropsDictType = {
"Bucket": (str, True),
"BucketOwner": (str, False),
"Key": (str, False),
}
[docs]class ColumnSelector(AWSProperty):
"""
`ColumnSelector <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-ruleset-columnselector.html>`__
"""
props: PropsDictType = {
"Name": (str, False),
"Regex": (str, False),
}
[docs]class StatisticOverride(AWSProperty):
"""
`StatisticOverride <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticoverride.html>`__
"""
props: PropsDictType = {
"Parameters": (dict, True),
"Statistic": (str, True),
}
[docs]class StatisticsConfiguration(AWSProperty):
"""
`StatisticsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticsconfiguration.html>`__
"""
props: PropsDictType = {
"IncludedStatistics": ([str], False),
"Overrides": ([StatisticOverride], False),
}
[docs]class ColumnStatisticsConfiguration(AWSProperty):
"""
`ColumnStatisticsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnstatisticsconfiguration.html>`__
"""
props: PropsDictType = {
"Selectors": ([ColumnSelector], False),
"Statistics": (StatisticsConfiguration, True),
}
[docs]class AllowedStatistics(AWSProperty):
"""
`AllowedStatistics <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-allowedstatistics.html>`__
"""
props: PropsDictType = {
"Statistics": ([str], True),
}
[docs]class EntityDetectorConfiguration(AWSProperty):
"""
`EntityDetectorConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-entitydetectorconfiguration.html>`__
"""
props: PropsDictType = {
"AllowedStatistics": (AllowedStatistics, False),
"EntityTypes": ([str], True),
}
[docs]class ProfileConfiguration(AWSProperty):
"""
`ProfileConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-profileconfiguration.html>`__
"""
props: PropsDictType = {
"ColumnStatisticsConfigurations": ([ColumnStatisticsConfiguration], False),
"DatasetStatisticsConfiguration": (StatisticsConfiguration, False),
"EntityDetectorConfiguration": (EntityDetectorConfiguration, False),
"ProfileColumns": ([ColumnSelector], False),
}
[docs]class ValidationConfiguration(AWSProperty):
"""
`ValidationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-validationconfiguration.html>`__
"""
props: PropsDictType = {
"RulesetArn": (str, True),
"ValidationMode": (str, False),
}
[docs]class Job(AWSObject):
"""
`Job <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html>`__
"""
resource_type = "AWS::DataBrew::Job"
props: PropsDictType = {
"DataCatalogOutputs": ([DataCatalogOutput], False),
"DatabaseOutputs": ([DatabaseOutput], False),
"DatasetName": (str, False),
"EncryptionKeyArn": (str, False),
"EncryptionMode": (str, False),
"JobSample": (JobSample, False),
"LogSubscription": (str, False),
"MaxCapacity": (integer, False),
"MaxRetries": (integer, False),
"Name": (str, True),
"OutputLocation": (OutputLocation, False),
"Outputs": ([Output], False),
"ProfileConfiguration": (ProfileConfiguration, False),
"ProjectName": (str, False),
"Recipe": (JobRecipe, False),
"RoleArn": (str, True),
"Tags": (Tags, False),
"Timeout": (integer, False),
"Type": (str, True),
"ValidationConfigurations": ([ValidationConfiguration], False),
}
[docs]class Sample(AWSProperty):
"""
`Sample <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-project-sample.html>`__
"""
props: PropsDictType = {
"Size": (integer, False),
"Type": (str, True),
}
[docs]class Project(AWSObject):
"""
`Project <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html>`__
"""
resource_type = "AWS::DataBrew::Project"
props: PropsDictType = {
"DatasetName": (str, True),
"Name": (str, True),
"RecipeName": (str, True),
"RoleArn": (str, True),
"Sample": (Sample, False),
"Tags": (Tags, False),
}
[docs]class RecipeParameters(AWSProperty):
"""
`RecipeParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipeparameters.html>`__
"""
props: PropsDictType = {
"AggregateFunction": (str, False),
"Base": (str, False),
"CaseStatement": (str, False),
"CategoryMap": (str, False),
"CharsToRemove": (str, False),
"CollapseConsecutiveWhitespace": (str, False),
"ColumnDataType": (str, False),
"ColumnRange": (str, False),
"Count": (str, False),
"CustomCharacters": (str, False),
"CustomStopWords": (str, False),
"CustomValue": (str, False),
"DatasetsColumns": (str, False),
"DateAddValue": (str, False),
"DateTimeFormat": (str, False),
"DateTimeParameters": (str, False),
"DeleteOtherRows": (str, False),
"Delimiter": (str, False),
"EndPattern": (str, False),
"EndPosition": (str, False),
"EndValue": (str, False),
"ExpandContractions": (str, False),
"Exponent": (str, False),
"FalseString": (str, False),
"GroupByAggFunctionOptions": (str, False),
"GroupByColumns": (str, False),
"HiddenColumns": (str, False),
"IgnoreCase": (str, False),
"IncludeInSplit": (str, False),
"Input": (Input, False),
"Interval": (str, False),
"IsText": (str, False),
"JoinKeys": (str, False),
"JoinType": (str, False),
"LeftColumns": (str, False),
"Limit": (str, False),
"LowerBound": (str, False),
"MapType": (str, False),
"ModeType": (str, False),
"MultiLine": (boolean, False),
"NumRows": (str, False),
"NumRowsAfter": (str, False),
"NumRowsBefore": (str, False),
"OrderByColumn": (str, False),
"OrderByColumns": (str, False),
"Other": (str, False),
"Pattern": (str, False),
"PatternOption1": (str, False),
"PatternOption2": (str, False),
"PatternOptions": (str, False),
"Period": (str, False),
"Position": (str, False),
"RemoveAllPunctuation": (str, False),
"RemoveAllQuotes": (str, False),
"RemoveAllWhitespace": (str, False),
"RemoveCustomCharacters": (str, False),
"RemoveCustomValue": (str, False),
"RemoveLeadingAndTrailingPunctuation": (str, False),
"RemoveLeadingAndTrailingQuotes": (str, False),
"RemoveLeadingAndTrailingWhitespace": (str, False),
"RemoveLetters": (str, False),
"RemoveNumbers": (str, False),
"RemoveSourceColumn": (str, False),
"RemoveSpecialCharacters": (str, False),
"RightColumns": (str, False),
"SampleSize": (str, False),
"SampleType": (str, False),
"SecondInput": (str, False),
"SecondaryInputs": ([SecondaryInput], False),
"SheetIndexes": ([integer], False),
"SheetNames": ([str], False),
"SourceColumn": (str, False),
"SourceColumn1": (str, False),
"SourceColumn2": (str, False),
"SourceColumns": (str, False),
"StartColumnIndex": (str, False),
"StartPattern": (str, False),
"StartPosition": (str, False),
"StartValue": (str, False),
"StemmingMode": (str, False),
"StepCount": (str, False),
"StepIndex": (str, False),
"StopWordsMode": (str, False),
"Strategy": (str, False),
"TargetColumn": (str, False),
"TargetColumnNames": (str, False),
"TargetDateFormat": (str, False),
"TargetIndex": (str, False),
"TimeZone": (str, False),
"TokenizerPattern": (str, False),
"TrueString": (str, False),
"UdfLang": (str, False),
"Units": (str, False),
"UnpivotColumn": (str, False),
"UpperBound": (str, False),
"UseNewDataFrame": (str, False),
"Value": (str, False),
"Value1": (str, False),
"Value2": (str, False),
"ValueColumn": (str, False),
"ViewFrame": (str, False),
}
[docs]class Action(AWSProperty):
"""
`Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-action.html>`__
"""
props: PropsDictType = {
"Operation": (str, True),
"Parameters": (RecipeParameters, False),
}
[docs]class ConditionExpression(AWSProperty):
"""
`ConditionExpression <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-conditionexpression.html>`__
"""
props: PropsDictType = {
"Condition": (str, True),
"TargetColumn": (str, True),
"Value": (str, False),
}
[docs]class RecipeStep(AWSProperty):
"""
`RecipeStep <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-recipestep.html>`__
"""
props: PropsDictType = {
"Action": (Action, True),
"ConditionExpressions": ([ConditionExpression], False),
}
[docs]class Recipe(AWSObject):
"""
`Recipe <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html>`__
"""
resource_type = "AWS::DataBrew::Recipe"
props: PropsDictType = {
"Description": (str, False),
"Name": (str, True),
"Steps": ([RecipeStep], True),
"Tags": (Tags, False),
}
[docs]class SubstitutionValue(AWSProperty):
"""
`SubstitutionValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-ruleset-substitutionvalue.html>`__
"""
props: PropsDictType = {
"Value": (str, True),
"ValueReference": (str, True),
}
[docs]class Threshold(AWSProperty):
"""
`Threshold <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-ruleset-threshold.html>`__
"""
props: PropsDictType = {
"Type": (str, False),
"Unit": (str, False),
"Value": (double, True),
}
[docs]class Rule(AWSProperty):
"""
`Rule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-ruleset-rule.html>`__
"""
props: PropsDictType = {
"CheckExpression": (str, True),
"ColumnSelectors": ([ColumnSelector], False),
"Disabled": (boolean, False),
"Name": (str, True),
"SubstitutionMap": ([SubstitutionValue], False),
"Threshold": (Threshold, False),
}
[docs]class Ruleset(AWSObject):
"""
`Ruleset <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html>`__
"""
resource_type = "AWS::DataBrew::Ruleset"
props: PropsDictType = {
"Description": (str, False),
"Name": (str, True),
"Rules": ([Rule], True),
"Tags": (Tags, False),
"TargetArn": (str, True),
}
[docs]class Schedule(AWSObject):
"""
`Schedule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html>`__
"""
resource_type = "AWS::DataBrew::Schedule"
props: PropsDictType = {
"CronExpression": (str, True),
"JobNames": ([str], False),
"Name": (str, True),
"Tags": (Tags, False),
}