SpotMarketRequest
Provides an Equinix Metal 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 Equinix Metal documentation.
Example Usage
using Pulumi;
using EquinixMetal = Pulumi.EquinixMetal;
class MyStack : Stack
{
public MyStack()
{
// Create a spot market request
var req = new EquinixMetal.SpotMarketRequest("req", new EquinixMetal.SpotMarketRequestArgs
{
ProjectId = local.Project_id,
MaxBidPrice = 0.03,
Facilities =
{
"ewr1",
},
DevicesMin = 1,
DevicesMax = 1,
InstanceParameters = new EquinixMetal.Inputs.SpotMarketRequestInstanceParametersArgs
{
Hostname = "testspot",
BillingCycle = "hourly",
OperatingSystem = "coreos_stable",
Plan = "t1.small.x86",
},
});
}
}
package main
import (
"github.com/pulumi/pulumi-equinix-metal/sdk/go/equinix-metal"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := equinix - metal.NewSpotMarketRequest(ctx, "req", &equinix-metal.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: &equinix - metal.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_equinix_metal as equinix_metal
# Create a spot market request
req = equinix_metal.SpotMarketRequest("req",
project_id=local["project_id"],
max_bid_price=0.03,
facilities=["ewr1"],
devices_min=1,
devices_max=1,
instance_parameters=equinix_metal.SpotMarketRequestInstanceParametersArgs(
hostname="testspot",
billing_cycle="hourly",
operating_system="coreos_stable",
plan="t1.small.x86",
))
import * as pulumi from "@pulumi/pulumi";
import * as equinix_metal from "@pulumi/equinix-metal";
// Create a spot market request
const req = new equinix_metal.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:
- Devices
Max int Maximum number devices to be created
- Devices
Min int Miniumum number devices to be created
- Facilities List<string>
Facility IDs where devices should be created
- Instance
Parameters Pulumi.Equinix Metal. Inputs. Spot Market Request Instance Parameters Args Device parameters. See device resource for details
- Max
Bid doublePrice Maximum price user is willing to pay per hour per device
- Project
Id string Project ID
- Wait
For boolDevices 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 []string
Facility IDs where devices should be created
- Instance
Parameters SpotMarket Request Instance Parameters Device parameters. See device resource for details
- Max
Bid float64Price Maximum price user is willing to pay per hour per device
- Project
Id string Project ID
- Wait
For boolDevices On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
- devices
Max number Maximum number devices to be created
- devices
Min number Miniumum number devices to be created
- facilities string[]
Facility IDs where devices should be created
- instance
Parameters SpotMarket Request Instance Parameters Device parameters. See device resource for details
- max
Bid numberPrice Maximum price user is willing to pay per hour per device
- project
Id string Project ID
- wait
For booleanDevices 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 SpotMarket Request Instance Parameters Args Device parameters. See device resource for details
- max_
bid_ floatprice Maximum price user is willing to pay per hour per device
- project_
id str Project ID
- wait_
for_ booldevices 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:
- Devices
Max int Maximum number devices to be created
- Devices
Min int Miniumum number devices to be created
- Facilities List<string>
Facility IDs where devices should be created
- Instance
Parameters Pulumi.Equinix Metal. Inputs. Spot Market Request Instance Parameters Args Device parameters. See device resource for details
- Max
Bid doublePrice Maximum price user is willing to pay per hour per device
- Project
Id string Project ID
- Wait
For boolDevices 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 []string
Facility IDs where devices should be created
- Instance
Parameters SpotMarket Request Instance Parameters Device parameters. See device resource for details
- Max
Bid float64Price Maximum price user is willing to pay per hour per device
- Project
Id string Project ID
- Wait
For boolDevices On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
- devices
Max number Maximum number devices to be created
- devices
Min number Miniumum number devices to be created
- facilities string[]
Facility IDs where devices should be created
- instance
Parameters SpotMarket Request Instance Parameters Device parameters. See device resource for details
- max
Bid numberPrice Maximum price user is willing to pay per hour per device
- project
Id string Project ID
- wait
For booleanDevices 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 SpotMarket Request Instance Parameters Args Device parameters. See device resource for details
- max_
bid_ floatprice Maximum price user is willing to pay per hour per device
- project_
id str Project ID
- wait_
for_ booldevices On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
Supporting Types
SpotMarketRequestInstanceParameters
- Billing
Cycle string - Hostname string
- Operating
System string - Plan string
- Always
Pxe bool - Customdata string
- Description string
- Features List<string>
- Ipxe
Script stringUrl - Locked string
- Project
Ssh List<string>Keys - List<string>
- Termintation
Time string - User
Ssh List<string>Keys - Userdata string
- Billing
Cycle string - Hostname string
- Operating
System string - Plan string
- Always
Pxe bool - Customdata string
- Description string
- Features []string
- Ipxe
Script stringUrl - Locked string
- Project
Ssh []stringKeys - []string
- Termintation
Time string - User
Ssh []stringKeys - Userdata string
- billing
Cycle string - hostname string
- operating
System string - plan string
- always
Pxe boolean - customdata string
- description string
- features string[]
- ipxe
Script stringUrl - locked string
- project
Ssh string[]Keys - string[]
- termintation
Time string - user
Ssh string[]Keys - userdata string
- billing_
cycle str - hostname str
- operating_
system str - plan str
- always_
pxe bool - customdata str
- description str
- features Sequence[str]
- ipxe_
script_ strurl - locked str
- project_
ssh_ Sequence[str]keys - Sequence[str]
- termintation_
time str - user_
ssh_ Sequence[str]keys - userdata str
Package Details
- Repository
- https://github.com/pulumi/pulumi-equinix-metal
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
metal
Terraform Provider.