74 lines
2.3 KiB
TypeScript
74 lines
2.3 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IEcsContainerDefinition } from './ecs-container-definition';
|
|
import type { IJobDefinition, JobDefinitionProps } from './job-definition-base';
|
|
import { JobDefinitionBase } from './job-definition-base';
|
|
import * as iam from '../../aws-iam';
|
|
import type { IJobQueueRef } from '../../interfaces/generated/aws-batch-interfaces.generated';
|
|
/**
|
|
* A JobDefinition that uses ECS orchestration
|
|
*/
|
|
interface IEcsJobDefinition extends IJobDefinition {
|
|
/**
|
|
* The container that this job will run
|
|
*/
|
|
readonly container: IEcsContainerDefinition;
|
|
/**
|
|
* Whether to propagate tags from the JobDefinition
|
|
* to the ECS task that Batch spawns
|
|
*
|
|
* @default false
|
|
*/
|
|
readonly propagateTags?: boolean;
|
|
}
|
|
/**
|
|
* @internal
|
|
*/
|
|
export declare enum Compatibility {
|
|
EC2 = "EC2",
|
|
FARGATE = "FARGATE"
|
|
}
|
|
/**
|
|
* Props for EcsJobDefinition
|
|
*/
|
|
export interface EcsJobDefinitionProps extends JobDefinitionProps {
|
|
/**
|
|
* The container that this job will run
|
|
*/
|
|
readonly container: IEcsContainerDefinition;
|
|
/**
|
|
* Whether to propagate tags from the JobDefinition
|
|
* to the ECS task that Batch spawns
|
|
*
|
|
* @default false
|
|
*/
|
|
readonly propagateTags?: boolean;
|
|
}
|
|
/**
|
|
* A JobDefinition that uses ECS orchestration
|
|
*
|
|
* @resource AWS::Batch::JobDefinition
|
|
*/
|
|
export declare class EcsJobDefinition extends JobDefinitionBase implements IEcsJobDefinition {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* Import a JobDefinition by its arn.
|
|
*/
|
|
static fromJobDefinitionArn(scope: Construct, id: string, jobDefinitionArn: string): IJobDefinition;
|
|
private static getJobDefinitionName;
|
|
readonly container: IEcsContainerDefinition;
|
|
readonly propagateTags?: boolean;
|
|
private readonly resource;
|
|
get jobDefinitionArn(): string;
|
|
get jobDefinitionName(): string;
|
|
constructor(scope: Construct, id: string, props: EcsJobDefinitionProps);
|
|
/**
|
|
* Grants the `batch:submitJob` permission to the identity on both this job definition and the `queue`
|
|
*
|
|
* [disable-awslint:no-grants]
|
|
*/
|
|
grantSubmitJob(identity: iam.IGrantable, queue: IJobQueueRef): void;
|
|
private renderPlatformCapabilities;
|
|
}
|
|
export {};
|