aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
174 lines (173 loc) • 6.04 kB
TypeScript
import { Construct } from 'constructs';
import { AlgorithmSpecification, Channel, OutputDataConfig, ResourceConfig, StoppingCondition, VpcConfig } from './base-types';
import * as ec2 from '../../../aws-ec2';
import * as iam from '../../../aws-iam';
import * as sfn from '../../../aws-stepfunctions';
interface SageMakerCreateTrainingJobOptions {
/**
* Training Job Name.
*/
readonly trainingJobName: string;
/**
* Role for the Training Job. The role must be granted all necessary permissions for the SageMaker training job to
* be able to operate.
*
* See https://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms
*
* @default - a role will be created.
*/
readonly role?: iam.IRole;
/**
* Identifies the training algorithm to use.
*/
readonly algorithmSpecification: AlgorithmSpecification;
/**
* Isolates the training container. No inbound or outbound network calls can be made to or from the training container.
*
* @default false
*/
readonly enableNetworkIsolation?: boolean;
/**
* Algorithm-specific parameters that influence the quality of the model. Set hyperparameters before you start the learning process.
* For a list of hyperparameters provided by Amazon SageMaker
* @see https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html
*
* @default - No hyperparameters
*/
readonly hyperparameters?: {
[key: string]: any;
};
/**
* Describes the various datasets (e.g. train, validation, test) and the Amazon S3 location where stored.
*
* @default - No inputDataConfig
*/
readonly inputDataConfig?: Channel[];
/**
* Tags to be applied to the train job.
*
* @default - No tags
*/
readonly tags?: {
[key: string]: string;
};
/**
* Identifies the Amazon S3 location where you want Amazon SageMaker to save the results of model training.
*/
readonly outputDataConfig: OutputDataConfig;
/**
* Specifies the resources, ML compute instances, and ML storage volumes to deploy for model training.
*
* @default - 1 instance of EC2 `M4.XLarge` with `10GB` volume
*/
readonly resourceConfig?: ResourceConfig;
/**
* Sets a time limit for training.
*
* @default - max runtime of 1 hour
*/
readonly stoppingCondition?: StoppingCondition;
/**
* Specifies the VPC that you want your training job to connect to.
*
* @default - No VPC
*/
readonly vpcConfig?: VpcConfig;
/**
* Environment variables to set in the Docker container.
*
* @default - No environment variables
*/
readonly environment?: {
[key: string]: string;
};
}
/**
* Properties for creating an Amazon SageMaker training job using JSONPath
*/
export interface SageMakerCreateTrainingJobJsonPathProps extends sfn.TaskStateJsonPathBaseProps, SageMakerCreateTrainingJobOptions {
}
/**
* Properties for creating an Amazon SageMaker training job using JSONata
*/
export interface SageMakerCreateTrainingJobJsonataProps extends sfn.TaskStateJsonataBaseProps, SageMakerCreateTrainingJobOptions {
}
/**
* Properties for creating an Amazon SageMaker training job
*/
export interface SageMakerCreateTrainingJobProps extends sfn.TaskStateBaseProps, SageMakerCreateTrainingJobOptions {
}
/**
* Class representing the SageMaker Create Training Job task.
*/
export declare class SageMakerCreateTrainingJob extends sfn.TaskStateBase implements iam.IGrantable, ec2.IConnectable {
private readonly props;
/**
* A Step Functions Task using JSONPath to create a SageMaker training job.
*/
static jsonPath(scope: Construct, id: string, props: SageMakerCreateTrainingJobJsonPathProps): SageMakerCreateTrainingJob;
/**
* A Step Functions Task using JSONata to create a SageMaker training job.
*/
static jsonata(scope: Construct, id: string, props: SageMakerCreateTrainingJobJsonataProps): SageMakerCreateTrainingJob;
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
/**
* Allows specify security group connections for instances of this fleet.
*/
readonly connections: ec2.Connections;
protected readonly taskPolicies?: iam.PolicyStatement[];
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
/**
* The Algorithm Specification
*/
private readonly algorithmSpecification;
/**
* The Input Data Config.
*/
private readonly inputDataConfig?;
/**
* The resource config for the task.
*/
private readonly resourceConfig;
/**
* The resource config for the task.
*/
private readonly stoppingCondition;
private readonly vpc?;
private securityGroup?;
private readonly securityGroups;
private readonly subnets?;
private readonly integrationPattern;
private _role?;
private _grantPrincipal?;
constructor(scope: Construct, id: string, props: SageMakerCreateTrainingJobProps);
/**
* The execution role for the Sagemaker training job.
*
* Only available after task has been added to a state machine.
*/
get role(): iam.IRole;
get grantPrincipal(): iam.IPrincipal;
/**
* Add the security group to all instances via the launch configuration
* security groups array.
*
* @param securityGroup: The security group to add
*/
addSecurityGroup(securityGroup: ec2.ISecurityGroup): void;
/**
* @internal
*/
protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any;
private renderParameters;
private renderAlgorithmSpecification;
private renderInputDataConfig;
private renderOutputDataConfig;
private renderResourceConfig;
private renderStoppingCondition;
private renderHyperparameters;
private renderVpcConfig;
private validateAlgorithmName;
private makePolicyStatements;
}
export {};