UNPKG

@nolanrigo/cloudformation

Version:

TypeScript-based imperative way to define AWS CloudFormation templates

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