UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

199 lines • 11.8 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.SpotInstanceRequest = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Request a spot instance at $0.03 * const cheapWorker = new aws.ec2.SpotInstanceRequest("cheap_worker", { * ami: "ami-1234", * spotPrice: "0.03", * instanceType: "c4.xlarge", * tags: { * Name: "CheapWorker", * }, * }); * ``` */ class SpotInstanceRequest extends pulumi.CustomResource { /** * Get an existing SpotInstanceRequest 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, state, opts) { return new SpotInstanceRequest(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of SpotInstanceRequest. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === SpotInstanceRequest.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["ami"] = state?.ami; resourceInputs["arn"] = state?.arn; resourceInputs["associatePublicIpAddress"] = state?.associatePublicIpAddress; resourceInputs["availabilityZone"] = state?.availabilityZone; resourceInputs["capacityReservationSpecification"] = state?.capacityReservationSpecification; resourceInputs["cpuOptions"] = state?.cpuOptions; resourceInputs["creditSpecification"] = state?.creditSpecification; resourceInputs["disableApiStop"] = state?.disableApiStop; resourceInputs["disableApiTermination"] = state?.disableApiTermination; resourceInputs["ebsBlockDevices"] = state?.ebsBlockDevices; resourceInputs["ebsOptimized"] = state?.ebsOptimized; resourceInputs["enablePrimaryIpv6"] = state?.enablePrimaryIpv6; resourceInputs["enclaveOptions"] = state?.enclaveOptions; resourceInputs["ephemeralBlockDevices"] = state?.ephemeralBlockDevices; resourceInputs["forceDestroy"] = state?.forceDestroy; resourceInputs["getPasswordData"] = state?.getPasswordData; resourceInputs["hibernation"] = state?.hibernation; resourceInputs["hostId"] = state?.hostId; resourceInputs["hostResourceGroupArn"] = state?.hostResourceGroupArn; resourceInputs["iamInstanceProfile"] = state?.iamInstanceProfile; resourceInputs["instanceInitiatedShutdownBehavior"] = state?.instanceInitiatedShutdownBehavior; resourceInputs["instanceInterruptionBehavior"] = state?.instanceInterruptionBehavior; resourceInputs["instanceState"] = state?.instanceState; resourceInputs["instanceType"] = state?.instanceType; resourceInputs["ipv6AddressCount"] = state?.ipv6AddressCount; resourceInputs["ipv6Addresses"] = state?.ipv6Addresses; resourceInputs["keyName"] = state?.keyName; resourceInputs["launchGroup"] = state?.launchGroup; resourceInputs["launchTemplate"] = state?.launchTemplate; resourceInputs["maintenanceOptions"] = state?.maintenanceOptions; resourceInputs["metadataOptions"] = state?.metadataOptions; resourceInputs["monitoring"] = state?.monitoring; resourceInputs["networkInterfaces"] = state?.networkInterfaces; resourceInputs["outpostArn"] = state?.outpostArn; resourceInputs["passwordData"] = state?.passwordData; resourceInputs["placementGroup"] = state?.placementGroup; resourceInputs["placementGroupId"] = state?.placementGroupId; resourceInputs["placementPartitionNumber"] = state?.placementPartitionNumber; resourceInputs["primaryNetworkInterfaceId"] = state?.primaryNetworkInterfaceId; resourceInputs["primaryNetworkInterfaces"] = state?.primaryNetworkInterfaces; resourceInputs["privateDns"] = state?.privateDns; resourceInputs["privateDnsNameOptions"] = state?.privateDnsNameOptions; resourceInputs["privateIp"] = state?.privateIp; resourceInputs["publicDns"] = state?.publicDns; resourceInputs["publicIp"] = state?.publicIp; resourceInputs["region"] = state?.region; resourceInputs["rootBlockDevice"] = state?.rootBlockDevice; resourceInputs["secondaryPrivateIps"] = state?.secondaryPrivateIps; resourceInputs["securityGroups"] = state?.securityGroups; resourceInputs["sourceDestCheck"] = state?.sourceDestCheck; resourceInputs["spotBidStatus"] = state?.spotBidStatus; resourceInputs["spotInstanceId"] = state?.spotInstanceId; resourceInputs["spotPrice"] = state?.spotPrice; resourceInputs["spotRequestState"] = state?.spotRequestState; resourceInputs["spotType"] = state?.spotType; resourceInputs["subnetId"] = state?.subnetId; resourceInputs["tags"] = state?.tags; resourceInputs["tagsAll"] = state?.tagsAll; resourceInputs["tenancy"] = state?.tenancy; resourceInputs["userData"] = state?.userData; resourceInputs["userDataBase64"] = state?.userDataBase64; resourceInputs["userDataReplaceOnChange"] = state?.userDataReplaceOnChange; resourceInputs["validFrom"] = state?.validFrom; resourceInputs["validUntil"] = state?.validUntil; resourceInputs["volumeTags"] = state?.volumeTags; resourceInputs["vpcSecurityGroupIds"] = state?.vpcSecurityGroupIds; resourceInputs["waitForFulfillment"] = state?.waitForFulfillment; } else { const args = argsOrState; resourceInputs["ami"] = args?.ami; resourceInputs["associatePublicIpAddress"] = args?.associatePublicIpAddress; resourceInputs["availabilityZone"] = args?.availabilityZone; resourceInputs["capacityReservationSpecification"] = args?.capacityReservationSpecification; resourceInputs["cpuOptions"] = args?.cpuOptions; resourceInputs["creditSpecification"] = args?.creditSpecification; resourceInputs["disableApiStop"] = args?.disableApiStop; resourceInputs["disableApiTermination"] = args?.disableApiTermination; resourceInputs["ebsBlockDevices"] = args?.ebsBlockDevices; resourceInputs["ebsOptimized"] = args?.ebsOptimized; resourceInputs["enablePrimaryIpv6"] = args?.enablePrimaryIpv6; resourceInputs["enclaveOptions"] = args?.enclaveOptions; resourceInputs["ephemeralBlockDevices"] = args?.ephemeralBlockDevices; resourceInputs["forceDestroy"] = args?.forceDestroy; resourceInputs["getPasswordData"] = args?.getPasswordData; resourceInputs["hibernation"] = args?.hibernation; resourceInputs["hostId"] = args?.hostId; resourceInputs["hostResourceGroupArn"] = args?.hostResourceGroupArn; resourceInputs["iamInstanceProfile"] = args?.iamInstanceProfile; resourceInputs["instanceInitiatedShutdownBehavior"] = args?.instanceInitiatedShutdownBehavior; resourceInputs["instanceInterruptionBehavior"] = args?.instanceInterruptionBehavior; resourceInputs["instanceType"] = args?.instanceType; resourceInputs["ipv6AddressCount"] = args?.ipv6AddressCount; resourceInputs["ipv6Addresses"] = args?.ipv6Addresses; resourceInputs["keyName"] = args?.keyName; resourceInputs["launchGroup"] = args?.launchGroup; resourceInputs["launchTemplate"] = args?.launchTemplate; resourceInputs["maintenanceOptions"] = args?.maintenanceOptions; resourceInputs["metadataOptions"] = args?.metadataOptions; resourceInputs["monitoring"] = args?.monitoring; resourceInputs["networkInterfaces"] = args?.networkInterfaces; resourceInputs["placementGroup"] = args?.placementGroup; resourceInputs["placementGroupId"] = args?.placementGroupId; resourceInputs["placementPartitionNumber"] = args?.placementPartitionNumber; resourceInputs["privateDnsNameOptions"] = args?.privateDnsNameOptions; resourceInputs["privateIp"] = args?.privateIp; resourceInputs["region"] = args?.region; resourceInputs["rootBlockDevice"] = args?.rootBlockDevice; resourceInputs["secondaryPrivateIps"] = args?.secondaryPrivateIps; resourceInputs["securityGroups"] = args?.securityGroups; resourceInputs["sourceDestCheck"] = args?.sourceDestCheck; resourceInputs["spotPrice"] = args?.spotPrice; resourceInputs["spotType"] = args?.spotType; resourceInputs["subnetId"] = args?.subnetId; resourceInputs["tags"] = args?.tags; resourceInputs["tenancy"] = args?.tenancy; resourceInputs["userData"] = args?.userData; resourceInputs["userDataBase64"] = args?.userDataBase64; resourceInputs["userDataReplaceOnChange"] = args?.userDataReplaceOnChange; resourceInputs["validFrom"] = args?.validFrom; resourceInputs["validUntil"] = args?.validUntil; resourceInputs["volumeTags"] = args?.volumeTags; resourceInputs["vpcSecurityGroupIds"] = args?.vpcSecurityGroupIds; resourceInputs["waitForFulfillment"] = args?.waitForFulfillment; resourceInputs["arn"] = undefined /*out*/; resourceInputs["instanceState"] = undefined /*out*/; resourceInputs["outpostArn"] = undefined /*out*/; resourceInputs["passwordData"] = undefined /*out*/; resourceInputs["primaryNetworkInterfaceId"] = undefined /*out*/; resourceInputs["primaryNetworkInterfaces"] = undefined /*out*/; resourceInputs["privateDns"] = undefined /*out*/; resourceInputs["publicDns"] = undefined /*out*/; resourceInputs["publicIp"] = undefined /*out*/; resourceInputs["spotBidStatus"] = undefined /*out*/; resourceInputs["spotInstanceId"] = undefined /*out*/; resourceInputs["spotRequestState"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(SpotInstanceRequest.__pulumiType, name, resourceInputs, opts); } } exports.SpotInstanceRequest = SpotInstanceRequest; /** @internal */ SpotInstanceRequest.__pulumiType = 'aws:ec2/spotInstanceRequest:SpotInstanceRequest'; //# sourceMappingURL=spotInstanceRequest.js.map