import { Value } from '../../../cloudformation/Value';
import { ColumnProps } from './ColumnProps';
import { SerdeInfoProps } from './SerdeInfoProps';
import { OrderProps } from './OrderProps';
import { SchemaReferenceProps } from './SchemaReferenceProps';
import { SkewedInfoProps } from './SkewedInfoProps';
/**
  Describes the physical storage of table data.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html">the AWS Docs</a>
*/
export interface StorageDescriptorProps {
    /** <code>StoredAsSubDirectories</code>  <a name="cfn-glue-partition-storagedescriptor-storedassubdirectories"></a>
  <code>True</code> if the table data is stored in subdirectories, or <code>False</code> if not.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    storedAsSubDirectories?: Value<boolean>;
    /** <code>Parameters</code>  <a name="cfn-glue-partition-storagedescriptor-parameters"></a>
  The user-supplied properties in key-value form.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    parameters?: Value<any>;
    /** <code>BucketColumns</code>  <a name="cfn-glue-partition-storagedescriptor-bucketcolumns"></a>
  A list of reducer grouping columns, clustering columns, and bucketing columns in the table.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    bucketColumns?: Value<Value<string>[]>;
    /** <code>NumberOfBuckets</code>  <a name="cfn-glue-partition-storagedescriptor-numberofbuckets"></a>
  The number of buckets.<br />
  You must specify this property if the partition contains any dimension columns.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    numberOfBuckets?: Value<number>;
    /** <code>OutputFormat</code>  <a name="cfn-glue-partition-storagedescriptor-outputformat"></a>
  The output format: <code>SequenceFileOutputFormat</code> (binary), or <code>IgnoreKeyTextOutputFormat</code>, or a custom format.<br />
  
  Required: No<br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    outputFormat?: Value<string>;
    /** <code>Columns</code>  <a name="cfn-glue-partition-storagedescriptor-columns"></a>
  A list of the <code>Columns</code> in the table.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    columns?: ColumnProps[];
    /** <code>SerdeInfo</code>  <a name="cfn-glue-partition-storagedescriptor-serdeinfo"></a>
  The serialization/deserialization (SerDe) information.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    serdeInfo?: SerdeInfoProps;
    /** <code>SortColumns</code>  <a name="cfn-glue-partition-storagedescriptor-sortcolumns"></a>
  A list specifying the sort order of each bucket in the table.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sortColumns?: OrderProps[];
    /** <code>Compressed</code>  <a name="cfn-glue-partition-storagedescriptor-compressed"></a>
  <code>True</code> if the data in the table is compressed, or <code>False</code> if not.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    compressed?: Value<boolean>;
    /** <code>SchemaReference</code>  <a name="cfn-glue-partition-storagedescriptor-schemareference"></a>
  An object that references a schema stored in the AWS Glue Schema Registry.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    schemaReference?: SchemaReferenceProps;
    /** <code>SkewedInfo</code>  <a name="cfn-glue-partition-storagedescriptor-skewedinfo"></a>
  The information about values that appear frequently in a column (skewed values).<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    skewedInfo?: SkewedInfoProps;
    /** <code>InputFormat</code>  <a name="cfn-glue-partition-storagedescriptor-inputformat"></a>
  The input format: <code>SequenceFileInputFormat</code> (binary), or <code>TextInputFormat</code>, or a custom format.<br />
  
  Required: No<br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    inputFormat?: Value<string>;
    /** <code>Location</code>  <a name="cfn-glue-partition-storagedescriptor-location"></a>
  The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.<br />
  
  Required: No<br />
  
  Maximum: <code>2056</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    location?: Value<string>;
}
