Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.equinix.pulumi.metal.inputs.SpotMarketRequestState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing equinix cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.equinix.pulumi.metal.inputs;
import com.equinix.pulumi.metal.inputs.SpotMarketRequestInstanceParametersArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class SpotMarketRequestState extends com.pulumi.resources.ResourceArgs {
public static final SpotMarketRequestState Empty = new SpotMarketRequestState();
/**
* Maximum number devices to be created.
*
*/
@Import(name="devicesMax")
private @Nullable Output devicesMax;
/**
* @return Maximum number devices to be created.
*
*/
public Optional> devicesMax() {
return Optional.ofNullable(this.devicesMax);
}
/**
* Miniumum number devices to be created.
*
*/
@Import(name="devicesMin")
private @Nullable Output devicesMin;
/**
* @return Miniumum number devices to be created.
*
*/
public Optional> devicesMin() {
return Optional.ofNullable(this.devicesMin);
}
/**
* Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
*
* @deprecated
* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*
*/
@Deprecated /* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices */
@Import(name="facilities")
private @Nullable Output> facilities;
/**
* @return Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
*
* @deprecated
* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*
*/
@Deprecated /* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices */
public Optional>> facilities() {
return Optional.ofNullable(this.facilities);
}
/**
* Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: `billing_cycle`, `plan`, `operating_system`, `hostname`, `termination_time`, `always_pxe`, `description`, `features`, `locked`, `project_ssh_keys`, `user_ssh_keys`, `userdata`, `customdata`, `ipxe_script_url`, `tags`. You can find each parameter description in equinix.metal.Device docs.
*
*/
@Import(name="instanceParameters")
private @Nullable Output instanceParameters;
/**
* @return Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: `billing_cycle`, `plan`, `operating_system`, `hostname`, `termination_time`, `always_pxe`, `description`, `features`, `locked`, `project_ssh_keys`, `user_ssh_keys`, `userdata`, `customdata`, `ipxe_script_url`, `tags`. You can find each parameter description in equinix.metal.Device docs.
*
*/
public Optional> instanceParameters() {
return Optional.ofNullable(this.instanceParameters);
}
/**
* Maximum price user is willing to pay per hour per device.
*
*/
@Import(name="maxBidPrice")
private @Nullable Output maxBidPrice;
/**
* @return Maximum price user is willing to pay per hour per device.
*
*/
public Optional> maxBidPrice() {
return Optional.ofNullable(this.maxBidPrice);
}
/**
* Metro where devices should be created.
*
*/
@Import(name="metro")
private @Nullable Output metro;
/**
* @return Metro where devices should be created.
*
*/
public Optional> metro() {
return Optional.ofNullable(this.metro);
}
/**
* Project ID.
*
*/
@Import(name="projectId")
private @Nullable Output projectId;
/**
* @return Project ID.
*
*/
public Optional> projectId() {
return Optional.ofNullable(this.projectId);
}
/**
* On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
*
*/
@Import(name="waitForDevices")
private @Nullable Output waitForDevices;
/**
* @return On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
*
*/
public Optional> waitForDevices() {
return Optional.ofNullable(this.waitForDevices);
}
private SpotMarketRequestState() {}
private SpotMarketRequestState(SpotMarketRequestState $) {
this.devicesMax = $.devicesMax;
this.devicesMin = $.devicesMin;
this.facilities = $.facilities;
this.instanceParameters = $.instanceParameters;
this.maxBidPrice = $.maxBidPrice;
this.metro = $.metro;
this.projectId = $.projectId;
this.waitForDevices = $.waitForDevices;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SpotMarketRequestState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private SpotMarketRequestState $;
public Builder() {
$ = new SpotMarketRequestState();
}
public Builder(SpotMarketRequestState defaults) {
$ = new SpotMarketRequestState(Objects.requireNonNull(defaults));
}
/**
* @param devicesMax Maximum number devices to be created.
*
* @return builder
*
*/
public Builder devicesMax(@Nullable Output devicesMax) {
$.devicesMax = devicesMax;
return this;
}
/**
* @param devicesMax Maximum number devices to be created.
*
* @return builder
*
*/
public Builder devicesMax(Integer devicesMax) {
return devicesMax(Output.of(devicesMax));
}
/**
* @param devicesMin Miniumum number devices to be created.
*
* @return builder
*
*/
public Builder devicesMin(@Nullable Output devicesMin) {
$.devicesMin = devicesMin;
return this;
}
/**
* @param devicesMin Miniumum number devices to be created.
*
* @return builder
*
*/
public Builder devicesMin(Integer devicesMin) {
return devicesMin(Output.of(devicesMin));
}
/**
* @param facilities Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
*
* @return builder
*
* @deprecated
* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*
*/
@Deprecated /* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices */
public Builder facilities(@Nullable Output> facilities) {
$.facilities = facilities;
return this;
}
/**
* @param facilities Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
*
* @return builder
*
* @deprecated
* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*
*/
@Deprecated /* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices */
public Builder facilities(List facilities) {
return facilities(Output.of(facilities));
}
/**
* @param facilities Facility IDs where devices should be created. Use metro instead; read the facility to metro migration guide
*
* @return builder
*
* @deprecated
* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*
*/
@Deprecated /* Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices */
public Builder facilities(String... facilities) {
return facilities(List.of(facilities));
}
/**
* @param instanceParameters Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: `billing_cycle`, `plan`, `operating_system`, `hostname`, `termination_time`, `always_pxe`, `description`, `features`, `locked`, `project_ssh_keys`, `user_ssh_keys`, `userdata`, `customdata`, `ipxe_script_url`, `tags`. You can find each parameter description in equinix.metal.Device docs.
*
* @return builder
*
*/
public Builder instanceParameters(@Nullable Output instanceParameters) {
$.instanceParameters = instanceParameters;
return this;
}
/**
* @param instanceParameters Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: `billing_cycle`, `plan`, `operating_system`, `hostname`, `termination_time`, `always_pxe`, `description`, `features`, `locked`, `project_ssh_keys`, `user_ssh_keys`, `userdata`, `customdata`, `ipxe_script_url`, `tags`. You can find each parameter description in equinix.metal.Device docs.
*
* @return builder
*
*/
public Builder instanceParameters(SpotMarketRequestInstanceParametersArgs instanceParameters) {
return instanceParameters(Output.of(instanceParameters));
}
/**
* @param maxBidPrice Maximum price user is willing to pay per hour per device.
*
* @return builder
*
*/
public Builder maxBidPrice(@Nullable Output maxBidPrice) {
$.maxBidPrice = maxBidPrice;
return this;
}
/**
* @param maxBidPrice Maximum price user is willing to pay per hour per device.
*
* @return builder
*
*/
public Builder maxBidPrice(Double maxBidPrice) {
return maxBidPrice(Output.of(maxBidPrice));
}
/**
* @param metro Metro where devices should be created.
*
* @return builder
*
*/
public Builder metro(@Nullable Output metro) {
$.metro = metro;
return this;
}
/**
* @param metro Metro where devices should be created.
*
* @return builder
*
*/
public Builder metro(String metro) {
return metro(Output.of(metro));
}
/**
* @param projectId Project ID.
*
* @return builder
*
*/
public Builder projectId(@Nullable Output projectId) {
$.projectId = projectId;
return this;
}
/**
* @param projectId Project ID.
*
* @return builder
*
*/
public Builder projectId(String projectId) {
return projectId(Output.of(projectId));
}
/**
* @param waitForDevices On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
*
* @return builder
*
*/
public Builder waitForDevices(@Nullable Output waitForDevices) {
$.waitForDevices = waitForDevices;
return this;
}
/**
* @param waitForDevices On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
*
* @return builder
*
*/
public Builder waitForDevices(Boolean waitForDevices) {
return waitForDevices(Output.of(waitForDevices));
}
public SpotMarketRequestState build() {
return $;
}
}
}