import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class SpotFleetTagSpecification { ResourceType?: Value; Tags?: List; constructor(properties: SpotFleetTagSpecification); } export declare class PrivateIpAddressSpecification { Primary?: Value; PrivateIpAddress: Value; constructor(properties: PrivateIpAddressSpecification); } export declare class SpotPlacement { AvailabilityZone?: Value; GroupName?: Value; Tenancy?: Value; constructor(properties: SpotPlacement); } export declare class EbsBlockDevice { DeleteOnTermination?: Value; Encrypted?: Value; Iops?: Value; SnapshotId?: Value; VolumeSize?: Value; VolumeType?: Value; constructor(properties: EbsBlockDevice); } export declare class LoadBalancersConfig { ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; TargetGroupsConfig?: TargetGroupsConfig; constructor(properties: LoadBalancersConfig); } export declare class FleetLaunchTemplateSpecification { LaunchTemplateId?: Value; LaunchTemplateName?: Value; Version: Value; constructor(properties: FleetLaunchTemplateSpecification); } export declare class TargetGroup { Arn: Value; constructor(properties: TargetGroup); } export declare class LaunchTemplateOverrides { AvailabilityZone?: Value; InstanceType?: Value; SpotPrice?: Value; SubnetId?: Value; WeightedCapacity?: Value; constructor(properties: LaunchTemplateOverrides); } export declare class SpotFleetMonitoring { Enabled?: Value; constructor(properties: SpotFleetMonitoring); } export declare class ClassicLoadBalancer { Name: Value; constructor(properties: ClassicLoadBalancer); } export declare class LaunchTemplateConfig { LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; Overrides?: List; constructor(properties: LaunchTemplateConfig); } export declare class IamInstanceProfileSpecification { Arn?: Value; constructor(properties: IamInstanceProfileSpecification); } export declare class InstanceNetworkInterfaceSpecification { AssociatePublicIpAddress?: Value; DeleteOnTermination?: Value; Description?: Value; DeviceIndex?: Value; Groups?: List>; Ipv6AddressCount?: Value; Ipv6Addresses?: List; NetworkInterfaceId?: Value; PrivateIpAddresses?: List; SecondaryPrivateIpAddressCount?: Value; SubnetId?: Value; constructor(properties: InstanceNetworkInterfaceSpecification); } export declare class SpotFleetLaunchSpecification { BlockDeviceMappings?: List; EbsOptimized?: Value; IamInstanceProfile?: IamInstanceProfileSpecification; ImageId: Value; InstanceType: Value; KernelId?: Value; KeyName?: Value; Monitoring?: SpotFleetMonitoring; NetworkInterfaces?: List; Placement?: SpotPlacement; RamdiskId?: Value; SecurityGroups?: List; SpotPrice?: Value; SubnetId?: Value; TagSpecifications?: List; UserData?: Value; WeightedCapacity?: Value; constructor(properties: SpotFleetLaunchSpecification); } export declare class ClassicLoadBalancersConfig { ClassicLoadBalancers: List; constructor(properties: ClassicLoadBalancersConfig); } export declare class SpotFleetRequestConfigData { AllocationStrategy?: Value; ExcessCapacityTerminationPolicy?: Value; IamFleetRole: Value; InstanceInterruptionBehavior?: Value; LaunchSpecifications?: List; LaunchTemplateConfigs?: List; LoadBalancersConfig?: LoadBalancersConfig; ReplaceUnhealthyInstances?: Value; SpotPrice?: Value; TargetCapacity: Value; TerminateInstancesWithExpiration?: Value; Type?: Value; ValidFrom?: Value; ValidUntil?: Value; constructor(properties: SpotFleetRequestConfigData); } export declare class InstanceIpv6Address { Ipv6Address: Value; constructor(properties: InstanceIpv6Address); } export declare class TargetGroupsConfig { TargetGroups: List; constructor(properties: TargetGroupsConfig); } export declare class GroupIdentifier { GroupId: Value; constructor(properties: GroupIdentifier); } export declare class BlockDeviceMapping { DeviceName: Value; Ebs?: EbsBlockDevice; NoDevice?: Value; VirtualName?: Value; constructor(properties: BlockDeviceMapping); } export interface SpotFleetProperties { SpotFleetRequestConfigData: SpotFleetRequestConfigData; } export default class SpotFleet extends ResourceBase { static SpotFleetTagSpecification: typeof SpotFleetTagSpecification; static PrivateIpAddressSpecification: typeof PrivateIpAddressSpecification; static SpotPlacement: typeof SpotPlacement; static EbsBlockDevice: typeof EbsBlockDevice; static LoadBalancersConfig: typeof LoadBalancersConfig; static FleetLaunchTemplateSpecification: typeof FleetLaunchTemplateSpecification; static TargetGroup: typeof TargetGroup; static LaunchTemplateOverrides: typeof LaunchTemplateOverrides; static SpotFleetMonitoring: typeof SpotFleetMonitoring; static ClassicLoadBalancer: typeof ClassicLoadBalancer; static LaunchTemplateConfig: typeof LaunchTemplateConfig; static IamInstanceProfileSpecification: typeof IamInstanceProfileSpecification; static InstanceNetworkInterfaceSpecification: typeof InstanceNetworkInterfaceSpecification; static SpotFleetLaunchSpecification: typeof SpotFleetLaunchSpecification; static ClassicLoadBalancersConfig: typeof ClassicLoadBalancersConfig; static SpotFleetRequestConfigData: typeof SpotFleetRequestConfigData; static InstanceIpv6Address: typeof InstanceIpv6Address; static TargetGroupsConfig: typeof TargetGroupsConfig; static GroupIdentifier: typeof GroupIdentifier; static BlockDeviceMapping: typeof BlockDeviceMapping; constructor(properties: SpotFleetProperties); }