import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Glue::DevEndpoint</code> resource specifies a development endpoint where a developer can remotely debug ETL scripts for AWS Glue. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint">DevEndpoint Structure</a> in the AWS Glue Developer Guide.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html">the AWS Docs</a>
*/
export type DevEndpoint = AwsResource<'AWS::Glue::DevEndpoint', DevEndpointProperties>;
export declare function devEndpoint(devEndpointProps: DevEndpointProperties): DevEndpoint;
/**
  The <code>AWS::Glue::DevEndpoint</code> resource specifies a development endpoint where a developer can remotely debug ETL scripts for AWS Glue. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-dev-endpoint.html#aws-glue-api-jobs-dev-endpoint-DevEndpoint">DevEndpoint Structure</a> in the AWS Glue Developer Guide.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html">the AWS Docs</a>
*/
export interface DevEndpointProperties {
    /** <code>ExtraJarsS3Path</code>  <a name="cfn-glue-devendpoint-extrajarss3path"></a>
  The path to one or more Java <code>.jar</code> files in an S3 bucket that should be loaded in your <code>DevEndpoint</code>.<br />
  You can only use pure Java/Scala libraries with a <code>DevEndpoint</code>.
  
  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> */
    extraJarsS3Path?: Value<string>;
    /** <code>PublicKey</code>  <a name="cfn-glue-devendpoint-publickey"></a>
  The public key to be used by this <code>DevEndpoint</code> for authentication. This attribute is provided for backward compatibility because the recommended attribute to use is public keys.<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> */
    publicKey?: Value<string>;
    /** <code>NumberOfNodes</code>  <a name="cfn-glue-devendpoint-numberofnodes"></a>
  The number of AWS Glue Data Processing Units (DPUs) allocated to this <code>DevEndpoint</code>.<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> */
    numberOfNodes?: Value<number>;
    /** <p> */
    arguments?: Value<any>;
    /** <code>SubnetId</code>  <a name="cfn-glue-devendpoint-subnetid"></a>
  The subnet ID for this <code>DevEndpoint</code>.<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> */
    subnetId?: Value<string>;
    /** <code>PublicKeys</code>  <a name="cfn-glue-devendpoint-publickeys"></a>
  A list of public keys to be used by the <code>DevEndpoints</code> for authentication. Using this attribute is preferred over a single public key because the public keys allow you to have a different private key per client.<br />
  If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys. Call the <code>UpdateDevEndpoint</code> API operation with the public key content in the <code>deletePublicKeys</code> attribute, and the list of new keys in the <code>addPublicKeys</code> attribute.
  
  Required: No<br />
  
  Maximum: <code>5</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> */
    publicKeys?: Value<Value<string>[]>;
    /** <code>SecurityGroupIds</code>  <a name="cfn-glue-devendpoint-securitygroupids"></a>
  A list of security group identifiers used in this <code>DevEndpoint</code>.<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> */
    securityGroupIds?: Value<Value<string>[]>;
    /** <code>RoleArn</code>  <a name="cfn-glue-devendpoint-rolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role used in this <code>DevEndpoint</code>.<br />
  
  Required: Yes<br />
  
  Pattern: <code>arn:aws:iam::\d{12}:role/.*</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> */
    roleArn: Value<string>;
    /** <p> */
    workerType?: Value<string>;
    /** <code>EndpointName</code>  <a name="cfn-glue-devendpoint-endpointname"></a>
  The name of the <code>DevEndpoint</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    endpointName?: Value<string>;
    /** <code>GlueVersion</code>  <a name="cfn-glue-devendpoint-glueversion"></a>
  The AWS Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.<br />
  For more information about the available AWS Glue versions and corresponding Spark and Python versions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Glue version</a> in the developer guide.<br />
  Development endpoints that are created without specifying a Glue version default to Glue 0.9.<br />
  You can specify a version of Python support for development endpoints by using the <code>Arguments</code> parameter in the <code>CreateDevEndpoint</code> or <code>UpdateDevEndpoint</code> APIs. If no arguments are provided, the version defaults to Python 2.<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>ExtraPythonLibsS3Path</code>  <a name="cfn-glue-devendpoint-extrapythonlibss3path"></a>
  The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in your <code>DevEndpoint</code>. Multiple values must be complete paths separated by a comma.<br />
  You can only use pure Python libraries with a <code>DevEndpoint</code>. Libraries that rely on C extensions, such as the <a href="http://pandas.pydata.org/">pandas</a> Python data analysis library, are not currently supported.
  
  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> */
    extraPythonLibsS3Path?: Value<string>;
    /** <code>SecurityConfiguration</code>  <a name="cfn-glue-devendpoint-securityconfiguration"></a>
  The name of the <code>SecurityConfiguration</code> structure to be used with this <code>DevEndpoint</code>.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</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> */
    securityConfiguration?: Value<string>;
    /** <code>NumberOfWorkers</code>  <a name="cfn-glue-devendpoint-numberofworkers"></a>
  The number of workers of a defined <code>workerType</code> that are allocated to the development endpoint.<br />
  The maximum number of workers you can define are 299 for <code>G.1X</code>, and 149 for <code>G.2X</code>.<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-devendpoint-tags"></a>
  The tags to use with this DevEndpoint.<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>;
}
