aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
74 lines (73 loc) • 2.34 kB
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 {};