{
  "tagging" : {
    "permissions" : [ "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ],
    "taggable" : true,
    "tagOnCreate" : true,
    "tagUpdatable" : true,
    "tagProperty" : "/properties/Tags",
    "cloudFormationSystemTags" : true
  },
  "deprecatedProperties" : [ "/properties/LogicalTableMap", "/properties/RowLevelPermissionDataSet", "/properties/RowLevelPermissionTagConfiguration" ],
  "handlers" : {
    "read" : {
      "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties" ]
    },
    "create" : {
      "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:DescribeIngestion", "quicksight:ListIngestions", "quicksight:CreateDataSet", "quicksight:PassDataSource", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties", "quicksight:PutDataSetRefreshProperties", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource" ]
    },
    "update" : {
      "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:PassDataSource", "quicksight:UpdateDataSet", "quicksight:UpdateDataSetPermissions", "quicksight:PassDataSet", "quicksight:DescribeIngestion", "quicksight:ListIngestions", "quicksight:CancelIngestion", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource", "quicksight:PutDataSetRefreshProperties", "quicksight:DescribeDataSetRefreshProperties", "quicksight:DeleteDataSetRefreshProperties" ]
    },
    "list" : {
      "permissions" : [ "quicksight:DescribeDataSet", "quicksight:ListDataSets" ]
    },
    "delete" : {
      "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DeleteDataSet", "quicksight:ListTagsForResource", "quicksight:DescribeIngestion", "quicksight:DeleteDataSetRefreshProperties", "quicksight:DescribeDataSetRefreshProperties" ]
    }
  },
  "typeName" : "AWS::QuickSight::DataSet",
  "readOnlyProperties" : [ "/properties/Arn", "/properties/ConsumedSpiceCapacityInBytes", "/properties/CreatedTime", "/properties/LastUpdatedTime", "/properties/OutputColumns" ],
  "description" : "Definition of the AWS::QuickSight::DataSet Resource Type.",
  "writeOnlyProperties" : [ "/properties/FieldFolders", "/properties/IngestionWaitPolicy", "/properties/FolderArns" ],
  "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/DataSetId" ],
  "additionalProperties" : false,
  "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/DataSetId" ],
  "definitions" : {
    "PivotConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "LabelColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "PivotedLabels" : {
          "minItems" : 0,
          "maxItems" : 100,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PivotedLabel"
          }
        }
      },
      "required" : [ "PivotedLabels" ]
    },
    "RowLevelPermissionPolicy" : {
      "type" : "string",
      "enum" : [ "GRANT_ACCESS", "DENY_ACCESS" ]
    },
    "RowLevelPermissionTagRule" : {
      "description" : "<p>A set of rules associated with a tag.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "description" : "<p>The column name that a tag key is assigned to.</p>",
          "type" : "string"
        },
        "TagKey" : {
          "minLength" : 1,
          "description" : "<p>The unique key for a tag.</p>",
          "type" : "string",
          "maxLength" : 128
        },
        "MatchAllValue" : {
          "minLength" : 1,
          "description" : "<p>A string that you want to use to filter by all the values in a column in the dataset and don’t want to list the values one by one. For example, you can use an asterisk as your match all value.</p>",
          "type" : "string",
          "maxLength" : 256
        },
        "TagMultiValueDelimiter" : {
          "minLength" : 0,
          "description" : "<p>A string that you want to use to delimit the values when you pass the values at run time. For example, you can delimit the values with a comma.</p>",
          "type" : "string",
          "maxLength" : 10
        }
      },
      "required" : [ "ColumnName", "TagKey" ]
    },
    "FileFormat" : {
      "type" : "string",
      "enum" : [ "CSV", "TSV", "CLF", "ELF", "XLSX", "JSON" ]
    },
    "DataPrepSimpleAggregationFunctionType" : {
      "type" : "string",
      "enum" : [ "COUNT", "DISTINCT_COUNT", "SUM", "AVERAGE", "MEDIAN", "MAX", "MIN", "VARIANCE", "STANDARD_DEVIATION" ]
    },
    "RenameColumnsOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "RenameColumnOperations" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RenameColumnOperation"
          }
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "Source", "RenameColumnOperations" ]
    },
    "ValueColumnConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "AggregationFunction" : {
          "$ref" : "#/definitions/DataPrepAggregationFunction"
        }
      }
    },
    "DataSetNumericComparisonFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Operator" : {
          "$ref" : "#/definitions/DataSetNumericComparisonFilterOperator"
        },
        "Value" : {
          "$ref" : "#/definitions/DataSetNumericFilterValue"
        }
      },
      "required" : [ "Operator" ]
    },
    "DataSetStringFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "ComparisonFilterCondition" : {
          "$ref" : "#/definitions/DataSetStringComparisonFilterCondition"
        },
        "ListFilterCondition" : {
          "$ref" : "#/definitions/DataSetStringListFilterCondition"
        }
      }
    },
    "JoinKeyProperties" : {
      "description" : "<p>Properties associated with the columns participating in a join.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "UniqueKey" : {
          "description" : "<p>A value that indicates that a row in a table is uniquely identified by the columns in\n            a join key. This is used by Amazon QuickSight to optimize query performance.</p>",
          "type" : "boolean"
        }
      }
    },
    "DecimalDatasetParameterDefaultValues" : {
      "description" : "<p>The default values of a decimal parameter.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given decimal parameter.</p>",
          "type" : "array",
          "items" : {
            "default" : 0,
            "description" : "<p>The default value for the decimal parameter.</p>",
            "type" : "number"
          }
        }
      }
    },
    "Status" : {
      "type" : "string",
      "enum" : [ "ENABLED", "DISABLED" ]
    },
    "PhysicalTableMap" : {
      "patternProperties" : {
        "^[0-9a-zA-Z-]*$" : {
          "$ref" : "#/definitions/PhysicalTable"
        }
      },
      "maxProperties" : 32,
      "additionalProperties" : false,
      "type" : "object",
      "minProperties" : 0
    },
    "DataPrepSimpleAggregationFunction" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "FunctionType" : {
          "$ref" : "#/definitions/DataPrepSimpleAggregationFunctionType"
        },
        "InputColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        }
      },
      "required" : [ "FunctionType" ]
    },
    "RefreshConfiguration" : {
      "description" : "<p>The refresh configuration of a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "IncrementalRefresh" : {
          "$ref" : "#/definitions/IncrementalRefresh"
        }
      },
      "required" : [ "IncrementalRefresh" ]
    },
    "RelationalTable" : {
      "description" : "<p>A physical table type for relational data sources.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DataSourceArn" : {
          "description" : "<p>The Amazon Resource Name (ARN) for the data source.</p>",
          "type" : "string"
        },
        "InputColumns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "description" : "<p>The column schema of the table.</p>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/InputColumn"
          }
        },
        "Schema" : {
          "minLength" : 0,
          "description" : "<p>The schema name. This name applies to certain relational database engines.</p>",
          "type" : "string",
          "maxLength" : 256
        },
        "Catalog" : {
          "minLength" : 0,
          "description" : "<p>The catalog associated with a table.</p>",
          "type" : "string",
          "maxLength" : 256
        },
        "Name" : {
          "minLength" : 1,
          "description" : "<p>The name of the relational table.</p>",
          "type" : "string",
          "maxLength" : 256
        }
      },
      "required" : [ "DataSourceArn", "InputColumns", "Name" ]
    },
    "PerformanceConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "UniqueKeys" : {
          "minItems" : 1,
          "maxItems" : 1,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/UniqueKey"
          }
        }
      }
    },
    "InputColumn" : {
      "description" : "<p>Metadata for a column that is used as the input of a transform operation.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Type" : {
          "$ref" : "#/definitions/InputColumnDataType"
        },
        "SubType" : {
          "$ref" : "#/definitions/ColumnDataSubType"
        },
        "Id" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Name" : {
          "minLength" : 1,
          "description" : "<p>The name of this column in the underlying data source.</p>",
          "type" : "string",
          "maxLength" : 127
        }
      },
      "required" : [ "Name", "Type" ]
    },
    "LogicalTableMap" : {
      "patternProperties" : {
        "^[0-9a-zA-Z-]*$" : {
          "$ref" : "#/definitions/LogicalTable"
        }
      },
      "maxProperties" : 256,
      "additionalProperties" : false,
      "type" : "object",
      "minProperties" : 1
    },
    "DateTimeDatasetParameterDefaultValues" : {
      "description" : "<p>The default values of a date time parameter.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given date time parameter.</p>",
          "type" : "array",
          "items" : {
            "description" : "<p>The default value for the date time parameter.</p>",
            "type" : "string"
          }
        }
      }
    },
    "LogicalTableSource" : {
      "description" : "<p>Information about the source of a logical table. This is a variant type structure. For\n            this structure to be valid, only one of the attributes can be non-null.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "PhysicalTableId" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "description" : "<p>Physical table ID.</p>",
          "type" : "string",
          "maxLength" : 64
        },
        "JoinInstruction" : {
          "$ref" : "#/definitions/JoinInstruction"
        },
        "DataSetArn" : {
          "description" : "<p>The Amazon Resource Number (ARN) of the parent dataset.</p>",
          "type" : "string"
        }
      }
    },
    "TextQualifier" : {
      "type" : "string",
      "enum" : [ "DOUBLE_QUOTE", "SINGLE_QUOTE" ]
    },
    "SemanticTableMap" : {
      "patternProperties" : {
        "^[0-9a-zA-Z-]*$" : {
          "$ref" : "#/definitions/SemanticTable"
        }
      },
      "maxProperties" : 1,
      "additionalProperties" : false,
      "type" : "object",
      "minProperties" : 1
    },
    "AppendedColumn" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "NewColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        }
      },
      "required" : [ "ColumnName", "NewColumnId" ]
    },
    "DataSetColumnIdMapping" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "SourceColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "TargetColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        }
      },
      "required" : [ "SourceColumnId", "TargetColumnId" ]
    },
    "ImportTableOperationSource" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "SourceTableId" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "type" : "string",
          "maxLength" : 64
        },
        "ColumnIdMappings" : {
          "minItems" : 1,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/DataSetColumnIdMapping"
          }
        }
      },
      "required" : [ "SourceTableId" ]
    },
    "Aggregation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "AggregationFunction" : {
          "$ref" : "#/definitions/DataPrepAggregationFunction"
        },
        "NewColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "NewColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        }
      },
      "required" : [ "AggregationFunction", "NewColumnId", "NewColumnName" ]
    },
    "DecimalDatasetParameter" : {
      "description" : "<p>A decimal parameter for a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ValueType" : {
          "$ref" : "#/definitions/DatasetParameterValueType"
        },
        "DefaultValues" : {
          "$ref" : "#/definitions/DecimalDatasetParameterDefaultValues"
        },
        "Id" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9-]+$",
          "description" : "<p>An identifier for the decimal parameter created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 128
        },
        "Name" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9]+$",
          "description" : "<p>The name of the decimal parameter that is created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 2048
        }
      },
      "required" : [ "Id", "Name", "ValueType" ]
    },
    "OutputColumnNameOverride" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "OutputColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "SourceColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        }
      },
      "required" : [ "OutputColumnName" ]
    },
    "DataSetNumericRangeFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "IncludeMaximum" : {
          "default" : null,
          "type" : "boolean"
        },
        "RangeMinimum" : {
          "$ref" : "#/definitions/DataSetNumericFilterValue"
        },
        "RangeMaximum" : {
          "$ref" : "#/definitions/DataSetNumericFilterValue"
        },
        "IncludeMinimum" : {
          "default" : null,
          "type" : "boolean"
        }
      }
    },
    "UnpivotOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "UnpivotedLabelColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "ColumnsToUnpivot" : {
          "minItems" : 0,
          "maxItems" : 100,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ColumnToUnpivot"
          }
        },
        "UnpivotedLabelColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "UnpivotedValueColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "UnpivotedValueColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "ColumnsToUnpivot", "Source", "UnpivotedLabelColumnId", "UnpivotedLabelColumnName", "UnpivotedValueColumnId", "UnpivotedValueColumnName" ]
    },
    "TransformStepMap" : {
      "patternProperties" : {
        "^[0-9a-zA-Z-]*$" : {
          "$ref" : "#/definitions/TransformStep"
        }
      },
      "maxProperties" : 256,
      "additionalProperties" : false,
      "type" : "object",
      "minProperties" : 1
    },
    "DateTimeDatasetParameter" : {
      "description" : "<p>A date time parameter for a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ValueType" : {
          "$ref" : "#/definitions/DatasetParameterValueType"
        },
        "TimeGranularity" : {
          "$ref" : "#/definitions/TimeGranularity"
        },
        "DefaultValues" : {
          "$ref" : "#/definitions/DateTimeDatasetParameterDefaultValues"
        },
        "Id" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9-]+$",
          "description" : "<p>An identifier for the parameter that is created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 128
        },
        "Name" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9]+$",
          "description" : "<p>The name of the date time parameter that is created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 2048
        }
      },
      "required" : [ "Id", "Name", "ValueType" ]
    },
    "RefreshFailureAlertStatus" : {
      "type" : "string",
      "enum" : [ "ENABLED", "DISABLED" ]
    },
    "GeoSpatialColumnGroup" : {
      "description" : "<p>Geospatial column group that denotes a hierarchy.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Columns" : {
          "minItems" : 1,
          "maxItems" : 16,
          "description" : "<p>Columns in this hierarchy.</p>",
          "type" : "array",
          "items" : {
            "minLength" : 1,
            "type" : "string",
            "maxLength" : 127
          }
        },
        "CountryCode" : {
          "$ref" : "#/definitions/GeoSpatialCountryCode"
        },
        "Name" : {
          "minLength" : 1,
          "description" : "<p>A display name for the hierarchy.</p>",
          "type" : "string",
          "maxLength" : 64
        }
      },
      "required" : [ "Columns", "Name" ]
    },
    "CastColumnTypesOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "CastColumnTypeOperations" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/CastColumnTypeOperation"
          }
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "Source", "CastColumnTypeOperations" ]
    },
    "TransformStep" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ProjectStep" : {
          "$ref" : "#/definitions/ProjectOperation"
        },
        "CreateColumnsStep" : {
          "$ref" : "#/definitions/CreateColumnsOperation"
        },
        "RenameColumnsStep" : {
          "$ref" : "#/definitions/RenameColumnsOperation"
        },
        "CastColumnTypesStep" : {
          "$ref" : "#/definitions/CastColumnTypesOperation"
        },
        "ImportTableStep" : {
          "$ref" : "#/definitions/ImportTableOperation"
        },
        "UnpivotStep" : {
          "$ref" : "#/definitions/UnpivotOperation"
        },
        "JoinStep" : {
          "$ref" : "#/definitions/JoinOperation"
        },
        "AppendStep" : {
          "$ref" : "#/definitions/AppendOperation"
        },
        "FiltersStep" : {
          "$ref" : "#/definitions/FiltersOperation"
        },
        "AggregateStep" : {
          "$ref" : "#/definitions/AggregateOperation"
        },
        "PivotStep" : {
          "$ref" : "#/definitions/PivotOperation"
        }
      }
    },
    "GeoSpatialCountryCode" : {
      "type" : "string",
      "enum" : [ "US" ]
    },
    "OverrideDatasetParameterOperation" : {
      "description" : "<p>A transform operation that overrides the dataset parameter values that are defined in another dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "NewDefaultValues" : {
          "$ref" : "#/definitions/NewDefaultValues"
        },
        "ParameterName" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9]+$",
          "description" : "<p>The name of the parameter to be overridden with different values.</p>",
          "type" : "string",
          "maxLength" : 2048
        },
        "NewParameterName" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9]+$",
          "description" : "<p>The new name for the parameter.</p>",
          "type" : "string",
          "maxLength" : 2048
        }
      },
      "required" : [ "ParameterName" ]
    },
    "DatasetParameter" : {
      "description" : "<p>A dataset parameter.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "IntegerDatasetParameter" : {
          "$ref" : "#/definitions/IntegerDatasetParameter"
        },
        "DateTimeDatasetParameter" : {
          "$ref" : "#/definitions/DateTimeDatasetParameter"
        },
        "DecimalDatasetParameter" : {
          "$ref" : "#/definitions/DecimalDatasetParameter"
        },
        "StringDatasetParameter" : {
          "$ref" : "#/definitions/StringDatasetParameter"
        }
      }
    },
    "IntegerDatasetParameterDefaultValues" : {
      "description" : "<p>The default values of an integer parameter.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given integer parameter.</p>",
          "type" : "array",
          "items" : {
            "default" : 0,
            "format" : "int64",
            "description" : "<p>A list of static default values for a given integer parameter.</p>",
            "type" : "integer"
          }
        }
      }
    },
    "DataSetUseAs" : {
      "type" : "string",
      "enum" : [ "RLS_RULES" ]
    },
    "StringDatasetParameterDefaultValues" : {
      "description" : "<p>The default values of a string parameter.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given string parameter.</p>",
          "type" : "array",
          "items" : {
            "minLength" : 0,
            "description" : "<p>The default value for the string parameter.</p>",
            "type" : "string",
            "maxLength" : 512
          }
        }
      }
    },
    "DestinationTable" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Source" : {
          "$ref" : "#/definitions/DestinationTableSource"
        }
      },
      "required" : [ "Alias", "Source" ]
    },
    "LookbackWindowSizeUnit" : {
      "type" : "string",
      "enum" : [ "HOUR", "DAY", "WEEK" ]
    },
    "Tag" : {
      "description" : "<p>The key or keys of the key-value pairs for the resource tag or tags assigned to the\n            resource.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Value" : {
          "minLength" : 1,
          "description" : "<p>Tag value.</p>",
          "type" : "string",
          "maxLength" : 256
        },
        "Key" : {
          "minLength" : 1,
          "description" : "<p>Tag key.</p>",
          "type" : "string",
          "maxLength" : 128
        }
      },
      "required" : [ "Key", "Value" ]
    },
    "ProjectOperation" : {
      "description" : "<p>A transform operation that projects columns. Operations that come after a projection\n            can only refer to projected columns.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "ProjectedColumns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "description" : "<p>Projected columns.</p>",
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      }
    },
    "SaaSTable" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DataSourceArn" : {
          "type" : "string"
        },
        "InputColumns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/InputColumn"
          }
        },
        "TablePath" : {
          "minItems" : 1,
          "maxItems" : 32,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/TablePathElement"
          }
        }
      },
      "required" : [ "DataSourceArn", "InputColumns", "TablePath" ]
    },
    "IntegerDatasetParameter" : {
      "description" : "<p>An integer parameter for a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ValueType" : {
          "$ref" : "#/definitions/DatasetParameterValueType"
        },
        "DefaultValues" : {
          "$ref" : "#/definitions/IntegerDatasetParameterDefaultValues"
        },
        "Id" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9-]+$",
          "description" : "<p>An identifier for the integer parameter created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 128
        },
        "Name" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9]+$",
          "description" : "<p>The name of the integer parameter that is created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 2048
        }
      },
      "required" : [ "Id", "Name", "ValueType" ]
    },
    "FiltersOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "FilterOperations" : {
          "minItems" : 0,
          "maxItems" : 128,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/FilterOperation"
          }
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "FilterOperations", "Source" ]
    },
    "PivotedLabel" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "NewColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "NewColumnId" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "LabelName" : {
          "minLength" : 0,
          "type" : "string",
          "maxLength" : 2047
        }
      },
      "required" : [ "LabelName", "NewColumnId", "NewColumnName" ]
    },
    "RefreshFailureConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "EmailAlert" : {
          "$ref" : "#/definitions/RefreshFailureEmailAlert"
        }
      }
    },
    "PivotOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "PivotConfiguration" : {
          "$ref" : "#/definitions/PivotConfiguration"
        },
        "GroupByColumnNames" : {
          "minItems" : 0,
          "maxItems" : 128,
          "type" : "array",
          "items" : {
            "minLength" : 1,
            "type" : "string",
            "maxLength" : 127
          }
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "ValueColumnConfiguration" : {
          "$ref" : "#/definitions/ValueColumnConfiguration"
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "PivotConfiguration", "Source", "ValueColumnConfiguration" ]
    },
    "DataSetStringListFilterOperator" : {
      "type" : "string",
      "enum" : [ "INCLUDE", "EXCLUDE" ]
    },
    "LogicalTable" : {
      "description" : "<p>A <i>logical table</i> is a unit that joins and that data\n            transformations operate on. A logical table has a source, which can be either a physical\n            table or result of a join. When a logical table points to a physical table, the logical\n            table acts as a mutable copy of that physical table through transform operations.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "description" : "<p>A display name for the logical table.</p>",
          "type" : "string",
          "maxLength" : 64
        },
        "DataTransforms" : {
          "minItems" : 1,
          "maxItems" : 2048,
          "description" : "<p>Transform operations that act on this logical table. For this structure to be valid, only one of the attributes can be non-null. </p>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/TransformOperation"
          }
        },
        "Source" : {
          "$ref" : "#/definitions/LogicalTableSource"
        }
      },
      "required" : [ "Alias", "Source" ]
    },
    "RowLevelPermissionConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "TagConfiguration" : {
          "$ref" : "#/definitions/RowLevelPermissionTagConfiguration"
        },
        "RowLevelPermissionDataSet" : {
          "$ref" : "#/definitions/RowLevelPermissionDataSet"
        }
      }
    },
    "DataSetDateComparisonFilterOperator" : {
      "type" : "string",
      "enum" : [ "BEFORE", "BEFORE_OR_EQUALS_TO", "AFTER", "AFTER_OR_EQUALS_TO" ]
    },
    "IngestionWaitPolicy" : {
      "description" : "<p>Wait policy to use when creating/updating dataset. Default is to wait for SPICE ingestion to finish with timeout of 36 hours.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "WaitForSpiceIngestion" : {
          "default" : true,
          "description" : "<p>Wait for SPICE ingestion to finish to mark dataset creation/update successful. Default (true).\n  Applicable only when DataSetImportMode mode is set to SPICE.</p>",
          "type" : "boolean"
        },
        "IngestionWaitTimeInHours" : {
          "default" : 36,
          "description" : "<p>The maximum time (in hours) to wait for Ingestion to complete. Default timeout is 36 hours.\n Applicable only when DataSetImportMode mode is set to SPICE and WaitForSpiceIngestion is set to true.</p>",
          "maximum" : 36,
          "type" : "number",
          "minimum" : 1
        }
      }
    },
    "DataSetStringComparisonFilterOperator" : {
      "type" : "string",
      "enum" : [ "EQUALS", "DOES_NOT_EQUAL", "CONTAINS", "DOES_NOT_CONTAIN", "STARTS_WITH", "ENDS_WITH" ]
    },
    "DataSetStringComparisonFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Operator" : {
          "$ref" : "#/definitions/DataSetStringComparisonFilterOperator"
        },
        "Value" : {
          "$ref" : "#/definitions/DataSetStringFilterValue"
        }
      },
      "required" : [ "Operator" ]
    },
    "StringDatasetParameter" : {
      "description" : "<p>A string parameter for a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ValueType" : {
          "$ref" : "#/definitions/DatasetParameterValueType"
        },
        "DefaultValues" : {
          "$ref" : "#/definitions/StringDatasetParameterDefaultValues"
        },
        "Id" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9-]+$",
          "description" : "<p>An identifier for the string parameter that is created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 128
        },
        "Name" : {
          "minLength" : 1,
          "pattern" : "^[a-zA-Z0-9]+$",
          "description" : "<p>The name of the string parameter that is created in the dataset.</p>",
          "type" : "string",
          "maxLength" : 2048
        }
      },
      "required" : [ "Id", "Name", "ValueType" ]
    },
    "RefreshFailureEmailAlert" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "AlertStatus" : {
          "$ref" : "#/definitions/RefreshFailureAlertStatus"
        }
      }
    },
    "DestinationTableMap" : {
      "patternProperties" : {
        "^[0-9a-zA-Z-]*$" : {
          "$ref" : "#/definitions/DestinationTable"
        }
      },
      "additionalProperties" : false,
      "maxProperties" : 1,
      "type" : "object",
      "minProperties" : 1
    },
    "UntagColumnOperation" : {
      "description" : "<p>A transform operation that removes tags associated with a column.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "description" : "<p>The column that this operation acts on.</p>",
          "type" : "string",
          "maxLength" : 127
        },
        "TagNames" : {
          "description" : "<p>The column tags to remove from this column.</p>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ColumnTagName"
          }
        }
      },
      "required" : [ "ColumnName", "TagNames" ]
    },
    "DataSetDateFilterValue" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValue" : {
          "format" : "date-time",
          "type" : "string"
        }
      }
    },
    "FilterOperation" : {
      "description" : "<p>A transform operation that filters rows based on a condition.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DateFilterCondition" : {
          "$ref" : "#/definitions/DataSetDateFilterCondition"
        },
        "StringFilterCondition" : {
          "$ref" : "#/definitions/DataSetStringFilterCondition"
        },
        "ConditionExpression" : {
          "minLength" : 1,
          "description" : "<p>An expression that must evaluate to a Boolean value. Rows for which the expression\n            evaluates to true are kept in the dataset.</p>",
          "type" : "string",
          "maxLength" : 4096
        },
        "NumericFilterCondition" : {
          "$ref" : "#/definitions/DataSetNumericFilterCondition"
        }
      }
    },
    "ColumnLevelPermissionRule" : {
      "description" : "<p>A rule defined to grant access on one or more restricted columns.\n            Each dataset can have multiple rules.\n            To create a restricted column, you add it to one or more rules.\n            Each rule must contain at least one column and at least one user or group.\n            To be able to see a restricted column, a user or group needs to be added\n            to a rule for that column.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnNames" : {
          "minItems" : 1,
          "description" : "<p>An array of column names.</p>",
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "Principals" : {
          "minItems" : 1,
          "maxItems" : 100,
          "description" : "<p>An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.</p>",
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "CastColumnTypeOperation" : {
      "description" : "<p>A transform operation that casts a column to a different type.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "description" : "<p>Column name.</p>",
          "type" : "string",
          "maxLength" : 127
        },
        "SubType" : {
          "$ref" : "#/definitions/ColumnDataSubType"
        },
        "Format" : {
          "minLength" : 0,
          "description" : "<p>When casting a column from string to datetime type, you can supply a string in a\n            format supported by Amazon QuickSight to denote the source data format.</p>",
          "type" : "string",
          "maxLength" : 32
        },
        "NewColumnType" : {
          "$ref" : "#/definitions/ColumnDataType"
        }
      },
      "required" : [ "ColumnName", "NewColumnType" ]
    },
    "DataSetNumericComparisonFilterOperator" : {
      "type" : "string",
      "enum" : [ "EQUALS", "DOES_NOT_EQUAL", "GREATER_THAN", "GREATER_THAN_OR_EQUALS_TO", "LESS_THAN", "LESS_THAN_OR_EQUALS_TO" ]
    },
    "TimeGranularity" : {
      "type" : "string",
      "enum" : [ "YEAR", "QUARTER", "MONTH", "WEEK", "DAY", "HOUR", "MINUTE", "SECOND", "MILLISECOND" ]
    },
    "UploadSettings" : {
      "description" : "<p>Information about the format for a source file or files.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ContainsHeader" : {
          "description" : "<p>Whether the file has a header row, or the files each have a header row.</p>",
          "type" : "boolean"
        },
        "TextQualifier" : {
          "$ref" : "#/definitions/TextQualifier"
        },
        "Format" : {
          "$ref" : "#/definitions/FileFormat"
        },
        "StartFromRow" : {
          "description" : "<p>A row number to start reading data from.</p>",
          "type" : "number",
          "minimum" : 1
        },
        "Delimiter" : {
          "minLength" : 1,
          "description" : "<p>The delimiter between values in the file.</p>",
          "type" : "string",
          "maxLength" : 1
        }
      }
    },
    "CreateColumnsOperation" : {
      "description" : "<p>A transform operation that creates calculated columns. Columns created in one such\n            operation form a lexical closure.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Columns" : {
          "minItems" : 0,
          "maxItems" : 256,
          "description" : "<p>Calculated columns to create.</p>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/CalculatedColumn"
          }
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Columns" ]
    },
    "ResourcePermission" : {
      "description" : "<p>Permission for the resource.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Actions" : {
          "minItems" : 1,
          "maxItems" : 20,
          "description" : "<p>The IAM action to grant or revoke permissions on.</p>",
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "Principal" : {
          "minLength" : 1,
          "description" : "<p>The Amazon Resource Name (ARN) of the principal. This can be one of the\n            following:</p>\n         <ul>\n            <li>\n               <p>The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)</p>\n            </li>\n            <li>\n               <p>The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)</p>\n            </li>\n            <li>\n               <p>The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n                    ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n                    (This is less common.) </p>\n            </li>\n         </ul>",
          "type" : "string",
          "maxLength" : 256
        }
      },
      "required" : [ "Actions", "Principal" ]
    },
    "TablePathElement" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Id" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 256
        },
        "Name" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 256
        }
      }
    },
    "TagColumnOperation" : {
      "description" : "<p>A transform operation that tags a column with additional information.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "description" : "<p>The column that this operation acts on.</p>",
          "type" : "string",
          "maxLength" : 127
        },
        "Tags" : {
          "minItems" : 1,
          "maxItems" : 16,
          "description" : "<p>The dataset column tag, currently only used for geospatial type tagging.</p>\n         <note>\n            <p>This is not tags for the Amazon Web Services tagging feature.</p>\n         </note>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ColumnTag"
          }
        }
      },
      "required" : [ "ColumnName", "Tags" ]
    },
    "DataSetStringListFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Operator" : {
          "$ref" : "#/definitions/DataSetStringListFilterOperator"
        },
        "Values" : {
          "$ref" : "#/definitions/DataSetStringListFilterValue"
        }
      },
      "required" : [ "Operator" ]
    },
    "ImportTableOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Source" : {
          "$ref" : "#/definitions/ImportTableOperationSource"
        }
      },
      "required" : [ "Alias", "Source" ]
    },
    "LookbackWindow" : {
      "description" : "<p>The lookback window setup of an incremental refresh configuration.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "description" : "<p>The name of the lookback window column.</p>",
          "type" : "string"
        },
        "SizeUnit" : {
          "$ref" : "#/definitions/LookbackWindowSizeUnit"
        },
        "Size" : {
          "default" : 0,
          "description" : "<p>The lookback window column size.</p>",
          "type" : "number",
          "minimum" : 1
        }
      },
      "required" : [ "ColumnName", "Size", "SizeUnit" ]
    },
    "DatasetParameterValueType" : {
      "type" : "string",
      "enum" : [ "MULTI_VALUED", "SINGLE_VALUED" ]
    },
    "JoinOperationType" : {
      "type" : "string",
      "enum" : [ "INNER", "OUTER", "LEFT", "RIGHT" ]
    },
    "SemanticModelConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "TableMap" : {
          "$ref" : "#/definitions/SemanticTableMap"
        }
      }
    },
    "SourceTableMap" : {
      "patternProperties" : {
        "^[0-9a-zA-Z-]*$" : {
          "$ref" : "#/definitions/SourceTable"
        }
      },
      "maxProperties" : 32,
      "additionalProperties" : false,
      "type" : "object",
      "minProperties" : 1
    },
    "CalculatedColumn" : {
      "description" : "<p>A calculated column for a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnId" : {
          "minLength" : 1,
          "description" : "<p>A unique ID to identify a calculated column. During a dataset update, if the column ID\n            of a calculated column matches that of an existing calculated column, Amazon QuickSight\n            preserves the existing calculated column.</p>",
          "type" : "string",
          "maxLength" : 64
        },
        "ColumnName" : {
          "minLength" : 1,
          "description" : "<p>Column name.</p>",
          "type" : "string",
          "maxLength" : 127
        },
        "Expression" : {
          "minLength" : 1,
          "description" : "<p>An expression that defines the calculated column.</p>",
          "type" : "string",
          "maxLength" : 250000
        }
      },
      "required" : [ "ColumnId", "ColumnName", "Expression" ]
    },
    "DataSetRefreshProperties" : {
      "description" : "<p>The refresh properties of a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "RefreshConfiguration" : {
          "$ref" : "#/definitions/RefreshConfiguration"
        },
        "FailureConfiguration" : {
          "$ref" : "#/definitions/RefreshFailureConfiguration"
        }
      }
    },
    "S3Source" : {
      "description" : "<p>A physical table type for an S3 data source.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DataSourceArn" : {
          "description" : "<p>The Amazon Resource Name (ARN) for the data source.</p>",
          "type" : "string"
        },
        "InputColumns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "description" : "<p>A physical table type for an S3 data source.</p>\n         <note>\n            <p>For files that aren't JSON, only <code>STRING</code> data types are supported in input columns.</p>\n         </note>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/InputColumn"
          }
        },
        "UploadSettings" : {
          "$ref" : "#/definitions/UploadSettings"
        }
      },
      "required" : [ "DataSourceArn", "InputColumns" ]
    },
    "FieldFolder" : {
      "description" : "<p>A FieldFolder element is a folder that contains fields and nested subfolders.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Description" : {
          "minLength" : 0,
          "description" : "<p>The description for a field folder.</p>",
          "type" : "string",
          "maxLength" : 500
        },
        "Columns" : {
          "minItems" : 0,
          "maxItems" : 5000,
          "description" : "<p>A folder has a list of columns. A column can only be in one folder.</p>",
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "DataSetStringFilterValue" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValue" : {
          "minLength" : 0,
          "type" : "string",
          "maxLength" : 512
        }
      }
    },
    "IncrementalRefresh" : {
      "description" : "<p>The incremental refresh configuration for a dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "LookbackWindow" : {
          "$ref" : "#/definitions/LookbackWindow"
        }
      },
      "required" : [ "LookbackWindow" ]
    },
    "OutputColumn" : {
      "description" : "<p>Output column.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Type" : {
          "$ref" : "#/definitions/ColumnDataType"
        },
        "Description" : {
          "minLength" : 0,
          "description" : "<p>A description for a column.</p>",
          "type" : "string",
          "maxLength" : 500
        },
        "SubType" : {
          "$ref" : "#/definitions/ColumnDataSubType"
        },
        "Id" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Name" : {
          "minLength" : 1,
          "description" : "<p>The display name of the column..</p>",
          "type" : "string",
          "maxLength" : 127
        }
      }
    },
    "PhysicalTable" : {
      "description" : "<p>A view of a data source that contains information about the shape of the data in the\n            underlying source. This is a variant type structure. For this structure to be valid,\n            only one of the attributes can be non-null.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "SaaSTable" : {
          "$ref" : "#/definitions/SaaSTable"
        },
        "RelationalTable" : {
          "$ref" : "#/definitions/RelationalTable"
        },
        "CustomSql" : {
          "$ref" : "#/definitions/CustomSql"
        },
        "S3Source" : {
          "$ref" : "#/definitions/S3Source"
        }
      }
    },
    "ColumnDataSubType" : {
      "type" : "string",
      "enum" : [ "FLOAT", "FIXED" ]
    },
    "DataPrepAggregationFunction" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "PercentileAggregation" : {
          "$ref" : "#/definitions/DataPrepPercentileAggregationFunction"
        },
        "SimpleAggregation" : {
          "$ref" : "#/definitions/DataPrepSimpleAggregationFunction"
        },
        "ListAggregation" : {
          "$ref" : "#/definitions/DataPrepListAggregationFunction"
        }
      }
    },
    "ColumnTag" : {
      "description" : "<p>A tag for a column in a\n            <code>\n               <a href=\"https://docs.aws.amazon.com/quicksight/latest/APIReference/API_TagColumnOperation.html\">TagColumnOperation</a>\n            </code>\n            structure. This is a\n            variant type structure. For this structure to be valid, only one of the attributes can\n            be non-null.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnGeographicRole" : {
          "$ref" : "#/definitions/GeoSpatialDataRole"
        },
        "ColumnDescription" : {
          "$ref" : "#/definitions/ColumnDescription"
        }
      }
    },
    "ColumnDescription" : {
      "description" : "<p>Metadata that contains a description for a column.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Text" : {
          "minLength" : 0,
          "description" : "<p>The text of a description for a column.</p>",
          "type" : "string",
          "maxLength" : 500
        }
      }
    },
    "DataSetImportMode" : {
      "type" : "string",
      "enum" : [ "SPICE", "DIRECT_QUERY" ]
    },
    "JoinOperandProperties" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "OutputColumnNameOverrides" : {
          "minItems" : 1,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/OutputColumnNameOverride"
          }
        }
      },
      "required" : [ "OutputColumnNameOverrides" ]
    },
    "RowLevelPermissionDataSet" : {
      "description" : "<p>Information about a dataset that contains permissions for row-level security (RLS).\n            The permissions dataset maps fields to users or groups. For more information, see\n            <a href=\"https://docs.aws.amazon.com/quicksight/latest/user/restrict-access-to-a-data-set-using-row-level-security.html\">Using Row-Level Security (RLS) to Restrict Access to a Dataset</a> in the <i>Amazon QuickSight User\n                Guide</i>.</p>\n         <p>The option to deny permissions by setting <code>PermissionPolicy</code> to <code>DENY_ACCESS</code> is\n            not supported for new RLS datasets.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Status" : {
          "$ref" : "#/definitions/Status"
        },
        "FormatVersion" : {
          "$ref" : "#/definitions/RowLevelPermissionFormatVersion"
        },
        "Arn" : {
          "description" : "<p>The Amazon Resource Name (ARN) of the dataset that contains permissions for RLS.</p>",
          "type" : "string"
        },
        "Namespace" : {
          "minLength" : 0,
          "pattern" : "^[a-zA-Z0-9._-]*$",
          "description" : "<p>The namespace associated with the dataset that contains permissions for RLS.</p>",
          "type" : "string",
          "maxLength" : 64
        },
        "PermissionPolicy" : {
          "$ref" : "#/definitions/RowLevelPermissionPolicy"
        }
      },
      "required" : [ "Arn", "PermissionPolicy" ]
    },
    "ColumnTagName" : {
      "type" : "string",
      "enum" : [ "COLUMN_GEOGRAPHIC_ROLE", "COLUMN_DESCRIPTION" ]
    },
    "RenameColumnOperation" : {
      "description" : "<p>A transform operation that renames a column.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "NewColumnName" : {
          "minLength" : 1,
          "description" : "<p>The new name for the column.</p>",
          "type" : "string",
          "maxLength" : 127
        },
        "ColumnName" : {
          "minLength" : 1,
          "description" : "<p>The name of the column to be renamed.</p>",
          "type" : "string",
          "maxLength" : 127
        }
      },
      "required" : [ "ColumnName", "NewColumnName" ]
    },
    "DataPrepListAggregationFunction" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Distinct" : {
          "default" : false,
          "type" : "boolean"
        },
        "InputColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "Separator" : {
          "type" : "string"
        }
      },
      "required" : [ "Distinct", "Separator" ]
    },
    "TransformOperationSource" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "TransformOperationId" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "type" : "string",
          "maxLength" : 64
        },
        "ColumnIdMappings" : {
          "minItems" : 1,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/DataSetColumnIdMapping"
          }
        }
      },
      "required" : [ "TransformOperationId" ]
    },
    "FieldFolderMap" : {
      "patternProperties" : {
        ".+" : {
          "$ref" : "#/definitions/FieldFolder"
        }
      },
      "additionalProperties" : false,
      "type" : "object"
    },
    "DataSetNumericFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "RangeFilterCondition" : {
          "$ref" : "#/definitions/DataSetNumericRangeFilterCondition"
        },
        "ComparisonFilterCondition" : {
          "$ref" : "#/definitions/DataSetNumericComparisonFilterCondition"
        }
      }
    },
    "DataSetDateRangeFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "IncludeMaximum" : {
          "default" : null,
          "type" : "boolean"
        },
        "RangeMinimum" : {
          "$ref" : "#/definitions/DataSetDateFilterValue"
        },
        "RangeMaximum" : {
          "$ref" : "#/definitions/DataSetDateFilterValue"
        },
        "IncludeMinimum" : {
          "default" : null,
          "type" : "boolean"
        }
      }
    },
    "RowLevelPermissionFormatVersion" : {
      "type" : "string",
      "enum" : [ "VERSION_1", "VERSION_2" ]
    },
    "AppendOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "AppendedColumns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AppendedColumn"
          }
        },
        "SecondSource" : {
          "$ref" : "#/definitions/TransformOperationSource"
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "FirstSource" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "AppendedColumns" ]
    },
    "ColumnDataType" : {
      "type" : "string",
      "enum" : [ "STRING", "INTEGER", "DECIMAL", "DATETIME" ]
    },
    "DataSetNumericFilterValue" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValue" : {
          "default" : null,
          "type" : "number"
        }
      }
    },
    "JoinInstruction" : {
      "description" : "<p>The instructions associated with a join. </p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "OnClause" : {
          "minLength" : 1,
          "description" : "<p>The join instructions provided in the <code>ON</code> clause of a join.</p>",
          "type" : "string",
          "maxLength" : 512
        },
        "Type" : {
          "$ref" : "#/definitions/JoinType"
        },
        "LeftJoinKeyProperties" : {
          "$ref" : "#/definitions/JoinKeyProperties"
        },
        "LeftOperand" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "description" : "<p>The operand on the left side of a join.</p>",
          "type" : "string",
          "maxLength" : 64
        },
        "RightOperand" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "description" : "<p>The operand on the right side of a join.</p>",
          "type" : "string",
          "maxLength" : 64
        },
        "RightJoinKeyProperties" : {
          "$ref" : "#/definitions/JoinKeyProperties"
        }
      },
      "required" : [ "LeftOperand", "OnClause", "RightOperand", "Type" ]
    },
    "SemanticTable" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "DestinationTableId" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "type" : "string",
          "maxLength" : 64
        },
        "RowLevelPermissionConfiguration" : {
          "$ref" : "#/definitions/RowLevelPermissionConfiguration"
        }
      },
      "required" : [ "Alias", "DestinationTableId" ]
    },
    "JoinType" : {
      "type" : "string",
      "enum" : [ "INNER", "OUTER", "LEFT", "RIGHT" ]
    },
    "SourceTable" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "PhysicalTableId" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "type" : "string",
          "maxLength" : 64
        },
        "DataSet" : {
          "$ref" : "#/definitions/ParentDataSet"
        }
      }
    },
    "RowLevelPermissionTagConfiguration" : {
      "description" : "<p>The configuration of tags on a dataset to set row-level security. </p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Status" : {
          "$ref" : "#/definitions/Status"
        },
        "TagRules" : {
          "minItems" : 1,
          "maxItems" : 50,
          "description" : "<p>A set of rules associated with row-level security, such as the tag names and columns that they are assigned to.</p>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RowLevelPermissionTagRule"
          }
        },
        "TagRuleConfigurations" : {
          "minItems" : 1,
          "maxItems" : 50,
          "description" : "<p>A list of tag configuration rules to apply to a dataset. All tag configurations have the OR condition. Tags within each tile will be joined (AND). At least one rule in this structure must have all tag values assigned to it to apply Row-level security (RLS) to the dataset.</p>",
          "type" : "array",
          "items" : {
            "minItems" : 1,
            "maxItems" : 50,
            "type" : "array",
            "items" : {
              "minLength" : 1,
              "type" : "string",
              "maxLength" : 128
            }
          }
        }
      },
      "required" : [ "TagRules" ]
    },
    "TransformOperation" : {
      "description" : "<p>A data transformation on a logical table. This is a variant type structure. For this\n            structure to be valid, only one of the attributes can be non-null.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "TagColumnOperation" : {
          "$ref" : "#/definitions/TagColumnOperation"
        },
        "UntagColumnOperation" : {
          "$ref" : "#/definitions/UntagColumnOperation"
        },
        "OverrideDatasetParameterOperation" : {
          "$ref" : "#/definitions/OverrideDatasetParameterOperation"
        },
        "FilterOperation" : {
          "$ref" : "#/definitions/FilterOperation"
        },
        "CastColumnTypeOperation" : {
          "$ref" : "#/definitions/CastColumnTypeOperation"
        },
        "CreateColumnsOperation" : {
          "$ref" : "#/definitions/CreateColumnsOperation"
        },
        "RenameColumnOperation" : {
          "$ref" : "#/definitions/RenameColumnOperation"
        },
        "ProjectOperation" : {
          "$ref" : "#/definitions/ProjectOperation"
        }
      }
    },
    "ColumnToUnpivot" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "NewValue" : {
          "minLength" : 0,
          "type" : "string",
          "maxLength" : 2047
        }
      }
    },
    "InputColumnDataType" : {
      "type" : "string",
      "enum" : [ "STRING", "INTEGER", "DECIMAL", "DATETIME", "BIT", "BOOLEAN", "JSON", "SEMISTRUCT" ]
    },
    "ParentDataSet" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "InputColumns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/InputColumn"
          }
        },
        "DataSetArn" : {
          "type" : "string"
        }
      },
      "required" : [ "DataSetArn", "InputColumns" ]
    },
    "JoinOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "OnClause" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 512
        },
        "Type" : {
          "$ref" : "#/definitions/JoinOperationType"
        },
        "RightOperandProperties" : {
          "$ref" : "#/definitions/JoinOperandProperties"
        },
        "LeftOperandProperties" : {
          "$ref" : "#/definitions/JoinOperandProperties"
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "LeftOperand" : {
          "$ref" : "#/definitions/TransformOperationSource"
        },
        "RightOperand" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "LeftOperand", "RightOperand", "Type", "OnClause" ]
    },
    "UniqueKey" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnNames" : {
          "minItems" : 1,
          "maxItems" : 1,
          "type" : "array",
          "items" : {
            "minLength" : 1,
            "type" : "string",
            "maxLength" : 127
          }
        }
      },
      "required" : [ "ColumnNames" ]
    },
    "GeoSpatialDataRole" : {
      "type" : "string",
      "enum" : [ "COUNTRY", "STATE", "COUNTY", "CITY", "POSTCODE", "LONGITUDE", "LATITUDE", "POLITICAL1", "CENSUS_TRACT", "CENSUS_BLOCK_GROUP", "CENSUS_BLOCK" ]
    },
    "NewDefaultValues" : {
      "description" : "<p>The configuration that overrides the existing default values for a dataset parameter that is inherited from another dataset.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DecimalStaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given decimal parameter.</p>",
          "type" : "array",
          "items" : {
            "default" : 0,
            "description" : "<p>The default value for the decimal parameter.</p>",
            "type" : "number"
          }
        },
        "IntegerStaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given integer parameter.</p>",
          "type" : "array",
          "items" : {
            "default" : 0,
            "format" : "int64",
            "description" : "<p>The default value for the integer parameter.</p>",
            "type" : "integer"
          }
        },
        "StringStaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given string parameter.</p>",
          "type" : "array",
          "items" : {
            "minLength" : 0,
            "description" : "<p>The default value for the string parameter.</p>",
            "type" : "string",
            "maxLength" : 512
          }
        },
        "DateTimeStaticValues" : {
          "minItems" : 0,
          "maxItems" : 32,
          "description" : "<p>A list of static default values for a given date time parameter.</p>",
          "type" : "array",
          "items" : {
            "description" : "<p>The default value for the date time parameter.</p>",
            "type" : "string"
          }
        }
      }
    },
    "DataPrepPercentileAggregationFunction" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "InputColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "PercentileValue" : {
          "default" : 0,
          "maximum" : 100,
          "type" : "number",
          "minimum" : 0
        }
      },
      "required" : [ "PercentileValue" ]
    },
    "DataSetDateFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "ColumnName" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 127
        },
        "RangeFilterCondition" : {
          "$ref" : "#/definitions/DataSetDateRangeFilterCondition"
        },
        "ComparisonFilterCondition" : {
          "$ref" : "#/definitions/DataSetDateComparisonFilterCondition"
        }
      }
    },
    "DataSetUsageConfiguration" : {
      "description" : "<p>The usage configuration to apply to child datasets that reference this dataset as a source.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DisableUseAsImportedSource" : {
          "default" : false,
          "description" : "<p>An option that controls whether a child dataset that's stored in QuickSight can use this dataset as a source.</p>",
          "type" : "boolean"
        },
        "DisableUseAsDirectQuerySource" : {
          "default" : false,
          "description" : "<p>An option that controls whether a child dataset of a direct query can use this dataset as a source.</p>",
          "type" : "boolean"
        }
      }
    },
    "DestinationTableSource" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "TransformOperationId" : {
          "minLength" : 1,
          "pattern" : "^[0-9a-zA-Z-]*$",
          "type" : "string",
          "maxLength" : 64
        }
      },
      "required" : [ "TransformOperationId" ]
    },
    "DataPrepConfiguration" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DestinationTableMap" : {
          "$ref" : "#/definitions/DestinationTableMap"
        },
        "TransformStepMap" : {
          "$ref" : "#/definitions/TransformStepMap"
        },
        "SourceTableMap" : {
          "$ref" : "#/definitions/SourceTableMap"
        }
      },
      "required" : [ "DestinationTableMap", "SourceTableMap", "TransformStepMap" ]
    },
    "ColumnGroup" : {
      "description" : "<p>Groupings of columns that work together in certain Amazon QuickSight features. This is\n            a variant type structure. For this structure to be valid, only one of the attributes can\n            be non-null.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "GeoSpatialColumnGroup" : {
          "$ref" : "#/definitions/GeoSpatialColumnGroup"
        }
      }
    },
    "CustomSql" : {
      "description" : "<p>A physical table type built from the results of the custom SQL query.</p>",
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "DataSourceArn" : {
          "description" : "<p>The Amazon Resource Name (ARN) of the data source.</p>",
          "type" : "string"
        },
        "SqlQuery" : {
          "minLength" : 1,
          "description" : "<p>The SQL query.</p>",
          "type" : "string",
          "maxLength" : 168000
        },
        "Columns" : {
          "minItems" : 0,
          "maxItems" : 2048,
          "description" : "<p>The column schema from the SQL query result set.</p>",
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/InputColumn"
          }
        },
        "Name" : {
          "minLength" : 1,
          "description" : "<p>A display name for the SQL query result.</p>",
          "type" : "string",
          "maxLength" : 128
        }
      },
      "required" : [ "Columns", "DataSourceArn", "Name", "SqlQuery" ]
    },
    "DataSetStringListFilterValue" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "StaticValues" : {
          "minItems" : 0,
          "maxItems" : 1000,
          "type" : "array",
          "items" : {
            "minLength" : 0,
            "type" : "string",
            "maxLength" : 512
          }
        }
      }
    },
    "AggregateOperation" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "GroupByColumnNames" : {
          "minItems" : 0,
          "maxItems" : 128,
          "type" : "array",
          "items" : {
            "minLength" : 1,
            "type" : "string",
            "maxLength" : 127
          }
        },
        "Alias" : {
          "minLength" : 1,
          "type" : "string",
          "maxLength" : 64
        },
        "Aggregations" : {
          "minItems" : 0,
          "maxItems" : 128,
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Aggregation"
          }
        },
        "Source" : {
          "$ref" : "#/definitions/TransformOperationSource"
        }
      },
      "required" : [ "Alias", "Source", "Aggregations" ]
    },
    "DataSetDateComparisonFilterCondition" : {
      "additionalProperties" : false,
      "type" : "object",
      "properties" : {
        "Operator" : {
          "$ref" : "#/definitions/DataSetDateComparisonFilterOperator"
        },
        "Value" : {
          "$ref" : "#/definitions/DataSetDateFilterValue"
        }
      },
      "required" : [ "Operator" ]
    }
  },
  "properties" : {
    "CreatedTime" : {
      "format" : "string",
      "description" : "<p>The time that this dataset was created.</p>",
      "type" : "string"
    },
    "FolderArns" : {
      "minItems" : 0,
      "maxItems" : 10,
      "description" : "<p>When you create the dataset, Amazon QuickSight adds the dataset to these folders.</p>",
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "ConsumedSpiceCapacityInBytes" : {
      "default" : 0,
      "description" : "<p>The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't\n            imported into SPICE.</p>",
      "type" : "number"
    },
    "RowLevelPermissionDataSet" : {
      "$ref" : "#/definitions/RowLevelPermissionDataSet"
    },
    "IngestionWaitPolicy" : {
      "$ref" : "#/definitions/IngestionWaitPolicy"
    },
    "ColumnLevelPermissionRules" : {
      "minItems" : 1,
      "description" : "<p>A set of one or more definitions of a <code>\n               <a href=\"https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html\">ColumnLevelPermissionRule</a>\n            </code>.</p>",
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ColumnLevelPermissionRule"
      }
    },
    "Name" : {
      "minLength" : 1,
      "description" : "<p>The display name for the dataset.</p>",
      "type" : "string",
      "maxLength" : 128
    },
    "Permissions" : {
      "minItems" : 1,
      "maxItems" : 64,
      "description" : "<p>A list of resource permissions on the dataset.</p>",
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ResourcePermission"
      }
    },
    "UseAs" : {
      "$ref" : "#/definitions/DataSetUseAs"
    },
    "Tags" : {
      "minItems" : 1,
      "maxItems" : 200,
      "description" : "<p>Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.</p>",
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/Tag"
      }
    },
    "PhysicalTableMap" : {
      "$ref" : "#/definitions/PhysicalTableMap"
    },
    "FieldFolders" : {
      "$ref" : "#/definitions/FieldFolderMap"
    },
    "LastUpdatedTime" : {
      "format" : "string",
      "description" : "<p>The last time that this dataset was updated.</p>",
      "type" : "string"
    },
    "SemanticModelConfiguration" : {
      "$ref" : "#/definitions/SemanticModelConfiguration"
    },
    "DataSetId" : {
      "type" : "string"
    },
    "PerformanceConfiguration" : {
      "$ref" : "#/definitions/PerformanceConfiguration"
    },
    "DataSetRefreshProperties" : {
      "$ref" : "#/definitions/DataSetRefreshProperties"
    },
    "RowLevelPermissionTagConfiguration" : {
      "$ref" : "#/definitions/RowLevelPermissionTagConfiguration"
    },
    "ColumnGroups" : {
      "minItems" : 1,
      "maxItems" : 8,
      "description" : "<p>Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.</p>",
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ColumnGroup"
      }
    },
    "ImportMode" : {
      "$ref" : "#/definitions/DataSetImportMode"
    },
    "DatasetParameters" : {
      "minItems" : 0,
      "maxItems" : 32,
      "description" : "<p>The parameter declarations of the dataset.</p>",
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/DatasetParameter"
      }
    },
    "LogicalTableMap" : {
      "$ref" : "#/definitions/LogicalTableMap"
    },
    "AwsAccountId" : {
      "minLength" : 12,
      "pattern" : "^[0-9]{12}$",
      "type" : "string",
      "maxLength" : 12
    },
    "DataSetUsageConfiguration" : {
      "$ref" : "#/definitions/DataSetUsageConfiguration"
    },
    "OutputColumns" : {
      "description" : "<p>The list of columns after all transforms. These columns are available in templates,\n            analyses, and dashboards.</p>",
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/OutputColumn"
      }
    },
    "DataPrepConfiguration" : {
      "$ref" : "#/definitions/DataPrepConfiguration"
    },
    "Arn" : {
      "description" : "<p>The Amazon Resource Name (ARN) of the resource.</p>",
      "type" : "string"
    }
  }
}