BillingProfile.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.compute.models;
import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Specifies the billing related details of a Azure Spot VM or VMSS. <br><br>Minimum api-version:
* 2019-03-01.
*/
@Fluent
public final class BillingProfile {
@JsonIgnore private final ClientLogger logger = new ClientLogger(BillingProfile.class);
/*
* Specifies the maximum price you are willing to pay for a Azure Spot
* VM/VMSS. This price is in US Dollars. <br><br> This price will be
* compared with the current Azure Spot price for the VM size. Also, the
* prices are compared at the time of create/update of Azure Spot VM/VMSS
* and the operation will only succeed if the maxPrice is greater than the
* current Azure Spot price. <br><br> The maxPrice will also be used for
* evicting a Azure Spot VM/VMSS if the current Azure Spot price goes
* beyond the maxPrice after creation of VM/VMSS. <br><br> Possible values
* are: <br><br> - Any decimal value greater than zero. Example: 0.01538
* <br><br> -1 – indicates default price to be up-to on-demand. <br><br>
* You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS
* should not be evicted for price reasons. Also, the default max price is
* -1 if it is not provided by you. <br><br>Minimum api-version:
* 2019-03-01.
*/
@JsonProperty(value = "maxPrice")
private Double maxPrice;
/**
* Get the maxPrice property: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This
* price is in US Dollars. <br><br> This price will be compared with the current Azure Spot price for
* the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation
* will only succeed if the maxPrice is greater than the current Azure Spot price. <br><br> The maxPrice
* will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice
* after creation of VM/VMSS. <br><br> Possible values are: <br><br> - Any decimal value
* greater than zero. Example: 0.01538 <br><br> -1 – indicates default price to be up-to on-demand.
* <br><br> You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted
* for price reasons. Also, the default max price is -1 if it is not provided by you. <br><br>Minimum
* api-version: 2019-03-01.
*
* @return the maxPrice value.
*/
public Double maxPrice() {
return this.maxPrice;
}
/**
* Set the maxPrice property: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This
* price is in US Dollars. <br><br> This price will be compared with the current Azure Spot price for
* the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation
* will only succeed if the maxPrice is greater than the current Azure Spot price. <br><br> The maxPrice
* will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice
* after creation of VM/VMSS. <br><br> Possible values are: <br><br> - Any decimal value
* greater than zero. Example: 0.01538 <br><br> -1 – indicates default price to be up-to on-demand.
* <br><br> You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted
* for price reasons. Also, the default max price is -1 if it is not provided by you. <br><br>Minimum
* api-version: 2019-03-01.
*
* @param maxPrice the maxPrice value to set.
* @return the BillingProfile object itself.
*/
public BillingProfile withMaxPrice(Double maxPrice) {
this.maxPrice = maxPrice;
return this;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
}
}