import { Value } from '../../cloudformation/Value';
import { TransformEncryptionProps } from './mltransform/TransformEncryptionProps';
import { TransformParametersProps } from './mltransform/TransformParametersProps';
import { InputRecordTablesProps } from './mltransform/InputRecordTablesProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The AWS::Glue::MLTransform is an AWS Glue resource type that manages machine learning transforms.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html">the AWS Docs</a>
*/
export type MLTransform = AwsResource<'AWS::Glue::MLTransform', MLTransformProperties>;
export declare function mLTransform(mLTransformProps: MLTransformProperties): MLTransform;
/**
  The AWS::Glue::MLTransform is an AWS Glue resource type that manages machine learning transforms.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html">the AWS Docs</a>
*/
export interface MLTransformProperties {
    /** <code>MaxRetries</code>  <a name="cfn-glue-mltransform-maxretries"></a>
  The maximum number of times to retry after an <code>MLTaskRun</code> of the machine learning transform fails.<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> */
    maxRetries?: Value<number>;
    /** <code>Description</code>  <a name="cfn-glue-mltransform-description"></a>
  A user-defined, long-form description text for the machine learning transform.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>2048</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> */
    description?: Value<string>;
    /** <code>TransformEncryption</code>  <a name="cfn-glue-mltransform-transformencryption"></a>
  The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.<br />
  Additionally, imported labels and trained transforms can now be encrypted using a customer provided KMS key.<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> */
    transformEncryption?: TransformEncryptionProps;
    /** <code>Timeout</code>  <a name="cfn-glue-mltransform-timeout"></a>
  The timeout in minutes of the machine learning transform.<br />
  
  Required: No<br />
  
  Minimum: <code>1</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> */
    timeout?: Value<number>;
    /** <p> */
    name?: Value<string>;
    /** <p> */
    role: Value<string>;
    /** <p> */
    workerType?: Value<string>;
    /** <code>GlueVersion</code>  <a name="cfn-glue-mltransform-glueversion"></a>
  This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions">AWS Glue Versions</a> in the developer guide.<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> */
    glueVersion?: Value<string>;
    /** <code>TransformParameters</code>  <a name="cfn-glue-mltransform-transformparameters"></a>
  The algorithm-specific parameters that are associated with the machine learning transform.<br />
  
  Required: Yes<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> */
    transformParameters: TransformParametersProps;
    /** <code>InputRecordTables</code>  <a name="cfn-glue-mltransform-inputrecordtables"></a>
  A list of AWS Glue table definitions used by the transform.<br />
  
  Required: Yes<br />
  
  Maximum: <code>10</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    inputRecordTables: InputRecordTablesProps;
    /** <code>NumberOfWorkers</code>  <a name="cfn-glue-mltransform-numberofworkers"></a>
  The number of workers of a defined <code>workerType</code> that are allocated when a task of the transform runs.<br />
  If <code>WorkerType</code> is set, then <code>NumberOfWorkers</code> is required (and vice versa).<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> */
    numberOfWorkers?: Value<number>;
    /** <code>Tags</code>  <a name="cfn-glue-mltransform-tags"></a>
  The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see <a href="https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html">AWS Tags in AWS Glue</a> in the developer guide.<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> */
    tags?: Value<any>;
    /** <p> */
    maxCapacity?: Value<number>;
}
