@aws-cdk/aws-glue-alpha
Version:
The CDK Construct Library for AWS::Glue
61 lines (60 loc) • 1.76 kB
TypeScript
import * as iam from 'aws-cdk-lib/aws-iam';
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as s3assets from 'aws-cdk-lib/aws-s3-assets';
import * as constructs from 'constructs';
/**
* Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).
*/
export declare abstract class Code {
/**
* Job code as an S3 object.
* @param bucket The S3 bucket
* @param key The object key
*/
static fromBucket(bucket: s3.IBucket, key: string): S3Code;
/**
* Job code from a local disk path.
*
* @param path code file (not a directory).
*/
static fromAsset(path: string, options?: s3assets.AssetOptions): AssetCode;
/**
* Called when the Job is initialized to allow this object to bind.
*/
abstract bind(scope: constructs.Construct, grantable: iam.IGrantable): CodeConfig;
}
/**
* Glue job Code from an S3 bucket.
*/
export declare class S3Code extends Code {
private readonly bucket;
private readonly key;
constructor(bucket: s3.IBucket, key: string);
bind(_scope: constructs.Construct, grantable: iam.IGrantable): CodeConfig;
}
/**
* Job Code from a local file.
*/
export declare class AssetCode extends Code {
private readonly path;
private readonly options;
private asset?;
/**
* @param path The path to the Code file.
*/
constructor(path: string, options?: s3assets.AssetOptions);
bind(scope: constructs.Construct, grantable: iam.IGrantable): CodeConfig;
/**
* Hash a string
*/
private hashcode;
}
/**
* Result of binding `Code` into a `Job`.
*/
export interface CodeConfig {
/**
* The location of the code in S3.
*/
readonly s3Location: s3.Location;
}