UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

867 lines (866 loc) 37.2 kB
import * as cdk from "../../core"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; /** * The `AWS::PCS::Cluster` resource creates an AWS PCS cluster. * * @cloudformationResource AWS::PCS::Cluster * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html */ export declare class CfnCluster extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnCluster from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCluster; /** * The unique Amazon Resource Name (ARN) of the cluster. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The list of endpoints available for interaction with the scheduler. * * @cloudformationAttribute Endpoints */ readonly attrEndpoints: cdk.IResolvable; /** * The list of errors that occurred during cluster provisioning. * * @cloudformationAttribute ErrorInfo */ readonly attrErrorInfo: cdk.IResolvable; /** * The generated unique ID of the cluster. * * @cloudformationAttribute Id */ readonly attrId: string; /** * The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. * * @cloudformationAttribute Status */ readonly attrStatus: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The name that identifies the cluster. */ name?: string; /** * The networking configuration for the cluster's control plane. */ networking: cdk.IResolvable | CfnCluster.NetworkingProperty; /** * The cluster management and job scheduling software associated with the cluster. */ scheduler: cdk.IResolvable | CfnCluster.SchedulerProperty; /** * The size of the cluster. */ size: string; /** * Additional options related to the Slurm scheduler. */ slurmConfiguration?: cdk.IResolvable | CfnCluster.SlurmConfigurationProperty; /** * 1 or more tags added to the resource. */ tags?: Record<string, string>; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnClusterProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnCluster { /** * TThe networking configuration for the cluster's control plane. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-networking.html */ interface NetworkingProperty { /** * The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-networking.html#cfn-pcs-cluster-networking-securitygroupids */ readonly securityGroupIds?: Array<string>; /** * The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. * * The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-networking.html#cfn-pcs-cluster-networking-subnetids */ readonly subnetIds?: Array<string>; } /** * The cluster management and job scheduling software associated with the cluster. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-scheduler.html */ interface SchedulerProperty { /** * The software AWS PCS uses to manage cluster scaling and job scheduling. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-scheduler.html#cfn-pcs-cluster-scheduler-type */ readonly type: string; /** * The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-scheduler.html#cfn-pcs-cluster-scheduler-version */ readonly version: string; } /** * Additional options related to the Slurm scheduler. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html */ interface SlurmConfigurationProperty { /** * The accounting configuration includes configurable settings for Slurm accounting. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-accounting */ readonly accounting?: CfnCluster.AccountingProperty | cdk.IResolvable; /** * The shared Slurm key for authentication, also known as the cluster secret. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-authkey */ readonly authKey?: CfnCluster.AuthKeyProperty | cdk.IResolvable; /** * The time before an idle node is scaled down. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-scaledownidletimeinseconds */ readonly scaleDownIdleTimeInSeconds?: number; /** * Additional Slurm-specific configuration that directly maps to Slurm settings. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmconfiguration.html#cfn-pcs-cluster-slurmconfiguration-slurmcustomsettings */ readonly slurmCustomSettings?: Array<cdk.IResolvable | CfnCluster.SlurmCustomSettingProperty> | cdk.IResolvable; } /** * The accounting configuration includes configurable settings for Slurm accounting. * * It's a property of the `ClusterSlurmConfiguration` object. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-accounting.html */ interface AccountingProperty { /** * The default value for all purge settings for `slurmdbd.conf` . For more information, see the [slurmdbd.conf documentation at SchedMD](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurmdbd.conf.html) . * * The default value `-1` means there is no purge time and records persist as long as the cluster exists. * * > `0` isn't a valid value. * * @default - -1 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-accounting.html#cfn-pcs-cluster-accounting-defaultpurgetimeindays */ readonly defaultPurgeTimeInDays?: number; /** * The default value for `mode` is `STANDARD` . * * A value of `STANDARD` means Slurm accounting is enabled. * * @default - "NONE" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-accounting.html#cfn-pcs-cluster-accounting-mode */ readonly mode: string; } /** * The shared Slurm key for authentication, also known as the *cluster secret* . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-authkey.html */ interface AuthKeyProperty { /** * The Amazon Resource Name (ARN) of the shared Slurm key. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-authkey.html#cfn-pcs-cluster-authkey-secretarn */ readonly secretArn: string; /** * The version of the shared Slurm key. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-authkey.html#cfn-pcs-cluster-authkey-secretversion */ readonly secretVersion: string; } /** * Additional settings that directly map to Slurm settings. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmcustomsetting.html */ interface SlurmCustomSettingProperty { /** * AWS PCS supports configuration of the following Slurm parameters:. * * - For *clusters* * * - [`Prolog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1) * - [`Epilog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1) * - [`SelectTypeParameters`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters) * - For *compute node groups* * * - [`Weight`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight) * - [`RealMemory`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight) * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmcustomsetting.html#cfn-pcs-cluster-slurmcustomsetting-parametername */ readonly parameterName: string; /** * The values for the configured Slurm settings. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-slurmcustomsetting.html#cfn-pcs-cluster-slurmcustomsetting-parametervalue */ readonly parameterValue: string; } /** * An endpoint available for interaction with the scheduler. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html */ interface EndpointProperty { /** * The endpoint's connection port number. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-port */ readonly port: string; /** * The endpoint's private IP address. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-privateipaddress */ readonly privateIpAddress: string; /** * The endpoint's public IP address. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-publicipaddress */ readonly publicIpAddress?: string; /** * Indicates the type of endpoint running at the specific IP address. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-endpoint.html#cfn-pcs-cluster-endpoint-type */ readonly type: string; } /** * An error that occurred during resource provisioning. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-errorinfo.html */ interface ErrorInfoProperty { /** * The short-form error code. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-errorinfo.html#cfn-pcs-cluster-errorinfo-code */ readonly code?: string; /** * The detailed error information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-cluster-errorinfo.html#cfn-pcs-cluster-errorinfo-message */ readonly message?: string; } } /** * Properties for defining a `CfnCluster` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html */ export interface CfnClusterProps { /** * The name that identifies the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-name */ readonly name?: string; /** * The networking configuration for the cluster's control plane. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-networking */ readonly networking: cdk.IResolvable | CfnCluster.NetworkingProperty; /** * The cluster management and job scheduling software associated with the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-scheduler */ readonly scheduler: cdk.IResolvable | CfnCluster.SchedulerProperty; /** * The size of the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-size */ readonly size: string; /** * Additional options related to the Slurm scheduler. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-slurmconfiguration */ readonly slurmConfiguration?: cdk.IResolvable | CfnCluster.SlurmConfigurationProperty; /** * 1 or more tags added to the resource. * * Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html#cfn-pcs-cluster-tags */ readonly tags?: Record<string, string>; } /** * The `AWS::PCS::ComputeNodeGroup` resource creates an AWS PCS compute node group. * * @cloudformationResource AWS::PCS::ComputeNodeGroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html */ export declare class CfnComputeNodeGroup extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnComputeNodeGroup from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnComputeNodeGroup; /** * The unique Amazon Resource Name (ARN) of the compute node group. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The list of errors that occurred during compute node group provisioning. * * @cloudformationAttribute ErrorInfo */ readonly attrErrorInfo: cdk.IResolvable; /** * The generated unique ID of the compute node group. * * @cloudformationAttribute Id */ readonly attrId: string; /** * The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. * * @cloudformationAttribute Status */ readonly attrStatus: string; /** * The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. */ amiId?: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The ID of the cluster of the compute node group. */ clusterId: string; /** * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. */ customLaunchTemplate: CfnComputeNodeGroup.CustomLaunchTemplateProperty | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. */ iamInstanceProfileArn: string; /** * A list of EC2 instance configurations that AWS PCS can provision in the compute node group. */ instanceConfigs: Array<CfnComputeNodeGroup.InstanceConfigProperty | cdk.IResolvable> | cdk.IResolvable; /** * The name that identifies the compute node group. */ name?: string; /** * Specifies how EC2 instances are purchased on your behalf. */ purchaseOption?: string; /** * Specifies the boundaries of the compute node group auto scaling. */ scalingConfiguration: cdk.IResolvable | CfnComputeNodeGroup.ScalingConfigurationProperty; /** * Additional options related to the Slurm scheduler. */ slurmConfiguration?: cdk.IResolvable | CfnComputeNodeGroup.SlurmConfigurationProperty; /** * Additional configuration when you specify `SPOT` as the `purchaseOption` . */ spotOptions?: cdk.IResolvable | CfnComputeNodeGroup.SpotOptionsProperty; /** * The list of subnet IDs where instances are provisioned by the compute node group. */ subnetIds: Array<string>; /** * 1 or more tags added to the resource. */ tags?: Record<string, string>; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnComputeNodeGroupProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnComputeNodeGroup { /** * Additional configuration when you specify `SPOT` as the `purchaseOption` . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-spotoptions.html */ interface SpotOptionsProperty { /** * The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. * * AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-spotoptions.html#cfn-pcs-computenodegroup-spotoptions-allocationstrategy */ readonly allocationStrategy?: string; } /** * Additional options related to the Slurm scheduler. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmconfiguration.html */ interface SlurmConfigurationProperty { /** * Additional Slurm-specific configuration that directly maps to Slurm settings. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmconfiguration.html#cfn-pcs-computenodegroup-slurmconfiguration-slurmcustomsettings */ readonly slurmCustomSettings?: Array<cdk.IResolvable | CfnComputeNodeGroup.SlurmCustomSettingProperty> | cdk.IResolvable; } /** * Additional settings that directly map to Slurm settings. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmcustomsetting.html */ interface SlurmCustomSettingProperty { /** * AWS PCS supports configuration of the following Slurm parameters:. * * - For *clusters* * * - [`Prolog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Prolog_1) * - [`Epilog`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog_1) * - [`SelectTypeParameters`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_SelectTypeParameters) * - For *compute node groups* * * - [`Weight`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight) * - [`RealMemory`](https://docs.aws.amazon.com/https://slurm.schedmd.com/slurm.conf.html#OPT_Weight) * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmcustomsetting.html#cfn-pcs-computenodegroup-slurmcustomsetting-parametername */ readonly parameterName: string; /** * The values for the configured Slurm settings. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-slurmcustomsetting.html#cfn-pcs-computenodegroup-slurmcustomsetting-parametervalue */ readonly parameterValue: string; } /** * Specifies the boundaries of the compute node group auto scaling. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-scalingconfiguration.html */ interface ScalingConfigurationProperty { /** * The upper bound of the number of instances allowed in the compute fleet. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-scalingconfiguration.html#cfn-pcs-computenodegroup-scalingconfiguration-maxinstancecount */ readonly maxInstanceCount: number; /** * The lower bound of the number of instances allowed in the compute fleet. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-scalingconfiguration.html#cfn-pcs-computenodegroup-scalingconfiguration-mininstancecount */ readonly minInstanceCount: number; } /** * An EC2 instance configuration AWS PCS uses to launch compute nodes. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-instanceconfig.html */ interface InstanceConfigProperty { /** * The EC2 instance type that AWS PCS can provision in the compute node group. * * Example: `t2.xlarge` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-instanceconfig.html#cfn-pcs-computenodegroup-instanceconfig-instancetype */ readonly instanceType?: string; } /** * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-customlaunchtemplate.html */ interface CustomLaunchTemplateProperty { /** * The ID of the EC2 launch template to use to provision instances. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-customlaunchtemplate.html#cfn-pcs-computenodegroup-customlaunchtemplate-templateid */ readonly templateId?: string; /** * The version of the EC2 launch template to use to provision instances. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-customlaunchtemplate.html#cfn-pcs-computenodegroup-customlaunchtemplate-version */ readonly version: string; } /** * The list of errors that occurred during compute node group provisioning. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-errorinfo.html */ interface ErrorInfoProperty { /** * The short-form error code. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-errorinfo.html#cfn-pcs-computenodegroup-errorinfo-code */ readonly code?: string; /** * The detailed error information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-computenodegroup-errorinfo.html#cfn-pcs-computenodegroup-errorinfo-message */ readonly message?: string; } } /** * Properties for defining a `CfnComputeNodeGroup` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html */ export interface CfnComputeNodeGroupProps { /** * The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. * * If not provided, AWS PCS uses the AMI ID specified in the custom launch template. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-amiid */ readonly amiId?: string; /** * The ID of the cluster of the compute node group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-clusterid */ readonly clusterId: string; /** * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-customlaunchtemplate */ readonly customLaunchTemplate: CfnComputeNodeGroup.CustomLaunchTemplateProperty | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. * * The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-iaminstanceprofilearn */ readonly iamInstanceProfileArn: string; /** * A list of EC2 instance configurations that AWS PCS can provision in the compute node group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-instanceconfigs */ readonly instanceConfigs: Array<CfnComputeNodeGroup.InstanceConfigProperty | cdk.IResolvable> | cdk.IResolvable; /** * The name that identifies the compute node group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-name */ readonly name?: string; /** * Specifies how EC2 instances are purchased on your behalf. * * AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-purchaseoption */ readonly purchaseOption?: string; /** * Specifies the boundaries of the compute node group auto scaling. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-scalingconfiguration */ readonly scalingConfiguration: cdk.IResolvable | CfnComputeNodeGroup.ScalingConfigurationProperty; /** * Additional options related to the Slurm scheduler. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-slurmconfiguration */ readonly slurmConfiguration?: cdk.IResolvable | CfnComputeNodeGroup.SlurmConfigurationProperty; /** * Additional configuration when you specify `SPOT` as the `purchaseOption` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-spotoptions */ readonly spotOptions?: cdk.IResolvable | CfnComputeNodeGroup.SpotOptionsProperty; /** * The list of subnet IDs where instances are provisioned by the compute node group. * * The subnets must be in the same VPC as the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-subnetids */ readonly subnetIds: Array<string>; /** * 1 or more tags added to the resource. * * Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html#cfn-pcs-computenodegroup-tags */ readonly tags?: Record<string, string>; } /** * The `AWS::PCS::Queue` resource creates an AWS PCS queue. * * @cloudformationResource AWS::PCS::Queue * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html */ export declare class CfnQueue extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnQueue from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnQueue; /** * The unique Amazon Resource Name (ARN) of the queue. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The list of errors that occurred during queue provisioning. * * @cloudformationAttribute ErrorInfo */ readonly attrErrorInfo: cdk.IResolvable; /** * The generated unique ID of the queue. * * @cloudformationAttribute Id */ readonly attrId: string; /** * The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. * * @cloudformationAttribute Status */ readonly attrStatus: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The ID of the cluster of the queue. */ clusterId: string; /** * The list of compute node group configurations associated with the queue. */ computeNodeGroupConfigurations?: Array<CfnQueue.ComputeNodeGroupConfigurationProperty | cdk.IResolvable> | cdk.IResolvable; /** * The name that identifies the queue. */ name?: string; /** * 1 or more tags added to the resource. */ tags?: Record<string, string>; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnQueueProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnQueue { /** * The compute node group configuration for a queue. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-computenodegroupconfiguration.html */ interface ComputeNodeGroupConfigurationProperty { /** * The compute node group ID for the compute node group configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-computenodegroupconfiguration.html#cfn-pcs-queue-computenodegroupconfiguration-computenodegroupid */ readonly computeNodeGroupId?: string; } /** * An error that occurred during resource provisioning. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-errorinfo.html */ interface ErrorInfoProperty { /** * The short-form error code. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-errorinfo.html#cfn-pcs-queue-errorinfo-code */ readonly code?: string; /** * TBDThe detailed error information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pcs-queue-errorinfo.html#cfn-pcs-queue-errorinfo-message */ readonly message?: string; } } /** * Properties for defining a `CfnQueue` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html */ export interface CfnQueueProps { /** * The ID of the cluster of the queue. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-clusterid */ readonly clusterId: string; /** * The list of compute node group configurations associated with the queue. * * Queues assign jobs to associated compute node groups. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-computenodegroupconfigurations */ readonly computeNodeGroupConfigurations?: Array<CfnQueue.ComputeNodeGroupConfigurationProperty | cdk.IResolvable> | cdk.IResolvable; /** * The name that identifies the queue. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-name */ readonly name?: string; /** * 1 or more tags added to the resource. * * Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html#cfn-pcs-queue-tags */ readonly tags?: Record<string, string>; }