{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/AwsAccountId",
  "/properties/DataSetId"
 ],
 "definitions": {
  "AggregateOperation": {
   "additionalProperties": false,
   "properties": {
    "Aggregations": {
     "items": {
      "$ref": "#/definitions/Aggregation"
     },
     "maxItems": 128,
     "minItems": 0,
     "type": "array"
    },
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "GroupByColumnNames": {
     "items": {
      "maxLength": 127,
      "minLength": 1,
      "type": "string"
     },
     "maxItems": 128,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "required": [
    "Alias",
    "Source",
    "Aggregations"
   ],
   "type": "object"
  },
  "Aggregation": {
   "additionalProperties": false,
   "properties": {
    "AggregationFunction": {
     "$ref": "#/definitions/DataPrepAggregationFunction"
    },
    "NewColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "NewColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "AggregationFunction",
    "NewColumnId",
    "NewColumnName"
   ],
   "type": "object"
  },
  "AppendOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "AppendedColumns": {
     "items": {
      "$ref": "#/definitions/AppendedColumn"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "FirstSource": {
     "$ref": "#/definitions/TransformOperationSource"
    },
    "SecondSource": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "required": [
    "Alias",
    "AppendedColumns"
   ],
   "type": "object"
  },
  "AppendedColumn": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "NewColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "ColumnName",
    "NewColumnId"
   ],
   "type": "object"
  },
  "CalculatedColumn": {
   "additionalProperties": false,
   "properties": {
    "ColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "Expression": {
     "maxLength": 250000,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "ColumnId",
    "ColumnName",
    "Expression"
   ],
   "type": "object"
  },
  "CastColumnTypeOperation": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "Format": {
     "maxLength": 32,
     "minLength": 0,
     "type": "string"
    },
    "NewColumnType": {
     "$ref": "#/definitions/ColumnDataType"
    },
    "SubType": {
     "$ref": "#/definitions/ColumnDataSubType"
    }
   },
   "required": [
    "ColumnName",
    "NewColumnType"
   ],
   "type": "object"
  },
  "CastColumnTypesOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "CastColumnTypeOperations": {
     "items": {
      "$ref": "#/definitions/CastColumnTypeOperation"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "required": [
    "Alias",
    "Source",
    "CastColumnTypeOperations"
   ],
   "type": "object"
  },
  "ColumnDataSubType": {
   "enum": [
    "FLOAT",
    "FIXED"
   ],
   "type": "string"
  },
  "ColumnDataType": {
   "enum": [
    "STRING",
    "INTEGER",
    "DECIMAL",
    "DATETIME"
   ],
   "type": "string"
  },
  "ColumnDescription": {
   "additionalProperties": false,
   "properties": {
    "Text": {
     "maxLength": 500,
     "minLength": 0,
     "type": "string"
    }
   },
   "type": "object"
  },
  "ColumnGroup": {
   "additionalProperties": false,
   "properties": {
    "GeoSpatialColumnGroup": {
     "$ref": "#/definitions/GeoSpatialColumnGroup"
    }
   },
   "type": "object"
  },
  "ColumnLevelPermissionRule": {
   "additionalProperties": false,
   "properties": {
    "ColumnNames": {
     "items": {
      "type": "string"
     },
     "minItems": 1,
     "type": "array"
    },
    "Principals": {
     "items": {
      "type": "string"
     },
     "maxItems": 100,
     "minItems": 1,
     "type": "array"
    }
   },
   "type": "object"
  },
  "ColumnTag": {
   "additionalProperties": false,
   "properties": {
    "ColumnDescription": {
     "$ref": "#/definitions/ColumnDescription"
    },
    "ColumnGeographicRole": {
     "$ref": "#/definitions/GeoSpatialDataRole"
    }
   },
   "type": "object"
  },
  "ColumnTagName": {
   "enum": [
    "COLUMN_GEOGRAPHIC_ROLE",
    "COLUMN_DESCRIPTION"
   ],
   "type": "string"
  },
  "ColumnToUnpivot": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "NewValue": {
     "maxLength": 2047,
     "minLength": 0,
     "type": "string"
    }
   },
   "type": "object"
  },
  "CreateColumnsOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "Columns": {
     "items": {
      "$ref": "#/definitions/CalculatedColumn"
     },
     "maxItems": 256,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "required": [
    "Columns"
   ],
   "type": "object"
  },
  "CustomSql": {
   "additionalProperties": false,
   "properties": {
    "Columns": {
     "items": {
      "$ref": "#/definitions/InputColumn"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "DataSourceArn": {
     "type": "string"
    },
    "Name": {
     "maxLength": 128,
     "minLength": 1,
     "type": "string"
    },
    "SqlQuery": {
     "maxLength": 168000,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "Columns",
    "DataSourceArn",
    "Name",
    "SqlQuery"
   ],
   "type": "object"
  },
  "DataPrepAggregationFunction": {
   "additionalProperties": false,
   "properties": {
    "ListAggregation": {
     "$ref": "#/definitions/DataPrepListAggregationFunction"
    },
    "PercentileAggregation": {
     "$ref": "#/definitions/DataPrepPercentileAggregationFunction"
    },
    "SimpleAggregation": {
     "$ref": "#/definitions/DataPrepSimpleAggregationFunction"
    }
   },
   "type": "object"
  },
  "DataPrepConfiguration": {
   "additionalProperties": false,
   "properties": {
    "DestinationTableMap": {
     "$ref": "#/definitions/DestinationTableMap"
    },
    "SourceTableMap": {
     "$ref": "#/definitions/SourceTableMap"
    },
    "TransformStepMap": {
     "$ref": "#/definitions/TransformStepMap"
    }
   },
   "required": [
    "DestinationTableMap",
    "SourceTableMap",
    "TransformStepMap"
   ],
   "type": "object"
  },
  "DataPrepListAggregationFunction": {
   "additionalProperties": false,
   "properties": {
    "Distinct": {
     "default": false,
     "type": "boolean"
    },
    "InputColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "Separator": {
     "type": "string"
    }
   },
   "required": [
    "Distinct",
    "Separator"
   ],
   "type": "object"
  },
  "DataPrepPercentileAggregationFunction": {
   "additionalProperties": false,
   "properties": {
    "InputColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "PercentileValue": {
     "default": 0,
     "maximum": 100,
     "minimum": 0,
     "type": "number"
    }
   },
   "required": [
    "PercentileValue"
   ],
   "type": "object"
  },
  "DataPrepSimpleAggregationFunction": {
   "additionalProperties": false,
   "properties": {
    "FunctionType": {
     "$ref": "#/definitions/DataPrepSimpleAggregationFunctionType"
    },
    "InputColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "FunctionType"
   ],
   "type": "object"
  },
  "DataPrepSimpleAggregationFunctionType": {
   "enum": [
    "COUNT",
    "DISTINCT_COUNT",
    "SUM",
    "AVERAGE",
    "MEDIAN",
    "MAX",
    "MIN",
    "VARIANCE",
    "STANDARD_DEVIATION"
   ],
   "type": "string"
  },
  "DataSetColumnIdMapping": {
   "additionalProperties": false,
   "properties": {
    "SourceColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "TargetColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "SourceColumnId",
    "TargetColumnId"
   ],
   "type": "object"
  },
  "DataSetDateComparisonFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "Operator": {
     "$ref": "#/definitions/DataSetDateComparisonFilterOperator"
    },
    "Value": {
     "$ref": "#/definitions/DataSetDateFilterValue"
    }
   },
   "required": [
    "Operator"
   ],
   "type": "object"
  },
  "DataSetDateComparisonFilterOperator": {
   "enum": [
    "BEFORE",
    "BEFORE_OR_EQUALS_TO",
    "AFTER",
    "AFTER_OR_EQUALS_TO"
   ],
   "type": "string"
  },
  "DataSetDateFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "ComparisonFilterCondition": {
     "$ref": "#/definitions/DataSetDateComparisonFilterCondition"
    },
    "RangeFilterCondition": {
     "$ref": "#/definitions/DataSetDateRangeFilterCondition"
    }
   },
   "type": "object"
  },
  "DataSetDateFilterValue": {
   "additionalProperties": false,
   "properties": {
    "StaticValue": {
     "format": "date-time",
     "type": "string"
    }
   },
   "type": "object"
  },
  "DataSetDateRangeFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "IncludeMaximum": {
     "default": null,
     "type": "boolean"
    },
    "IncludeMinimum": {
     "default": null,
     "type": "boolean"
    },
    "RangeMaximum": {
     "$ref": "#/definitions/DataSetDateFilterValue"
    },
    "RangeMinimum": {
     "$ref": "#/definitions/DataSetDateFilterValue"
    }
   },
   "type": "object"
  },
  "DataSetImportMode": {
   "enum": [
    "SPICE",
    "DIRECT_QUERY"
   ],
   "type": "string"
  },
  "DataSetNumericComparisonFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "Operator": {
     "$ref": "#/definitions/DataSetNumericComparisonFilterOperator"
    },
    "Value": {
     "$ref": "#/definitions/DataSetNumericFilterValue"
    }
   },
   "required": [
    "Operator"
   ],
   "type": "object"
  },
  "DataSetNumericComparisonFilterOperator": {
   "enum": [
    "EQUALS",
    "DOES_NOT_EQUAL",
    "GREATER_THAN",
    "GREATER_THAN_OR_EQUALS_TO",
    "LESS_THAN",
    "LESS_THAN_OR_EQUALS_TO"
   ],
   "type": "string"
  },
  "DataSetNumericFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "ComparisonFilterCondition": {
     "$ref": "#/definitions/DataSetNumericComparisonFilterCondition"
    },
    "RangeFilterCondition": {
     "$ref": "#/definitions/DataSetNumericRangeFilterCondition"
    }
   },
   "type": "object"
  },
  "DataSetNumericFilterValue": {
   "additionalProperties": false,
   "properties": {
    "StaticValue": {
     "default": null,
     "type": "number"
    }
   },
   "type": "object"
  },
  "DataSetNumericRangeFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "IncludeMaximum": {
     "default": null,
     "type": "boolean"
    },
    "IncludeMinimum": {
     "default": null,
     "type": "boolean"
    },
    "RangeMaximum": {
     "$ref": "#/definitions/DataSetNumericFilterValue"
    },
    "RangeMinimum": {
     "$ref": "#/definitions/DataSetNumericFilterValue"
    }
   },
   "type": "object"
  },
  "DataSetRefreshProperties": {
   "additionalProperties": false,
   "properties": {
    "FailureConfiguration": {
     "$ref": "#/definitions/RefreshFailureConfiguration"
    },
    "RefreshConfiguration": {
     "$ref": "#/definitions/RefreshConfiguration"
    }
   },
   "type": "object"
  },
  "DataSetStringComparisonFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "Operator": {
     "$ref": "#/definitions/DataSetStringComparisonFilterOperator"
    },
    "Value": {
     "$ref": "#/definitions/DataSetStringFilterValue"
    }
   },
   "required": [
    "Operator"
   ],
   "type": "object"
  },
  "DataSetStringComparisonFilterOperator": {
   "enum": [
    "EQUALS",
    "DOES_NOT_EQUAL",
    "CONTAINS",
    "DOES_NOT_CONTAIN",
    "STARTS_WITH",
    "ENDS_WITH"
   ],
   "type": "string"
  },
  "DataSetStringFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "ComparisonFilterCondition": {
     "$ref": "#/definitions/DataSetStringComparisonFilterCondition"
    },
    "ListFilterCondition": {
     "$ref": "#/definitions/DataSetStringListFilterCondition"
    }
   },
   "type": "object"
  },
  "DataSetStringFilterValue": {
   "additionalProperties": false,
   "properties": {
    "StaticValue": {
     "maxLength": 512,
     "minLength": 0,
     "type": "string"
    }
   },
   "type": "object"
  },
  "DataSetStringListFilterCondition": {
   "additionalProperties": false,
   "properties": {
    "Operator": {
     "$ref": "#/definitions/DataSetStringListFilterOperator"
    },
    "Values": {
     "$ref": "#/definitions/DataSetStringListFilterValue"
    }
   },
   "required": [
    "Operator"
   ],
   "type": "object"
  },
  "DataSetStringListFilterOperator": {
   "enum": [
    "INCLUDE",
    "EXCLUDE"
   ],
   "type": "string"
  },
  "DataSetStringListFilterValue": {
   "additionalProperties": false,
   "properties": {
    "StaticValues": {
     "items": {
      "maxLength": 512,
      "minLength": 0,
      "type": "string"
     },
     "maxItems": 1000,
     "minItems": 0,
     "type": "array"
    }
   },
   "type": "object"
  },
  "DataSetUsageConfiguration": {
   "additionalProperties": false,
   "properties": {
    "DisableUseAsDirectQuerySource": {
     "default": false,
     "type": "boolean"
    },
    "DisableUseAsImportedSource": {
     "default": false,
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "DataSetUseAs": {
   "enum": [
    "RLS_RULES"
   ],
   "type": "string"
  },
  "DatasetParameter": {
   "additionalProperties": false,
   "properties": {
    "DateTimeDatasetParameter": {
     "$ref": "#/definitions/DateTimeDatasetParameter"
    },
    "DecimalDatasetParameter": {
     "$ref": "#/definitions/DecimalDatasetParameter"
    },
    "IntegerDatasetParameter": {
     "$ref": "#/definitions/IntegerDatasetParameter"
    },
    "StringDatasetParameter": {
     "$ref": "#/definitions/StringDatasetParameter"
    }
   },
   "type": "object"
  },
  "DatasetParameterValueType": {
   "enum": [
    "MULTI_VALUED",
    "SINGLE_VALUED"
   ],
   "type": "string"
  },
  "DateTimeDatasetParameter": {
   "additionalProperties": false,
   "properties": {
    "DefaultValues": {
     "$ref": "#/definitions/DateTimeDatasetParameterDefaultValues"
    },
    "Id": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9-]+$",
     "type": "string"
    },
    "Name": {
     "maxLength": 2048,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9]+$",
     "type": "string"
    },
    "TimeGranularity": {
     "$ref": "#/definitions/TimeGranularity"
    },
    "ValueType": {
     "$ref": "#/definitions/DatasetParameterValueType"
    }
   },
   "required": [
    "Id",
    "Name",
    "ValueType"
   ],
   "type": "object"
  },
  "DateTimeDatasetParameterDefaultValues": {
   "additionalProperties": false,
   "properties": {
    "StaticValues": {
     "items": {
      "type": "string"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    }
   },
   "type": "object"
  },
  "DecimalDatasetParameter": {
   "additionalProperties": false,
   "properties": {
    "DefaultValues": {
     "$ref": "#/definitions/DecimalDatasetParameterDefaultValues"
    },
    "Id": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9-]+$",
     "type": "string"
    },
    "Name": {
     "maxLength": 2048,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9]+$",
     "type": "string"
    },
    "ValueType": {
     "$ref": "#/definitions/DatasetParameterValueType"
    }
   },
   "required": [
    "Id",
    "Name",
    "ValueType"
   ],
   "type": "object"
  },
  "DecimalDatasetParameterDefaultValues": {
   "additionalProperties": false,
   "properties": {
    "StaticValues": {
     "items": {
      "default": 0,
      "type": "number"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    }
   },
   "type": "object"
  },
  "DestinationTable": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "Source": {
     "$ref": "#/definitions/DestinationTableSource"
    }
   },
   "required": [
    "Alias",
    "Source"
   ],
   "type": "object"
  },
  "DestinationTableMap": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "patternProperties": {
    "^[0-9a-zA-Z-]*$": {
     "$ref": "#/definitions/DestinationTable"
    }
   },
   "type": "object"
  },
  "DestinationTableSource": {
   "additionalProperties": false,
   "properties": {
    "TransformOperationId": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    }
   },
   "required": [
    "TransformOperationId"
   ],
   "type": "object"
  },
  "FieldFolder": {
   "additionalProperties": false,
   "properties": {
    "Columns": {
     "items": {
      "type": "string"
     },
     "maxItems": 5000,
     "minItems": 0,
     "type": "array"
    },
    "Description": {
     "maxLength": 500,
     "minLength": 0,
     "type": "string"
    }
   },
   "type": "object"
  },
  "FieldFolderMap": {
   "additionalProperties": false,
   "patternProperties": {
    ".+": {
     "$ref": "#/definitions/FieldFolder"
    }
   },
   "type": "object"
  },
  "FileFormat": {
   "enum": [
    "CSV",
    "TSV",
    "CLF",
    "ELF",
    "XLSX",
    "JSON"
   ],
   "type": "string"
  },
  "FilterOperation": {
   "additionalProperties": false,
   "properties": {
    "ConditionExpression": {
     "maxLength": 4096,
     "minLength": 1,
     "type": "string"
    },
    "DateFilterCondition": {
     "$ref": "#/definitions/DataSetDateFilterCondition"
    },
    "NumericFilterCondition": {
     "$ref": "#/definitions/DataSetNumericFilterCondition"
    },
    "StringFilterCondition": {
     "$ref": "#/definitions/DataSetStringFilterCondition"
    }
   },
   "type": "object"
  },
  "FiltersOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "FilterOperations": {
     "items": {
      "$ref": "#/definitions/FilterOperation"
     },
     "maxItems": 128,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "required": [
    "Alias",
    "FilterOperations",
    "Source"
   ],
   "type": "object"
  },
  "GeoSpatialColumnGroup": {
   "additionalProperties": false,
   "properties": {
    "Columns": {
     "items": {
      "maxLength": 127,
      "minLength": 1,
      "type": "string"
     },
     "maxItems": 16,
     "minItems": 1,
     "type": "array"
    },
    "CountryCode": {
     "$ref": "#/definitions/GeoSpatialCountryCode"
    },
    "Name": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "Columns",
    "Name"
   ],
   "type": "object"
  },
  "GeoSpatialCountryCode": {
   "enum": [
    "US"
   ],
   "type": "string"
  },
  "GeoSpatialDataRole": {
   "enum": [
    "COUNTRY",
    "STATE",
    "COUNTY",
    "CITY",
    "POSTCODE",
    "LONGITUDE",
    "LATITUDE",
    "POLITICAL1",
    "CENSUS_TRACT",
    "CENSUS_BLOCK_GROUP",
    "CENSUS_BLOCK"
   ],
   "type": "string"
  },
  "ImportTableOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "Source": {
     "$ref": "#/definitions/ImportTableOperationSource"
    }
   },
   "required": [
    "Alias",
    "Source"
   ],
   "type": "object"
  },
  "ImportTableOperationSource": {
   "additionalProperties": false,
   "properties": {
    "ColumnIdMappings": {
     "items": {
      "$ref": "#/definitions/DataSetColumnIdMapping"
     },
     "maxItems": 2048,
     "minItems": 1,
     "type": "array"
    },
    "SourceTableId": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    }
   },
   "required": [
    "SourceTableId"
   ],
   "type": "object"
  },
  "IncrementalRefresh": {
   "additionalProperties": false,
   "properties": {
    "LookbackWindow": {
     "$ref": "#/definitions/LookbackWindow"
    }
   },
   "required": [
    "LookbackWindow"
   ],
   "type": "object"
  },
  "IngestionWaitPolicy": {
   "additionalProperties": false,
   "properties": {
    "IngestionWaitTimeInHours": {
     "default": 36,
     "maximum": 36,
     "minimum": 1,
     "type": "number"
    },
    "WaitForSpiceIngestion": {
     "default": true,
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "InputColumn": {
   "additionalProperties": false,
   "properties": {
    "Id": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "Name": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "SubType": {
     "$ref": "#/definitions/ColumnDataSubType"
    },
    "Type": {
     "$ref": "#/definitions/InputColumnDataType"
    }
   },
   "required": [
    "Name",
    "Type"
   ],
   "type": "object"
  },
  "InputColumnDataType": {
   "enum": [
    "STRING",
    "INTEGER",
    "DECIMAL",
    "DATETIME",
    "BIT",
    "BOOLEAN",
    "JSON"
   ],
   "type": "string"
  },
  "IntegerDatasetParameter": {
   "additionalProperties": false,
   "properties": {
    "DefaultValues": {
     "$ref": "#/definitions/IntegerDatasetParameterDefaultValues"
    },
    "Id": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9-]+$",
     "type": "string"
    },
    "Name": {
     "maxLength": 2048,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9]+$",
     "type": "string"
    },
    "ValueType": {
     "$ref": "#/definitions/DatasetParameterValueType"
    }
   },
   "required": [
    "Id",
    "Name",
    "ValueType"
   ],
   "type": "object"
  },
  "IntegerDatasetParameterDefaultValues": {
   "additionalProperties": false,
   "properties": {
    "StaticValues": {
     "items": {
      "default": 0,
      "format": "int64",
      "type": "integer"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    }
   },
   "type": "object"
  },
  "JoinInstruction": {
   "additionalProperties": false,
   "properties": {
    "LeftJoinKeyProperties": {
     "$ref": "#/definitions/JoinKeyProperties"
    },
    "LeftOperand": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    },
    "OnClause": {
     "maxLength": 512,
     "minLength": 1,
     "type": "string"
    },
    "RightJoinKeyProperties": {
     "$ref": "#/definitions/JoinKeyProperties"
    },
    "RightOperand": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    },
    "Type": {
     "$ref": "#/definitions/JoinType"
    }
   },
   "required": [
    "LeftOperand",
    "OnClause",
    "RightOperand",
    "Type"
   ],
   "type": "object"
  },
  "JoinKeyProperties": {
   "additionalProperties": false,
   "properties": {
    "UniqueKey": {
     "type": "boolean"
    }
   },
   "type": "object"
  },
  "JoinOperandProperties": {
   "additionalProperties": false,
   "properties": {
    "OutputColumnNameOverrides": {
     "items": {
      "$ref": "#/definitions/OutputColumnNameOverride"
     },
     "maxItems": 2048,
     "minItems": 1,
     "type": "array"
    }
   },
   "required": [
    "OutputColumnNameOverrides"
   ],
   "type": "object"
  },
  "JoinOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "LeftOperand": {
     "$ref": "#/definitions/TransformOperationSource"
    },
    "LeftOperandProperties": {
     "$ref": "#/definitions/JoinOperandProperties"
    },
    "OnClause": {
     "maxLength": 512,
     "minLength": 1,
     "type": "string"
    },
    "RightOperand": {
     "$ref": "#/definitions/TransformOperationSource"
    },
    "RightOperandProperties": {
     "$ref": "#/definitions/JoinOperandProperties"
    },
    "Type": {
     "$ref": "#/definitions/JoinOperationType"
    }
   },
   "required": [
    "Alias",
    "LeftOperand",
    "RightOperand",
    "Type",
    "OnClause"
   ],
   "type": "object"
  },
  "JoinOperationType": {
   "enum": [
    "INNER",
    "OUTER",
    "LEFT",
    "RIGHT"
   ],
   "type": "string"
  },
  "JoinType": {
   "enum": [
    "INNER",
    "OUTER",
    "LEFT",
    "RIGHT"
   ],
   "type": "string"
  },
  "LogicalTable": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "DataTransforms": {
     "items": {
      "$ref": "#/definitions/TransformOperation"
     },
     "maxItems": 2048,
     "minItems": 1,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/LogicalTableSource"
    }
   },
   "required": [
    "Alias",
    "Source"
   ],
   "type": "object"
  },
  "LogicalTableMap": {
   "additionalProperties": false,
   "maxProperties": 64,
   "minProperties": 1,
   "patternProperties": {
    "^[0-9a-zA-Z-]*$": {
     "$ref": "#/definitions/LogicalTable"
    }
   },
   "type": "object"
  },
  "LogicalTableSource": {
   "additionalProperties": false,
   "properties": {
    "DataSetArn": {
     "type": "string"
    },
    "JoinInstruction": {
     "$ref": "#/definitions/JoinInstruction"
    },
    "PhysicalTableId": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    }
   },
   "type": "object"
  },
  "LookbackWindow": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "type": "string"
    },
    "Size": {
     "default": 0,
     "minimum": 1,
     "type": "number"
    },
    "SizeUnit": {
     "$ref": "#/definitions/LookbackWindowSizeUnit"
    }
   },
   "required": [
    "ColumnName",
    "Size",
    "SizeUnit"
   ],
   "type": "object"
  },
  "LookbackWindowSizeUnit": {
   "enum": [
    "HOUR",
    "DAY",
    "WEEK"
   ],
   "type": "string"
  },
  "NewDefaultValues": {
   "additionalProperties": false,
   "properties": {
    "DateTimeStaticValues": {
     "items": {
      "type": "string"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    },
    "DecimalStaticValues": {
     "items": {
      "default": 0,
      "type": "number"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    },
    "IntegerStaticValues": {
     "items": {
      "default": 0,
      "format": "int64",
      "type": "integer"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    },
    "StringStaticValues": {
     "items": {
      "maxLength": 512,
      "minLength": 0,
      "type": "string"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    }
   },
   "type": "object"
  },
  "OutputColumn": {
   "additionalProperties": false,
   "properties": {
    "Description": {
     "maxLength": 500,
     "minLength": 0,
     "type": "string"
    },
    "Id": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "Name": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "SubType": {
     "$ref": "#/definitions/ColumnDataSubType"
    },
    "Type": {
     "$ref": "#/definitions/ColumnDataType"
    }
   },
   "type": "object"
  },
  "OutputColumnNameOverride": {
   "additionalProperties": false,
   "properties": {
    "OutputColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "SourceColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "OutputColumnName"
   ],
   "type": "object"
  },
  "OverrideDatasetParameterOperation": {
   "additionalProperties": false,
   "properties": {
    "NewDefaultValues": {
     "$ref": "#/definitions/NewDefaultValues"
    },
    "NewParameterName": {
     "maxLength": 2048,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9]+$",
     "type": "string"
    },
    "ParameterName": {
     "maxLength": 2048,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9]+$",
     "type": "string"
    }
   },
   "required": [
    "ParameterName"
   ],
   "type": "object"
  },
  "ParentDataSet": {
   "additionalProperties": false,
   "properties": {
    "DataSetArn": {
     "type": "string"
    },
    "InputColumns": {
     "items": {
      "$ref": "#/definitions/InputColumn"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    }
   },
   "required": [
    "DataSetArn",
    "InputColumns"
   ],
   "type": "object"
  },
  "PerformanceConfiguration": {
   "additionalProperties": false,
   "properties": {
    "UniqueKeys": {
     "items": {
      "$ref": "#/definitions/UniqueKey"
     },
     "maxItems": 1,
     "minItems": 1,
     "type": "array"
    }
   },
   "type": "object"
  },
  "PhysicalTable": {
   "additionalProperties": false,
   "properties": {
    "CustomSql": {
     "$ref": "#/definitions/CustomSql"
    },
    "RelationalTable": {
     "$ref": "#/definitions/RelationalTable"
    },
    "S3Source": {
     "$ref": "#/definitions/S3Source"
    },
    "SaaSTable": {
     "$ref": "#/definitions/SaaSTable"
    }
   },
   "type": "object"
  },
  "PhysicalTableMap": {
   "additionalProperties": false,
   "maxProperties": 32,
   "minProperties": 0,
   "patternProperties": {
    "^[0-9a-zA-Z-]*$": {
     "$ref": "#/definitions/PhysicalTable"
    }
   },
   "type": "object"
  },
  "PivotConfiguration": {
   "additionalProperties": false,
   "properties": {
    "LabelColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "PivotedLabels": {
     "items": {
      "$ref": "#/definitions/PivotedLabel"
     },
     "maxItems": 100,
     "minItems": 0,
     "type": "array"
    }
   },
   "required": [
    "PivotedLabels"
   ],
   "type": "object"
  },
  "PivotOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "GroupByColumnNames": {
     "items": {
      "maxLength": 127,
      "minLength": 1,
      "type": "string"
     },
     "maxItems": 128,
     "minItems": 0,
     "type": "array"
    },
    "PivotConfiguration": {
     "$ref": "#/definitions/PivotConfiguration"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    },
    "ValueColumnConfiguration": {
     "$ref": "#/definitions/ValueColumnConfiguration"
    }
   },
   "required": [
    "Alias",
    "PivotConfiguration",
    "Source",
    "ValueColumnConfiguration"
   ],
   "type": "object"
  },
  "PivotedLabel": {
   "additionalProperties": false,
   "properties": {
    "LabelName": {
     "maxLength": 2047,
     "minLength": 0,
     "type": "string"
    },
    "NewColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "NewColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "LabelName",
    "NewColumnId",
    "NewColumnName"
   ],
   "type": "object"
  },
  "ProjectOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "ProjectedColumns": {
     "items": {
      "type": "string"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "type": "object"
  },
  "RefreshConfiguration": {
   "additionalProperties": false,
   "properties": {
    "IncrementalRefresh": {
     "$ref": "#/definitions/IncrementalRefresh"
    }
   },
   "required": [
    "IncrementalRefresh"
   ],
   "type": "object"
  },
  "RefreshFailureAlertStatus": {
   "enum": [
    "ENABLED",
    "DISABLED"
   ],
   "type": "string"
  },
  "RefreshFailureConfiguration": {
   "additionalProperties": false,
   "properties": {
    "EmailAlert": {
     "$ref": "#/definitions/RefreshFailureEmailAlert"
    }
   },
   "type": "object"
  },
  "RefreshFailureEmailAlert": {
   "additionalProperties": false,
   "properties": {
    "AlertStatus": {
     "$ref": "#/definitions/RefreshFailureAlertStatus"
    }
   },
   "type": "object"
  },
  "RelationalTable": {
   "additionalProperties": false,
   "properties": {
    "Catalog": {
     "maxLength": 256,
     "minLength": 0,
     "type": "string"
    },
    "DataSourceArn": {
     "type": "string"
    },
    "InputColumns": {
     "items": {
      "$ref": "#/definitions/InputColumn"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "Name": {
     "maxLength": 256,
     "minLength": 1,
     "type": "string"
    },
    "Schema": {
     "maxLength": 256,
     "minLength": 0,
     "type": "string"
    }
   },
   "required": [
    "DataSourceArn",
    "InputColumns",
    "Name"
   ],
   "type": "object"
  },
  "RenameColumnOperation": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "NewColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "ColumnName",
    "NewColumnName"
   ],
   "type": "object"
  },
  "RenameColumnsOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "RenameColumnOperations": {
     "items": {
      "$ref": "#/definitions/RenameColumnOperation"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    }
   },
   "required": [
    "Alias",
    "Source",
    "RenameColumnOperations"
   ],
   "type": "object"
  },
  "ResourcePermission": {
   "additionalProperties": false,
   "properties": {
    "Actions": {
     "items": {
      "type": "string"
     },
     "maxItems": 20,
     "minItems": 1,
     "type": "array"
    },
    "Principal": {
     "maxLength": 256,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "Actions",
    "Principal"
   ],
   "type": "object"
  },
  "RowLevelPermissionConfiguration": {
   "additionalProperties": false,
   "properties": {
    "RowLevelPermissionDataSet": {
     "$ref": "#/definitions/RowLevelPermissionDataSet"
    },
    "TagConfiguration": {
     "$ref": "#/definitions/RowLevelPermissionTagConfiguration"
    }
   },
   "type": "object"
  },
  "RowLevelPermissionDataSet": {
   "additionalProperties": false,
   "properties": {
    "Arn": {
     "type": "string"
    },
    "FormatVersion": {
     "$ref": "#/definitions/RowLevelPermissionFormatVersion"
    },
    "Namespace": {
     "maxLength": 64,
     "minLength": 0,
     "pattern": "^[a-zA-Z0-9._-]*$",
     "type": "string"
    },
    "PermissionPolicy": {
     "$ref": "#/definitions/RowLevelPermissionPolicy"
    },
    "Status": {
     "$ref": "#/definitions/Status"
    }
   },
   "required": [
    "Arn",
    "PermissionPolicy"
   ],
   "type": "object"
  },
  "RowLevelPermissionFormatVersion": {
   "enum": [
    "VERSION_1",
    "VERSION_2"
   ],
   "type": "string"
  },
  "RowLevelPermissionPolicy": {
   "enum": [
    "GRANT_ACCESS",
    "DENY_ACCESS"
   ],
   "type": "string"
  },
  "RowLevelPermissionTagConfiguration": {
   "additionalProperties": false,
   "properties": {
    "Status": {
     "$ref": "#/definitions/Status"
    },
    "TagRuleConfigurations": {
     "items": {
      "items": {
       "maxLength": 128,
       "minLength": 1,
       "type": "string"
      },
      "maxItems": 50,
      "minItems": 1,
      "type": "array"
     },
     "maxItems": 50,
     "minItems": 1,
     "type": "array"
    },
    "TagRules": {
     "items": {
      "$ref": "#/definitions/RowLevelPermissionTagRule"
     },
     "maxItems": 50,
     "minItems": 1,
     "type": "array"
    }
   },
   "required": [
    "TagRules"
   ],
   "type": "object"
  },
  "RowLevelPermissionTagRule": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "type": "string"
    },
    "MatchAllValue": {
     "maxLength": 256,
     "minLength": 1,
     "type": "string"
    },
    "TagKey": {
     "maxLength": 128,
     "minLength": 1,
     "type": "string"
    },
    "TagMultiValueDelimiter": {
     "maxLength": 10,
     "minLength": 0,
     "type": "string"
    }
   },
   "required": [
    "ColumnName",
    "TagKey"
   ],
   "type": "object"
  },
  "S3Source": {
   "additionalProperties": false,
   "properties": {
    "DataSourceArn": {
     "type": "string"
    },
    "InputColumns": {
     "items": {
      "$ref": "#/definitions/InputColumn"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "UploadSettings": {
     "$ref": "#/definitions/UploadSettings"
    }
   },
   "required": [
    "DataSourceArn",
    "InputColumns"
   ],
   "type": "object"
  },
  "SaaSTable": {
   "additionalProperties": false,
   "properties": {
    "DataSourceArn": {
     "type": "string"
    },
    "InputColumns": {
     "items": {
      "$ref": "#/definitions/InputColumn"
     },
     "maxItems": 2048,
     "minItems": 0,
     "type": "array"
    },
    "TablePath": {
     "items": {
      "$ref": "#/definitions/TablePathElement"
     },
     "maxItems": 32,
     "minItems": 1,
     "type": "array"
    }
   },
   "required": [
    "DataSourceArn",
    "InputColumns",
    "TablePath"
   ],
   "type": "object"
  },
  "SemanticModelConfiguration": {
   "additionalProperties": false,
   "properties": {
    "TableMap": {
     "$ref": "#/definitions/SemanticTableMap"
    }
   },
   "type": "object"
  },
  "SemanticTable": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "DestinationTableId": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    },
    "RowLevelPermissionConfiguration": {
     "$ref": "#/definitions/RowLevelPermissionConfiguration"
    }
   },
   "required": [
    "Alias",
    "DestinationTableId"
   ],
   "type": "object"
  },
  "SemanticTableMap": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "patternProperties": {
    "^[0-9a-zA-Z-]*$": {
     "$ref": "#/definitions/SemanticTable"
    }
   },
   "type": "object"
  },
  "SourceTable": {
   "additionalProperties": false,
   "properties": {
    "DataSet": {
     "$ref": "#/definitions/ParentDataSet"
    },
    "PhysicalTableId": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    }
   },
   "type": "object"
  },
  "SourceTableMap": {
   "additionalProperties": false,
   "maxProperties": 32,
   "minProperties": 1,
   "patternProperties": {
    "^[0-9a-zA-Z-]*$": {
     "$ref": "#/definitions/SourceTable"
    }
   },
   "type": "object"
  },
  "Status": {
   "enum": [
    "ENABLED",
    "DISABLED"
   ],
   "type": "string"
  },
  "StringDatasetParameter": {
   "additionalProperties": false,
   "properties": {
    "DefaultValues": {
     "$ref": "#/definitions/StringDatasetParameterDefaultValues"
    },
    "Id": {
     "maxLength": 128,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9-]+$",
     "type": "string"
    },
    "Name": {
     "maxLength": 2048,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9]+$",
     "type": "string"
    },
    "ValueType": {
     "$ref": "#/definitions/DatasetParameterValueType"
    }
   },
   "required": [
    "Id",
    "Name",
    "ValueType"
   ],
   "type": "object"
  },
  "StringDatasetParameterDefaultValues": {
   "additionalProperties": false,
   "properties": {
    "StaticValues": {
     "items": {
      "maxLength": 512,
      "minLength": 0,
      "type": "string"
     },
     "maxItems": 32,
     "minItems": 0,
     "type": "array"
    }
   },
   "type": "object"
  },
  "TablePathElement": {
   "additionalProperties": false,
   "properties": {
    "Id": {
     "maxLength": 256,
     "minLength": 1,
     "type": "string"
    },
    "Name": {
     "maxLength": 256,
     "minLength": 1,
     "type": "string"
    }
   },
   "type": "object"
  },
  "Tag": {
   "additionalProperties": false,
   "properties": {
    "Key": {
     "maxLength": 128,
     "minLength": 1,
     "type": "string"
    },
    "Value": {
     "maxLength": 256,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "Key",
    "Value"
   ],
   "type": "object"
  },
  "TagColumnOperation": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "Tags": {
     "items": {
      "$ref": "#/definitions/ColumnTag"
     },
     "maxItems": 16,
     "minItems": 1,
     "type": "array"
    }
   },
   "required": [
    "ColumnName",
    "Tags"
   ],
   "type": "object"
  },
  "TextQualifier": {
   "enum": [
    "DOUBLE_QUOTE",
    "SINGLE_QUOTE"
   ],
   "type": "string"
  },
  "TimeGranularity": {
   "enum": [
    "YEAR",
    "QUARTER",
    "MONTH",
    "WEEK",
    "DAY",
    "HOUR",
    "MINUTE",
    "SECOND",
    "MILLISECOND"
   ],
   "type": "string"
  },
  "TransformOperation": {
   "additionalProperties": false,
   "properties": {
    "CastColumnTypeOperation": {
     "$ref": "#/definitions/CastColumnTypeOperation"
    },
    "CreateColumnsOperation": {
     "$ref": "#/definitions/CreateColumnsOperation"
    },
    "FilterOperation": {
     "$ref": "#/definitions/FilterOperation"
    },
    "OverrideDatasetParameterOperation": {
     "$ref": "#/definitions/OverrideDatasetParameterOperation"
    },
    "ProjectOperation": {
     "$ref": "#/definitions/ProjectOperation"
    },
    "RenameColumnOperation": {
     "$ref": "#/definitions/RenameColumnOperation"
    },
    "TagColumnOperation": {
     "$ref": "#/definitions/TagColumnOperation"
    },
    "UntagColumnOperation": {
     "$ref": "#/definitions/UntagColumnOperation"
    }
   },
   "type": "object"
  },
  "TransformOperationSource": {
   "additionalProperties": false,
   "properties": {
    "ColumnIdMappings": {
     "items": {
      "$ref": "#/definitions/DataSetColumnIdMapping"
     },
     "maxItems": 2048,
     "minItems": 1,
     "type": "array"
    },
    "TransformOperationId": {
     "maxLength": 64,
     "minLength": 1,
     "pattern": "^[0-9a-zA-Z-]*$",
     "type": "string"
    }
   },
   "required": [
    "TransformOperationId"
   ],
   "type": "object"
  },
  "TransformStep": {
   "additionalProperties": false,
   "properties": {
    "AggregateStep": {
     "$ref": "#/definitions/AggregateOperation"
    },
    "AppendStep": {
     "$ref": "#/definitions/AppendOperation"
    },
    "CastColumnTypesStep": {
     "$ref": "#/definitions/CastColumnTypesOperation"
    },
    "CreateColumnsStep": {
     "$ref": "#/definitions/CreateColumnsOperation"
    },
    "FiltersStep": {
     "$ref": "#/definitions/FiltersOperation"
    },
    "ImportTableStep": {
     "$ref": "#/definitions/ImportTableOperation"
    },
    "JoinStep": {
     "$ref": "#/definitions/JoinOperation"
    },
    "PivotStep": {
     "$ref": "#/definitions/PivotOperation"
    },
    "ProjectStep": {
     "$ref": "#/definitions/ProjectOperation"
    },
    "RenameColumnsStep": {
     "$ref": "#/definitions/RenameColumnsOperation"
    },
    "UnpivotStep": {
     "$ref": "#/definitions/UnpivotOperation"
    }
   },
   "type": "object"
  },
  "TransformStepMap": {
   "additionalProperties": false,
   "maxProperties": 256,
   "minProperties": 1,
   "patternProperties": {
    "^[0-9a-zA-Z-]*$": {
     "$ref": "#/definitions/TransformStep"
    }
   },
   "type": "object"
  },
  "UniqueKey": {
   "additionalProperties": false,
   "properties": {
    "ColumnNames": {
     "items": {
      "maxLength": 127,
      "minLength": 1,
      "type": "string"
     },
     "maxItems": 1,
     "minItems": 1,
     "type": "array"
    }
   },
   "required": [
    "ColumnNames"
   ],
   "type": "object"
  },
  "UnpivotOperation": {
   "additionalProperties": false,
   "properties": {
    "Alias": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "ColumnsToUnpivot": {
     "items": {
      "$ref": "#/definitions/ColumnToUnpivot"
     },
     "maxItems": 100,
     "minItems": 0,
     "type": "array"
    },
    "Source": {
     "$ref": "#/definitions/TransformOperationSource"
    },
    "UnpivotedLabelColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "UnpivotedLabelColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "UnpivotedValueColumnId": {
     "maxLength": 64,
     "minLength": 1,
     "type": "string"
    },
    "UnpivotedValueColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "Alias",
    "ColumnsToUnpivot",
    "Source",
    "UnpivotedLabelColumnId",
    "UnpivotedLabelColumnName",
    "UnpivotedValueColumnId",
    "UnpivotedValueColumnName"
   ],
   "type": "object"
  },
  "UntagColumnOperation": {
   "additionalProperties": false,
   "properties": {
    "ColumnName": {
     "maxLength": 127,
     "minLength": 1,
     "type": "string"
    },
    "TagNames": {
     "items": {
      "$ref": "#/definitions/ColumnTagName"
     },
     "type": "array"
    }
   },
   "required": [
    "ColumnName",
    "TagNames"
   ],
   "type": "object"
  },
  "UploadSettings": {
   "additionalProperties": false,
   "properties": {
    "ContainsHeader": {
     "type": "boolean"
    },
    "Delimiter": {
     "maxLength": 1,
     "minLength": 1,
     "type": "string"
    },
    "Format": {
     "$ref": "#/definitions/FileFormat"
    },
    "StartFromRow": {
     "minimum": 1,
     "type": "number"
    },
    "TextQualifier": {
     "$ref": "#/definitions/TextQualifier"
    }
   },
   "type": "object"
  },
  "ValueColumnConfiguration": {
   "additionalProperties": false,
   "properties": {
    "AggregationFunction": {
     "$ref": "#/definitions/DataPrepAggregationFunction"
    }
   },
   "type": "object"
  }
 },
 "deprecatedProperties": [
  "/properties/LogicalTableMap",
  "/properties/RowLevelPermissionDataSet",
  "/properties/RowLevelPermissionTagConfiguration"
 ],
 "primaryIdentifier": [
  "/properties/AwsAccountId",
  "/properties/DataSetId"
 ],
 "properties": {
  "Arn": {
   "type": "string"
  },
  "AwsAccountId": {
   "maxLength": 12,
   "minLength": 12,
   "pattern": "^[0-9]{12}$",
   "type": "string"
  },
  "ColumnGroups": {
   "items": {
    "$ref": "#/definitions/ColumnGroup"
   },
   "maxItems": 8,
   "minItems": 1,
   "type": "array"
  },
  "ColumnLevelPermissionRules": {
   "items": {
    "$ref": "#/definitions/ColumnLevelPermissionRule"
   },
   "minItems": 1,
   "type": "array"
  },
  "ConsumedSpiceCapacityInBytes": {
   "default": 0,
   "type": "number"
  },
  "CreatedTime": {
   "format": "string",
   "type": "string"
  },
  "DataPrepConfiguration": {
   "$ref": "#/definitions/DataPrepConfiguration"
  },
  "DataSetId": {
   "type": "string"
  },
  "DataSetRefreshProperties": {
   "$ref": "#/definitions/DataSetRefreshProperties"
  },
  "DataSetUsageConfiguration": {
   "$ref": "#/definitions/DataSetUsageConfiguration"
  },
  "DatasetParameters": {
   "items": {
    "$ref": "#/definitions/DatasetParameter"
   },
   "maxItems": 32,
   "minItems": 0,
   "type": "array"
  },
  "FieldFolders": {
   "$ref": "#/definitions/FieldFolderMap"
  },
  "FolderArns": {
   "items": {
    "type": "string"
   },
   "maxItems": 10,
   "minItems": 0,
   "type": "array"
  },
  "ImportMode": {
   "$ref": "#/definitions/DataSetImportMode"
  },
  "IngestionWaitPolicy": {
   "$ref": "#/definitions/IngestionWaitPolicy"
  },
  "LastUpdatedTime": {
   "format": "string",
   "type": "string"
  },
  "LogicalTableMap": {
   "$ref": "#/definitions/LogicalTableMap"
  },
  "Name": {
   "maxLength": 128,
   "minLength": 1,
   "type": "string"
  },
  "OutputColumns": {
   "items": {
    "$ref": "#/definitions/OutputColumn"
   },
   "type": "array"
  },
  "PerformanceConfiguration": {
   "$ref": "#/definitions/PerformanceConfiguration"
  },
  "Permissions": {
   "items": {
    "$ref": "#/definitions/ResourcePermission"
   },
   "maxItems": 64,
   "minItems": 1,
   "type": "array"
  },
  "PhysicalTableMap": {
   "$ref": "#/definitions/PhysicalTableMap"
  },
  "RowLevelPermissionDataSet": {
   "$ref": "#/definitions/RowLevelPermissionDataSet"
  },
  "RowLevelPermissionTagConfiguration": {
   "$ref": "#/definitions/RowLevelPermissionTagConfiguration"
  },
  "SemanticModelConfiguration": {
   "$ref": "#/definitions/SemanticModelConfiguration"
  },
  "Tags": {
   "items": {
    "$ref": "#/definitions/Tag"
   },
   "maxItems": 200,
   "minItems": 1,
   "type": "array"
  },
  "UseAs": {
   "$ref": "#/definitions/DataSetUseAs"
  }
 },
 "readOnlyProperties": [
  "/properties/Arn",
  "/properties/ConsumedSpiceCapacityInBytes",
  "/properties/CreatedTime",
  "/properties/LastUpdatedTime",
  "/properties/OutputColumns"
 ],
 "tagging": {
  "cloudFormationSystemTags": true,
  "tagOnCreate": true,
  "tagProperty": "/properties/Tags",
  "tagUpdatable": true,
  "taggable": true
 },
 "typeName": "AWS::QuickSight::DataSet",
 "writeOnlyProperties": [
  "/properties/FieldFolders",
  "/properties/IngestionWaitPolicy",
  "/properties/FolderArns"
 ]
}
