133 lines
4.6 KiB
TypeScript
133 lines
4.6 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IContainerDefinition } from './base-types';
|
|
import * as ec2 from '../../../aws-ec2';
|
|
import * as iam from '../../../aws-iam';
|
|
import * as sfn from '../../../aws-stepfunctions';
|
|
interface SageMakerCreateModelOptions {
|
|
/**
|
|
* An execution role that you can pass in a CreateModel API request
|
|
*
|
|
* @default - a role will be created.
|
|
*/
|
|
readonly role?: iam.IRole;
|
|
/**
|
|
* The name of the new model.
|
|
*/
|
|
readonly modelName: string;
|
|
/**
|
|
* The definition of the primary docker image containing inference code, associated artifacts,
|
|
* and custom environment map that the inference code uses when the model is deployed for predictions.
|
|
*/
|
|
readonly primaryContainer: IContainerDefinition;
|
|
/**
|
|
* Specifies the containers in the inference pipeline.
|
|
*
|
|
* @default - None
|
|
*/
|
|
readonly containers?: IContainerDefinition[];
|
|
/**
|
|
* Isolates the model container. No inbound or outbound network calls can be made to or from the model container.
|
|
*
|
|
* @default false
|
|
*/
|
|
readonly enableNetworkIsolation?: boolean;
|
|
/**
|
|
* The VPC that is accessible by the hosted model
|
|
*
|
|
* @default - None
|
|
*/
|
|
readonly vpc?: ec2.IVpc;
|
|
/**
|
|
* The subnets of the VPC to which the hosted model is connected
|
|
* (Note this parameter is only used when VPC is provided)
|
|
*
|
|
* @default - Private Subnets are selected
|
|
*/
|
|
readonly subnetSelection?: ec2.SubnetSelection;
|
|
/**
|
|
* Tags to be applied to the model.
|
|
*
|
|
* @default - No tags
|
|
*/
|
|
readonly tags?: sfn.TaskInput;
|
|
}
|
|
/**
|
|
* Properties for creating an Amazon SageMaker model using JSONPath
|
|
*
|
|
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
|
|
*/
|
|
export interface SageMakerCreateModelJsonPathProps extends sfn.TaskStateJsonPathBaseProps, SageMakerCreateModelOptions {
|
|
}
|
|
/**
|
|
* Properties for creating an Amazon SageMaker model using JSONata
|
|
*
|
|
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
|
|
*/
|
|
export interface SageMakerCreateModelJsonataProps extends sfn.TaskStateJsonataBaseProps, SageMakerCreateModelOptions {
|
|
}
|
|
/**
|
|
* Properties for creating an Amazon SageMaker model
|
|
*
|
|
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
|
|
*/
|
|
export interface SageMakerCreateModelProps extends sfn.TaskStateBaseProps, SageMakerCreateModelOptions {
|
|
}
|
|
/**
|
|
* A Step Functions Task to create a SageMaker model
|
|
*
|
|
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
|
|
*/
|
|
export declare class SageMakerCreateModel extends sfn.TaskStateBase implements iam.IGrantable, ec2.IConnectable {
|
|
private readonly props;
|
|
/**
|
|
* Uniquely identifies this class.
|
|
*/
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* A Step Functions Task using JSONPath to create a SageMaker model
|
|
*
|
|
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
|
|
*/
|
|
static jsonPath(scope: Construct, id: string, props: SageMakerCreateModelJsonPathProps): SageMakerCreateModel;
|
|
/**
|
|
* A Step Functions Task using JSONata to create a SageMaker model
|
|
*
|
|
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
|
|
*/
|
|
static jsonata(scope: Construct, id: string, props: SageMakerCreateModelJsonataProps): SageMakerCreateModel;
|
|
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
|
|
/**
|
|
* Allows specify security group connections for instances of this fleet.
|
|
*/
|
|
readonly connections: ec2.Connections;
|
|
/**
|
|
* The execution role for the Sagemaker Create Model API.
|
|
*/
|
|
readonly role: iam.IRole;
|
|
readonly grantPrincipal: iam.IPrincipal;
|
|
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
|
|
protected readonly taskPolicies?: iam.PolicyStatement[];
|
|
private readonly vpc?;
|
|
private securityGroup?;
|
|
private readonly _securityGroups;
|
|
private readonly subnets?;
|
|
private readonly integrationPattern;
|
|
constructor(scope: Construct, id: string, props: SageMakerCreateModelProps);
|
|
/**
|
|
* 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 makePolicyStatements;
|
|
private createSagemakerRole;
|
|
private renderVpcConfig;
|
|
}
|
|
export {};
|