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.
  • Method Details

    • getProvider

      default CloudProvider getProvider()
      Description copied from interface: ComputeSource
      Gets the Cloud Provider for this source.
      Specified by:
      getProvider in interface ComputeSource
      Returns:
      the Cloud Provider for this source
    • getInstancePricing

      default InstancePricing getInstancePricing()
      Description copied from interface: ComputeSource
      Gets the instance pricing for this source, e.g. Spot
      Specified by:
      getInstancePricing in interface ComputeSource
      Returns:
      the instance pricing for this source
    • getSubregion

      default String 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 interface ComputeSource
      Returns:
      the provider-specific subregion where instances will be provisioned
    • getInstanceType

      default String getInstanceType()
      Description copied from interface: ComputeSource
      Gets the provider-specific instance type of the instances that will be provisioned.
      Specified by:
      getInstanceType in interface ComputeSource
      Returns:
      the provider-specific instance type of the instances that will be provisioned
    • setInstanceType

      default void setInstanceType(String instanceType)
      Description copied from interface: ComputeSource
      Sets the provider-specific instance type of the instances that will be provisioned.
      Specified by:
      setInstanceType in interface ComputeSource
      Parameters:
      instanceType - the provider-specific instance type of the instances that will be provisioned
    • getCredential

      @NotBlank @NotBlank String getCredential()
      Specified by:
      getCredential in interface ComputeSource
    • 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

      void setVmSize(String vmSize)
    • 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

      @SystemGenerated(groups=ValidationGroup.NewEntity.class) Boolean getSupportingResourceCreated()
      Description copied from interface: ComputeSource
      Indicates if supporting resources have been created for this source.
      Specified by:
      getSupportingResourceCreated in interface ComputeSource
      Returns:
      true, if supporting resources have been created for this source; false, if no supporting resources have been created; null, if unknown
    • setSupportingResourceCreated

      void setSupportingResourceCreated(Boolean supportingResourceCreated)