import * as core from "@terrascript/core"; export interface TargetCapacitySpecificationArgs extends core.SchemaArgs { defaultTargetCapacityType: string | core.StringOut; onDemandTargetCapacity?: number | core.NumberOut; spotTargetCapacity?: number | core.NumberOut; totalTargetCapacity: number | core.NumberOut; } export declare class TargetCapacitySpecification extends core.Schema { defaultTargetCapacityType: string | core.StringOut; onDemandTargetCapacity?: number | core.NumberOut; spotTargetCapacity?: number | core.NumberOut; totalTargetCapacity: number | core.NumberOut; } export interface MemoryGibPerVcpuArgs extends core.SchemaArgs { max?: number | core.NumberOut; min?: number | core.NumberOut; } export declare class MemoryGibPerVcpu extends core.Schema { max?: number | core.NumberOut; min?: number | core.NumberOut; } export interface AcceleratorCountArgs extends core.SchemaArgs { max?: number | core.NumberOut; min?: number | core.NumberOut; } export declare class AcceleratorCount extends core.Schema { max?: number | core.NumberOut; min?: number | core.NumberOut; } export interface VcpuCountArgs extends core.SchemaArgs { max?: number | core.NumberOut; min: number | core.NumberOut; } export declare class VcpuCount extends core.Schema { max?: number | core.NumberOut; min: number | core.NumberOut; } export interface AcceleratorTotalMemoryMibArgs extends core.SchemaArgs { max?: number | core.NumberOut; min?: number | core.NumberOut; } export declare class AcceleratorTotalMemoryMib extends core.Schema { max?: number | core.NumberOut; min?: number | core.NumberOut; } export interface MemoryMibArgs extends core.SchemaArgs { max?: number | core.NumberOut; min: number | core.NumberOut; } export declare class MemoryMib extends core.Schema { max?: number | core.NumberOut; min: number | core.NumberOut; } export interface NetworkInterfaceCountArgs extends core.SchemaArgs { max?: number | core.NumberOut; min?: number | core.NumberOut; } export declare class NetworkInterfaceCount extends core.Schema { max?: number | core.NumberOut; min?: number | core.NumberOut; } export interface BaselineEbsBandwidthMbpsArgs extends core.SchemaArgs { max?: number | core.NumberOut; min?: number | core.NumberOut; } export declare class BaselineEbsBandwidthMbps extends core.Schema { max?: number | core.NumberOut; min?: number | core.NumberOut; } export interface TotalLocalStorageGbArgs extends core.SchemaArgs { max?: number | core.NumberOut; min?: number | core.NumberOut; } export declare class TotalLocalStorageGb extends core.Schema { max?: number | core.NumberOut; min?: number | core.NumberOut; } export interface InstanceRequirementsArgs extends core.SchemaArgs { acceleratorCount?: AcceleratorCount; acceleratorManufacturers?: core.Array | core.ArrayOut; acceleratorNames?: core.Array | core.ArrayOut; acceleratorTotalMemoryMib?: AcceleratorTotalMemoryMib; acceleratorTypes?: core.Array | core.ArrayOut; bareMetal?: string | core.StringOut; baselineEbsBandwidthMbps?: BaselineEbsBandwidthMbps; burstablePerformance?: string | core.StringOut; cpuManufacturers?: core.Array | core.ArrayOut; excludedInstanceTypes?: core.Array | core.ArrayOut; instanceGenerations?: core.Array | core.ArrayOut; localStorage?: string | core.StringOut; localStorageTypes?: core.Array | core.ArrayOut; memoryGibPerVcpu?: MemoryGibPerVcpu; memoryMib: MemoryMib; networkInterfaceCount?: NetworkInterfaceCount; onDemandMaxPricePercentageOverLowestPrice?: number | core.NumberOut; requireHibernateSupport?: boolean | core.BooleanOut; spotMaxPricePercentageOverLowestPrice?: number | core.NumberOut; totalLocalStorageGb?: TotalLocalStorageGb; vcpuCount: VcpuCount; } export declare class InstanceRequirements extends core.Schema { acceleratorCount?: AcceleratorCount; acceleratorManufacturers?: core.Array | core.ArrayOut; acceleratorNames?: core.Array | core.ArrayOut; acceleratorTotalMemoryMib?: AcceleratorTotalMemoryMib; acceleratorTypes?: core.Array | core.ArrayOut; bareMetal?: string | core.StringOut; baselineEbsBandwidthMbps?: BaselineEbsBandwidthMbps; burstablePerformance?: string | core.StringOut; cpuManufacturers?: core.Array | core.ArrayOut; excludedInstanceTypes?: core.Array | core.ArrayOut; instanceGenerations?: core.Array | core.ArrayOut; localStorage?: string | core.StringOut; localStorageTypes?: core.Array | core.ArrayOut; memoryGibPerVcpu?: MemoryGibPerVcpu; memoryMib: MemoryMib; networkInterfaceCount?: NetworkInterfaceCount; onDemandMaxPricePercentageOverLowestPrice?: number | core.NumberOut; requireHibernateSupport?: boolean | core.BooleanOut; spotMaxPricePercentageOverLowestPrice?: number | core.NumberOut; totalLocalStorageGb?: TotalLocalStorageGb; vcpuCount: VcpuCount; } export interface OverrideArgs extends core.SchemaArgs { availabilityZone?: string | core.StringOut; instanceRequirements?: InstanceRequirements; instanceType?: string | core.StringOut; maxPrice?: string | core.StringOut; priority?: number | core.NumberOut; subnetId?: string | core.StringOut; weightedCapacity?: number | core.NumberOut; } export declare class Override extends core.Schema { availabilityZone?: string | core.StringOut; instanceRequirements?: InstanceRequirements; instanceType?: string | core.StringOut; maxPrice?: string | core.StringOut; priority?: number | core.NumberOut; subnetId?: string | core.StringOut; weightedCapacity?: number | core.NumberOut; } export interface LaunchTemplateSpecificationArgs extends core.SchemaArgs { launchTemplateId?: string | core.StringOut; launchTemplateName?: string | core.StringOut; version: string | core.StringOut; } export declare class LaunchTemplateSpecification extends core.Schema { launchTemplateId?: string | core.StringOut; launchTemplateName?: string | core.StringOut; version: string | core.StringOut; } export interface LaunchTemplateConfigArgs extends core.SchemaArgs { launchTemplateSpecification: LaunchTemplateSpecification; override?: core.Array | core.ArrayOut; } export declare class LaunchTemplateConfig extends core.Schema { launchTemplateSpecification: LaunchTemplateSpecification; override?: core.Array | core.ArrayOut; } export interface CapacityRebalanceArgs extends core.SchemaArgs { replacementStrategy?: string | core.StringOut; } export declare class CapacityRebalance extends core.Schema { replacementStrategy?: string | core.StringOut; } export interface MaintenanceStrategiesArgs extends core.SchemaArgs { capacityRebalance?: CapacityRebalance; } export declare class MaintenanceStrategies extends core.Schema { capacityRebalance?: CapacityRebalance; } export interface SpotOptionsArgs extends core.SchemaArgs { allocationStrategy?: string | core.StringOut; instanceInterruptionBehavior?: string | core.StringOut; instancePoolsToUseCount?: number | core.NumberOut; maintenanceStrategies?: MaintenanceStrategies; } export declare class SpotOptions extends core.Schema { allocationStrategy?: string | core.StringOut; instanceInterruptionBehavior?: string | core.StringOut; instancePoolsToUseCount?: number | core.NumberOut; maintenanceStrategies?: MaintenanceStrategies; } export interface OnDemandOptionsArgs extends core.SchemaArgs { allocationStrategy?: string | core.StringOut; } export declare class OnDemandOptions extends core.Schema { allocationStrategy?: string | core.StringOut; } export interface FleetArgs extends core.ResourceArgs { /** * (Optional) Reserved. */ context?: string | core.StringOut; /** * (Optional) Whether running instances should be terminated if the total target capacity of the EC2 Fl * eet is decreased below the current size of the EC2. Valid values: `no-termination`, `termination`. D * efaults to `termination`. */ excessCapacityTerminationPolicy?: string | core.StringOut; /** * (Required) Nested argument containing EC2 Launch Template configurations. Defined below. */ launchTemplateConfig: LaunchTemplateConfig; /** * (Optional) Nested argument containing On-Demand configurations. Defined below. */ onDemandOptions?: OnDemandOptions; /** * (Optional) Whether EC2 Fleet should replace unhealthy instances. Defaults to `false`. */ replaceUnhealthyInstances?: boolean | core.BooleanOut; /** * (Optional) Nested argument containing Spot configurations. Defined below. */ spotOptions?: SpotOptions; /** * (Optional) Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template. I * f configured with a provider [`default_tags` configuration block](https://registry.terraform.io/prov * iders/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys w * ill overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Required) Nested argument containing target capacity configurations. Defined below. */ targetCapacitySpecification: TargetCapacitySpecification; /** * (Optional) Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults t * o `false`. */ terminateInstances?: boolean | core.BooleanOut; /** * (Optional) Whether running instances should be terminated when the EC2 Fleet expires. Defaults to `f * alse`. */ terminateInstancesWithExpiration?: boolean | core.BooleanOut; /** * (Optional) The type of request. Indicates whether the EC2 Fleet only requests the target capacity, o * r also attempts to maintain it. Valid values: `maintain`, `request`. Defaults to `maintain`. */ type?: string | core.StringOut; } export declare class Fleet extends core.Resource { /** * The ARN of the fleet */ arn: string | core.StringOut; /** * (Optional) Reserved. */ context?: string | core.StringOut; /** * (Optional) Whether running instances should be terminated if the total target capacity of the EC2 Fl * eet is decreased below the current size of the EC2. Valid values: `no-termination`, `termination`. D * efaults to `termination`. */ excessCapacityTerminationPolicy?: string | core.StringOut; /** * Fleet identifier */ id: string | core.StringOut; /** * (Required) Nested argument containing EC2 Launch Template configurations. Defined below. */ launchTemplateConfig: LaunchTemplateConfig; /** * (Optional) Nested argument containing On-Demand configurations. Defined below. */ onDemandOptions?: OnDemandOptions; /** * (Optional) Whether EC2 Fleet should replace unhealthy instances. Defaults to `false`. */ replaceUnhealthyInstances?: boolean | core.BooleanOut; /** * (Optional) Nested argument containing Spot configurations. Defined below. */ spotOptions?: SpotOptions; /** * (Optional) Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template. I * f configured with a provider [`default_tags` configuration block](https://registry.terraform.io/prov * iders/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys w * ill overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Required) Nested argument containing target capacity configurations. Defined below. */ targetCapacitySpecification: TargetCapacitySpecification; /** * (Optional) Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults t * o `false`. */ terminateInstances?: boolean | core.BooleanOut; /** * (Optional) Whether running instances should be terminated when the EC2 Fleet expires. Defaults to `f * alse`. */ terminateInstancesWithExpiration?: boolean | core.BooleanOut; /** * (Optional) The type of request. Indicates whether the EC2 Fleet only requests the target capacity, o * r also attempts to maintain it. Valid values: `maintain`, `request`. Defaults to `maintain`. */ type?: string | core.StringOut; constructor(name: string, args?: FleetArgs); getNamespace(): string; } //# sourceMappingURL=fleet.d.ts.map