UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

153 lines (152 loc) 7.36 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. */ export declare class ComputeNodeGroup extends pulumi.CustomResource { /** * Get an existing ComputeNodeGroup resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ComputeNodeGroup; /** * Returns true if the given object is an instance of ComputeNodeGroup. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ComputeNodeGroup; /** * 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. */ readonly amiId: pulumi.Output<string | undefined>; /** * The unique Amazon Resource Name (ARN) of the compute node group. */ readonly arn: pulumi.Output<string>; /** * The generated unique ID of the compute node group. */ readonly awsId: pulumi.Output<string>; /** * The ID of the cluster of the compute node group. */ readonly clusterId: pulumi.Output<string>; /** * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. */ readonly customLaunchTemplate: pulumi.Output<outputs.pcs.CustomLaunchTemplateProperties>; /** * The list of errors that occurred during compute node group provisioning. */ readonly errorInfo: pulumi.Output<outputs.pcs.ComputeNodeGroupErrorInfo[]>; /** * 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. */ readonly iamInstanceProfileArn: pulumi.Output<string>; /** * A list of EC2 instance configurations that AWS PCS can provision in the compute node group. */ readonly instanceConfigs: pulumi.Output<outputs.pcs.ComputeNodeGroupInstanceConfig[]>; /** * The name that identifies the compute node group. */ readonly name: pulumi.Output<string | undefined>; /** * 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. */ readonly purchaseOption: pulumi.Output<enums.pcs.ComputeNodeGroupPurchaseOption | undefined>; /** * Specifies the boundaries of the compute node group auto scaling. */ readonly scalingConfiguration: pulumi.Output<outputs.pcs.ScalingConfigurationProperties>; /** * Additional options related to the Slurm scheduler. */ readonly slurmConfiguration: pulumi.Output<outputs.pcs.SlurmConfigurationProperties | undefined>; /** * Additional configuration when you specify SPOT as the purchase option. */ readonly spotOptions: pulumi.Output<outputs.pcs.SpotOptionsProperties | undefined>; /** * The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. */ readonly status: pulumi.Output<enums.pcs.ComputeNodeGroupStatus>; /** * 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. */ readonly subnetIds: pulumi.Output<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. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Create a ComputeNodeGroup resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ComputeNodeGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ComputeNodeGroup resource. */ export interface ComputeNodeGroupArgs { /** * 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. */ amiId?: pulumi.Input<string>; /** * The ID of the cluster of the compute node group. */ clusterId: pulumi.Input<string>; /** * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. */ customLaunchTemplate: pulumi.Input<inputs.pcs.CustomLaunchTemplatePropertiesArgs>; /** * 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. */ iamInstanceProfileArn: pulumi.Input<string>; /** * A list of EC2 instance configurations that AWS PCS can provision in the compute node group. */ instanceConfigs: pulumi.Input<pulumi.Input<inputs.pcs.ComputeNodeGroupInstanceConfigArgs>[]>; /** * The name that identifies the compute node group. */ name?: pulumi.Input<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. */ purchaseOption?: pulumi.Input<enums.pcs.ComputeNodeGroupPurchaseOption>; /** * Specifies the boundaries of the compute node group auto scaling. */ scalingConfiguration: pulumi.Input<inputs.pcs.ScalingConfigurationPropertiesArgs>; /** * Additional options related to the Slurm scheduler. */ slurmConfiguration?: pulumi.Input<inputs.pcs.SlurmConfigurationPropertiesArgs>; /** * Additional configuration when you specify SPOT as the purchase option. */ spotOptions?: pulumi.Input<inputs.pcs.SpotOptionsPropertiesArgs>; /** * 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. */ subnetIds: pulumi.Input<pulumi.Input<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. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; }