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 ComputeSource
DEFAULT_ASSIGN_PUBLIC_IP -
Method Summary
Modifier and TypeMethodDescription@NotBlank StringAllows the specification of an Azure environment other than the default public environment.default InstancePricingGets the instance pricing for this source, e.g.Gets the custom instance tags to be set on the provisioned instance at startup.default StringGets the provider-specific instance type of the instances that will be provisioned.@NotBlank String@NotBlank Stringdefault CloudProviderGets the Cloud Provider for this source.@DecimalMin("0.00001") DoubleThe maximum price that will be paid for Spot VMs provisioned from this source.@NotBlank Stringdefault StringGets 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 Stringbooleandefault voidsetInstanceType(String instanceType) Sets the provider-specific instance type of the instances that will be provisioned.voidsetSupportingResourceCreated(Boolean supportingResourceCreated) voidMethods inherited from interface ComputeSource
getCreatedFromId, getExhaustion, getId, getImageId, getInstanceSummary, getLimit, getName, getRegion, getStatus, getStatusMessage, getTraits, getUserData, setCreatedFromId, setExhaustion, setId, setImageId, setInstanceSummary, setInstanceTags, setLimit, setName, setStatus, setStatusMessage, setUserDataModifier and TypeMethodDescriptionGets the ID of the source template if this source was created from a template.If this source is associated with an exhausted allowance, gets the exhaustion state.getId()Returns the ID@NotBlank StringGets the image ID to use for the instances that will be provisioned.A summary of instance counts according to instance status@Min(0L) intgetLimit()Returns the limit in number of instances that can be provisioned from this source.getName()Returns the name of this compute source (which must be unique within the containing ComputeRequirement).@NotBlank StringGets the provider-specific region where instances will be provisioned.Gets the current provisioning status of this source.Gets the message associated with the current provisioning status of this source.Returns an object describing behavioural traits specific to this compute source.Gets the user-data script to be passed to the provisioned instance at startup.voidsetCreatedFromId(String templateId) Sets the source template IDvoidsetExhaustion(ComputeSourceExhaustion exhaustion) voidSets the IDvoidsetImageId(String imageId) Sets the image ID to use for the instances that will be provisioned.voidsetInstanceSummary(InstanceSummary instanceSummary) voidsetInstanceTags(Map<String, String> instanceTags) Sets the custom instance tags to be set on the provisioned instance at startup.voidsetLimit(int limit) Sets the limit in number of instances that can be provisioned from this source.voidSets the name of this compute source (which must be unique within the containing ComputeRequirement).voidsetStatus(ComputeSourceStatus status) Sets the current provisioning status of this source.voidsetStatusMessage(String statusMessage) Sets the message associated with the current provisioning status of this source.voidsetUserData(String userData) Sets the user-data script to be passed to the provisioned instance at startup.Methods inherited from interface Credentialed
getCredentialsModifier and TypeMethodDescriptionReturn the names of the credentials to be used for this Credentialed entity.
-
Method Details
-
getProvider
Description copied from interface:ComputeSourceGets the Cloud Provider for this source.- Specified by:
getProviderin interfaceComputeSource- Returns:
- the Cloud Provider for this source
-
getInstancePricing
Description copied from interface:ComputeSourceGets the instance pricing for this source, e.g. Spot- Specified by:
getInstancePricingin interfaceComputeSource- Returns:
- the instance pricing for this source
-
getSubregion
Description copied from interface:ComputeSourceGets the provider-specific subregion (aka Availability Domain, Availability Zone or Zone) where instances will be provisioned.- Specified by:
getSubregionin interfaceComputeSource- Returns:
- the provider-specific subregion where instances will be provisioned
-
getInstanceType
Description copied from interface:ComputeSourceGets the provider-specific instance type of the instances that will be provisioned.- Specified by:
getInstanceTypein interfaceComputeSource- Returns:
- the provider-specific instance type of the instances that will be provisioned
-
setInstanceType
Description copied from interface:ComputeSourceSets the provider-specific instance type of the instances that will be provisioned.- Specified by:
setInstanceTypein interfaceComputeSource- Parameters:
instanceType- the provider-specific instance type of the instances that will be provisioned
-
getCredential
- Specified by:
getCredentialin 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:ComputeSourceIndicates if supporting resources have been created for this source.- Specified by:
getSupportingResourceCreatedin interfaceComputeSource- Returns:
- true, if supporting resources have been created for this source; false, if no supporting resources have been created; null, if unknown
-
setSupportingResourceCreated
-
getInstanceTags
Description copied from interface:ComputeSourceGets the custom instance tags to be set on the provisioned instance at startup.- Specified by:
getInstanceTagsin interfaceComputeSource- Returns:
- the custom instance tags
-