Ready to level-up your engineering skills? Join a Pulumi Workshop. Register Now

SpotMarketRequest

Provides a Packet Spot Market Request resource to allow you to manage spot market requests on your account. For more detail on Spot Market, see this article in Packet documentaion.

Example Usage

using Pulumi;
using Packet = Pulumi.Packet;

class MyStack : Stack
{
    public MyStack()
    {
        // Create a spot market request
        var req = new Packet.SpotMarketRequest("req", new Packet.SpotMarketRequestArgs
        {
            ProjectId = local.Project_id,
            MaxBidPrice = 0.03,
            Facilities = 
            {
                "ewr1",
            },
            DevicesMin = 1,
            DevicesMax = 1,
            InstanceParameters = new Packet.Inputs.SpotMarketRequestInstanceParametersArgs
            {
                Hostname = "testspot",
                BillingCycle = "hourly",
                OperatingSystem = "coreos_stable",
                Plan = "t1.small.x86",
            },
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-packet/sdk/v3/go/packet"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := packet.NewSpotMarketRequest(ctx, "req", &packet.SpotMarketRequestArgs{
            ProjectId:   pulumi.Any(local.Project_id),
            MaxBidPrice: pulumi.Float64(0.03),
            Facilities: pulumi.StringArray{
                pulumi.String("ewr1"),
            },
            DevicesMin: pulumi.Int(1),
            DevicesMax: pulumi.Int(1),
            InstanceParameters: &packet.SpotMarketRequestInstanceParametersArgs{
                Hostname:        pulumi.String("testspot"),
                BillingCycle:    pulumi.String("hourly"),
                OperatingSystem: pulumi.String("coreos_stable"),
                Plan:            pulumi.String("t1.small.x86"),
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_packet as packet

# Create a spot market request
req = packet.SpotMarketRequest("req",
    project_id=local["project_id"],
    max_bid_price=0.03,
    facilities=["ewr1"],
    devices_min=1,
    devices_max=1,
    instance_parameters=packet.SpotMarketRequestInstanceParametersArgs(
        hostname="testspot",
        billing_cycle="hourly",
        operating_system="coreos_stable",
        plan="t1.small.x86",
    ))
import * as pulumi from "@pulumi/pulumi";
import * as packet from "@pulumi/packet";

// Create a spot market request
const req = new packet.SpotMarketRequest("req", {
    projectId: local.project_id,
    maxBidPrice: 0.03,
    facilities: ["ewr1"],
    devicesMin: 1,
    devicesMax: 1,
    instanceParameters: {
        hostname: "testspot",
        billingCycle: "hourly",
        operatingSystem: "coreos_stable",
        plan: "t1.small.x86",
    },
});

Create a SpotMarketRequest Resource

new SpotMarketRequest(name: string, args: SpotMarketRequestArgs, opts?: CustomResourceOptions);
def SpotMarketRequest(resource_name: str, opts: Optional[ResourceOptions] = None, devices_max: Optional[int] = None, devices_min: Optional[int] = None, facilities: Optional[Sequence[str]] = None, instance_parameters: Optional[SpotMarketRequestInstanceParametersArgs] = None, max_bid_price: Optional[float] = None, project_id: Optional[str] = None, wait_for_devices: Optional[bool] = None)
func NewSpotMarketRequest(ctx *Context, name string, args SpotMarketRequestArgs, opts ...ResourceOption) (*SpotMarketRequest, error)
public SpotMarketRequest(string name, SpotMarketRequestArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args SpotMarketRequestArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args SpotMarketRequestArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args SpotMarketRequestArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

SpotMarketRequest Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The SpotMarketRequest resource accepts the following input properties:

DevicesMax int

Maximum number devices to be created

DevicesMin int

Miniumum number devices to be created

Facilities List<string>

Facility IDs where devices should be created

InstanceParameters SpotMarketRequestInstanceParametersArgs

Device parameters. See device resource for details

MaxBidPrice double

Maximum price user is willing to pay per hour per device

ProjectId string

Project ID

WaitForDevices bool

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

DevicesMax int

Maximum number devices to be created

DevicesMin int

Miniumum number devices to be created

Facilities []string

Facility IDs where devices should be created

InstanceParameters SpotMarketRequestInstanceParameters

Device parameters. See device resource for details

MaxBidPrice float64

Maximum price user is willing to pay per hour per device

ProjectId string

Project ID

WaitForDevices bool

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

devicesMax number

Maximum number devices to be created

devicesMin number

Miniumum number devices to be created

facilities string[]

Facility IDs where devices should be created

instanceParameters SpotMarketRequestInstanceParameters

Device parameters. See device resource for details

maxBidPrice number

Maximum price user is willing to pay per hour per device

projectId string

Project ID

waitForDevices boolean

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

devices_max int

Maximum number devices to be created

devices_min int

Miniumum number devices to be created

facilities Sequence[str]

Facility IDs where devices should be created

instance_parameters SpotMarketRequestInstanceParametersArgs

Device parameters. See device resource for details

max_bid_price float

Maximum price user is willing to pay per hour per device

project_id str

Project ID

wait_for_devices bool

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

Outputs

All input properties are implicitly available as output properties. Additionally, the SpotMarketRequest resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing SpotMarketRequest Resource

Get an existing SpotMarketRequest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: SpotMarketRequestState, opts?: CustomResourceOptions): SpotMarketRequest
@staticmethod
def get(resource_name: str, id: str, opts: Optional[ResourceOptions] = None, devices_max: Optional[int] = None, devices_min: Optional[int] = None, facilities: Optional[Sequence[str]] = None, instance_parameters: Optional[SpotMarketRequestInstanceParametersArgs] = None, max_bid_price: Optional[float] = None, project_id: Optional[str] = None, wait_for_devices: Optional[bool] = None) -> SpotMarketRequest
func GetSpotMarketRequest(ctx *Context, name string, id IDInput, state *SpotMarketRequestState, opts ...ResourceOption) (*SpotMarketRequest, error)
public static SpotMarketRequest Get(string name, Input<string> id, SpotMarketRequestState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

DevicesMax int

Maximum number devices to be created

DevicesMin int

Miniumum number devices to be created

Facilities List<string>

Facility IDs where devices should be created

InstanceParameters SpotMarketRequestInstanceParametersArgs

Device parameters. See device resource for details

MaxBidPrice double

Maximum price user is willing to pay per hour per device

ProjectId string

Project ID

WaitForDevices bool

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

DevicesMax int

Maximum number devices to be created

DevicesMin int

Miniumum number devices to be created

Facilities []string

Facility IDs where devices should be created

InstanceParameters SpotMarketRequestInstanceParameters

Device parameters. See device resource for details

MaxBidPrice float64

Maximum price user is willing to pay per hour per device

ProjectId string

Project ID

WaitForDevices bool

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

devicesMax number

Maximum number devices to be created

devicesMin number

Miniumum number devices to be created

facilities string[]

Facility IDs where devices should be created

instanceParameters SpotMarketRequestInstanceParameters

Device parameters. See device resource for details

maxBidPrice number

Maximum price user is willing to pay per hour per device

projectId string

Project ID

waitForDevices boolean

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

devices_max int

Maximum number devices to be created

devices_min int

Miniumum number devices to be created

facilities Sequence[str]

Facility IDs where devices should be created

instance_parameters SpotMarketRequestInstanceParametersArgs

Device parameters. See device resource for details

max_bid_price float

Maximum price user is willing to pay per hour per device

project_id str

Project ID

wait_for_devices bool

On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed

Supporting Types

SpotMarketRequestInstanceParameters

BillingCycle string
Hostname string
OperatingSystem string
Plan string
AlwaysPxe string
Description string
Features List<string>
Locked string
ProjectSshKeys List<string>
TermintationTime string
UserSshKeys List<string>
Userdata string
BillingCycle string
Hostname string
OperatingSystem string
Plan string
AlwaysPxe string
Description string
Features []string
Locked string
ProjectSshKeys []string
TermintationTime string
UserSshKeys []string
Userdata string
billingCycle string
hostname string
operatingSystem string
plan string
alwaysPxe string
description string
features string[]
locked string
projectSshKeys string[]
termintationTime string
userSshKeys string[]
userdata string

Package Details

Repository
https://github.com/pulumi/pulumi-packet
License
Apache-2.0
Notes
This Pulumi package is based on the packet Terraform Provider.