Interface AzureComputeSource
- All Superinterfaces:
ComputeSource
,Credentialed
,Identified
,Named
,Serializable
- All Known Implementing Classes:
AzureInstancesComputeSource
,AzureScaleSetComputeSource
@ValidatedBy(AzureComputeSourceValidator.class)
public interface AzureComputeSource
extends ComputeSource
Derives from
ComputeSource
to provide the interface for all Azure compute source model objects.-
Field Summary
Fields inherited from interface co.yellowdog.platform.model.ComputeSource
DEFAULT_ASSIGN_PUBLIC_IP
-
Method Summary
Modifier and TypeMethodDescription@NotBlank String
Allows the specification of an Azure environment other than the default public environment.default InstancePricing
Gets the instance pricing for this source, e.g.default String
Gets the provider-specific instance type of the instances that will be provisioned.@NotBlank String
@NotBlank String
default CloudProvider
Gets the Cloud Provider for this source.@DecimalMin("0.00001") Double
The maximum price that will be paid for Spot VMs provisioned from this source.@NotBlank String
default String
Gets the provider-specific subregion (aka Availability Domain, Availability Zone or Zone) where instances will be provisioned.Indicates if supporting resources have been created for this source.Indicates if Spot VMs should be requested from Azure.@NotBlank String
boolean
default void
setInstanceType
(String instanceType) Sets the provider-specific instance type of the instances that will be provisioned.void
setSupportingResourceCreated
(Boolean supportingResourceCreated) void
Methods inherited from interface co.yellowdog.platform.model.ComputeSource
getCreatedFromId, getExhaustion, getId, getImageId, getInstanceSummary, getInstanceTags, getLimit, getName, getRegion, getStatus, getStatusMessage, getTraits, getUserData, setCreatedFromId, setExhaustion, setId, setImageId, setInstanceSummary, setInstanceTags, setLimit, setName, setStatus, setStatusMessage, setUserData
Methods inherited from interface co.yellowdog.platform.model.Credentialed
getCredentials
-
Method Details
-
getProvider
Description copied from interface:ComputeSource
Gets the Cloud Provider for this source.- Specified by:
getProvider
in interfaceComputeSource
- Returns:
- the Cloud Provider for this source
-
getInstancePricing
Description copied from interface:ComputeSource
Gets the instance pricing for this source, e.g. Spot- Specified by:
getInstancePricing
in interfaceComputeSource
- Returns:
- the instance pricing for this source
-
getSubregion
Description copied from interface:ComputeSource
Gets the provider-specific subregion (aka Availability Domain, Availability Zone or Zone) where instances will be provisioned.- Specified by:
getSubregion
in interfaceComputeSource
- Returns:
- the provider-specific subregion where instances will be provisioned
-
getInstanceType
Description copied from interface:ComputeSource
Gets the provider-specific instance type of the instances that will be provisioned.- Specified by:
getInstanceType
in interfaceComputeSource
- Returns:
- the provider-specific instance type of the instances that will be provisioned
-
setInstanceType
Description copied from interface:ComputeSource
Sets the provider-specific instance type of the instances that will be provisioned.- Specified by:
setInstanceType
in interfaceComputeSource
- Parameters:
instanceType
- the provider-specific instance type of the instances that will be provisioned
-
getCredential
- Specified by:
getCredential
in interfaceComputeSource
-
getAvailabilityZone
@JsonPropertyDescription("The Azure availability zone within the region where instances will be provisioned") String getAvailabilityZone() -
getNetworkResourceGroupName
@NotBlank @JsonPropertyDescription("The Azure network resource group name to use for provisioned instances") @NotBlank String getNetworkResourceGroupName() -
getNetworkName
@NotBlank @JsonPropertyDescription("The Azure network name to use for provisioned instances") @NotBlank String getNetworkName() -
getSubnetName
@NotBlank @JsonPropertyDescription("The Azure subnet name to use for provisioned instances") @NotBlank String getSubnetName() -
getEnvironment
@JsonPropertyDescription("An Azure environment other than the default public environment") String getEnvironment()Allows the specification of an Azure environment other than the default public environment. This should normally be left blank. Valid values are "china", "germany", "us_government".- Returns:
- an Azure environment other than the default public environment
-
getVmSize
@NotBlank @JsonPropertyDescription("The virtual machine type (aka instance type) of the instances that will be provisioned") @NotBlank String getVmSize() -
setVmSize
-
getAdminUserCredential
@JsonPropertyDescription("The fully qualified name of the keyring credential '{keyring name}/{credential name}' to use for the admin/root user login details for provisioned instances") String getAdminUserCredential() -
getSshKey
@JsonPropertyDescription("The public SSH key to allow instances to be accessible with the matching private key through SSH") String getSshKey() -
isAssignPublicIp
@JsonPropertyDescription("Assign public IP address to provisioned instances") boolean isAssignPublicIp() -
getCreateProximityPlacementGroup
@JsonPropertyDescription("Provision the instances within a proximity placement group") Boolean getCreateProximityPlacementGroup() -
getUseAcceleratedNetworking
@JsonPropertyDescription("Provision each instance's primary network interface with accelerated networking") Boolean getUseAcceleratedNetworking() -
getUseSpot
@JsonPropertyDescription("Request Spot VMs (requires Spot max price to be set)") Boolean getUseSpot()Indicates if Spot VMs should be requested from Azure. Requires Spot max price to be set.- Returns:
- if Spot VMs should be requested from Azure
-
getSpotMaxPrice
@DecimalMin("0.00001") @JsonPropertyDescription("The maximum price that will be paid for Spot VMs provisioned from this source") @DecimalMin("0.00001") Double getSpotMaxPrice()The maximum price that will be paid for Spot VMs provisioned from this source.- Returns:
- the maximum price that will be paid for Spot VMs
-
getSupportingResourceCreated
Description copied from interface:ComputeSource
Indicates if supporting resources have been created for this source.- Specified by:
getSupportingResourceCreated
in interfaceComputeSource
- Returns:
- true, if supporting resources have been created for this source; false, if no supporting resources have been created; null, if unknown
-
setSupportingResourceCreated
-