@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
168 lines (167 loc) • 6.74 kB
TypeScript
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);
}