Interface to define an AWS Batch on EKS team

interface BatchEksTeamProps {
    computeResources: {
        allocationStrategy: BatchAllocationStrategy;
        envType: BatchEnvType;
        instanceTypes: string[];
        maxvCpus: number;
        minvCpus: number;
        priority: number;
    };
    envName: string;
    jobQueueName: string;
    name: string;
    namespace?: string;
    namespaceAnnotations?: {
        [key: string]: any;
    };
    namespaceHardLimits?: Values;
    namespaceLabels?: {
        [key: string]: any;
    };
    serviceAccountName?: string;
    serviceAccountPolicies?: IManagedPolicy[];
    teamManifestDir?: string;
    teamSecrets?: CsiSecretProps[];
    userRoleArn?: string;
    users?: ArnPrincipal[];
    extensionFunction?(team: ApplicationTeam, clusterInfo: ClusterInfo): void;
}

Hierarchy (view full)

Properties

computeResources: {
    allocationStrategy: BatchAllocationStrategy;
    envType: BatchEnvType;
    instanceTypes: string[];
    maxvCpus: number;
    minvCpus: number;
    priority: number;
}

Compute Environment compute resources

Type declaration

  • allocationStrategy: BatchAllocationStrategy

    Allocation strategies for EKS Compute environment - see enum Allocation for options.

  • envType: BatchEnvType

    Compute Environment resources Type - see enum BatchEnvType for options

  • instanceTypes: string[]

    List of instance types - can be a list that contains Instance Type family (i.e. "m5") or a specific Type (i.e. "m5.4xlarge")

  • maxvCpus: number

    The maximum number of Amazon EC2 vCPUs that an environment can reach.

  • minvCpus: number

    The minimum number of Amazon EC2 vCPUs that an environment should maintain.

  • priority: number

    Priority of the job queue - priority is set in descending order

envName: string

Compute Environment name

jobQueueName: string

Name of the Job Queue

name: string

Required unique name for organization. May map to an OU name.

namespace?: string

Defaults to team name prefixed by "team-"

namespaceAnnotations?: {
    [key: string]: any;
} = ...

Annotations such as necessary for GitOps engine.

namespaceHardLimits?: Values = ...

Optional, but highly recommended setting to ensure predictable demands.

namespaceLabels?: {
    [key: string]: any;
}

Labels such as necessary for AWS AppMesh

serviceAccountName?: string

Service Account Name

serviceAccountPolicies?: IManagedPolicy[]

If specified, the IRSA account will be created for with the IRSA role having the specified managed policies.

serviceAccountPolicies: [ManagedPolicy.fromAwsManagedPolicyName("")]
teamManifestDir?: string

Optional, directory where a team's manifests are stored

teamSecrets?: CsiSecretProps[]

Team Secrets

userRoleArn?: string

Options existing role that should be used for cluster access. If userRole and users are not provided, then no IAM setup is performed.

users?: ArnPrincipal[]

Team members who need to get access to the cluster

Methods