Class AzureScaleSetComputeSource

java.lang.Object
co.yellowdog.platform.model.AzureScaleSetComputeSource
All Implemented Interfaces:
AzureComputeSource, ComputeSource, Credentialed, Identified, Named, Serializable

@JsonClassDescription("Details needed for provisioning instances within an Azure Scale Set") public class AzureScaleSetComputeSource extends Object implements AzureComputeSource
See Also:
  • Constructor Details

  • Method Details

    • getTraits

      public ComputeSourceTraits getTraits()
      Description copied from interface: ComputeSource
      Returns an object describing behavioural traits specific to this compute source.
      Specified by:
      getTraits in interface ComputeSource
      Returns:
      an object describing behavioural traits specific to this compute source
    • getCredentials

      public Set<String> getCredentials()
      Description copied from interface: Credentialed
      Return the names of the credentials to be used for this Credentialed entity.
      Specified by:
      getCredentials in interface Credentialed
      Returns:
      the names of the credentials to be used
    • builder

      public static AzureScaleSetComputeSource.Builder builder()
    • toBuilder

    • getId

      public String getId()
      Description copied from interface: Identified
      Returns the ID
      Specified by:
      getId in interface ComputeSource
      Specified by:
      getId in interface Identified
      Returns:
      the ID
    • getCreatedFromId

      public String getCreatedFromId()
      Description copied from interface: ComputeSource
      Gets the ID of the source template if this source was created from a template.
      Specified by:
      getCreatedFromId in interface ComputeSource
      Returns:
      the ID of the source template if this source was created from a template
    • getName

      public String getName()
      Description copied from interface: ComputeSource
      Returns the name of this compute source (which must be unique within the containing ComputeRequirement).
      Specified by:
      getName in interface ComputeSource
      Specified by:
      getName in interface Named
      Returns:
      the name of this compute source
    • getCredential

      public String getCredential()
      Specified by:
      getCredential in interface AzureComputeSource
      Specified by:
      getCredential in interface ComputeSource
    • getRegion

      public String getRegion()
      The Azure region where instances will be provisioned.
      Specified by:
      getRegion in interface ComputeSource
      Returns:
      the AWS region where instances will be provisioned
    • getAvailabilityZone

      public String getAvailabilityZone()
      Specified by:
      getAvailabilityZone in interface AzureComputeSource
    • getNetworkResourceGroupName

      public String getNetworkResourceGroupName()
      Specified by:
      getNetworkResourceGroupName in interface AzureComputeSource
    • getNetworkName

      public String getNetworkName()
      Specified by:
      getNetworkName in interface AzureComputeSource
    • getSubnetName

      public String getSubnetName()
      Specified by:
      getSubnetName in interface AzureComputeSource
    • getEnvironment

      public String getEnvironment()
      Description copied from interface: AzureComputeSource
      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".
      Specified by:
      getEnvironment in interface AzureComputeSource
      Returns:
      an Azure environment other than the default public environment
    • getVmSize

      public String getVmSize()
      Specified by:
      getVmSize in interface AzureComputeSource
    • getImageId

      public String getImageId()
      The YellowDog prefixed Azure image ID for the image to use for the provisioned instances.
      Specified by:
      getImageId in interface ComputeSource
      Returns:
      the image ID for the image to use for the provisioned instances
    • getUserData

      public String getUserData()
      Description copied from interface: ComputeSource
      Gets the user-data script to be passed to the provisioned instance at startup.
      Specified by:
      getUserData in interface ComputeSource
      Returns:
      the user-data script
    • getInstanceTags

      Description copied from interface: ComputeSource
      Gets the custom instance tags to be set on the provisioned instance at startup.
      Specified by:
      getInstanceTags in interface ComputeSource
      Returns:
      the custom instance tags
    • getAdminUserCredential

      public String getAdminUserCredential()
      Optionally specifies the name of an AzureInstanceCredential that provides the admin user name and password to use for root (Linux) or administrator (Windows). If not specified, then YellowDog Compute uses the default admin user name and a different randomly generated password for each instance.
      Specified by:
      getAdminUserCredential in interface AzureComputeSource
      Returns:
      the admin user credential
    • getSshKey

      public String getSshKey()
      The public SSH key. If provided, instances will be accessible with the matching private key through SSH.
      Specified by:
      getSshKey in interface AzureComputeSource
      Returns:
      the public SSH key
    • isAssignPublicIp

      public boolean isAssignPublicIp()
      Specified by:
      isAssignPublicIp in interface AzureComputeSource
    • getCreateProximityPlacementGroup

      public Boolean getCreateProximityPlacementGroup()
      Indicates if instances should be provisioned within a proximity placement group.
      Specified by:
      getCreateProximityPlacementGroup in interface AzureComputeSource
      Returns:
      true, if provisioned instances should be provisioned within a proximity placement group; otherwise, false or null
    • getUseAcceleratedNetworking

      public Boolean getUseAcceleratedNetworking()
      Indicates if instances should be provisioned with a primary networking interface with accelerated networking.
      Specified by:
      getUseAcceleratedNetworking in interface AzureComputeSource
      Returns:
      true, if instances should be provisioned with a primary networking interface with accelerated networking; otherwise, false or null
    • getUseSpot

      public Boolean getUseSpot()
      Description copied from interface: AzureComputeSource
      Indicates if Spot VMs should be requested from Azure. Requires Spot max price to be set.
      Specified by:
      getUseSpot in interface AzureComputeSource
      Returns:
      if Spot VMs should be requested from Azure
    • getSpotMaxPrice

      public Double getSpotMaxPrice()
      Description copied from interface: AzureComputeSource
      The maximum price that will be paid for Spot VMs provisioned from this source.
      Specified by:
      getSpotMaxPrice in interface AzureComputeSource
      Returns:
      the maximum price that will be paid for Spot VMs
    • getLimit

      public int getLimit()
      Description copied from interface: ComputeSource
      Returns the limit in number of instances that can be provisioned from this source.
      Specified by:
      getLimit in interface ComputeSource
      Returns:
      the limit in number of instances that can be provisioned from this source
    • getInstanceSummary

      public InstanceSummary getInstanceSummary()
      Description copied from interface: ComputeSource
      A summary of instance counts according to instance status
      Specified by:
      getInstanceSummary in interface ComputeSource
      Returns:
      a summary of instance counts according to instance status
    • getStatus

      public ComputeSourceStatus getStatus()
      Description copied from interface: ComputeSource
      Gets the current provisioning status of this source.
      Specified by:
      getStatus in interface ComputeSource
      Returns:
      the current provisioning status of this source
    • getStatusMessage

      public String getStatusMessage()
      Description copied from interface: ComputeSource
      Gets the message associated with the current provisioning status of this source. Returns null if no further detail is relevant to the status.
      Specified by:
      getStatusMessage in interface ComputeSource
      Returns:
      the message associated with the current provisioning status of this source
    • getExhaustion

      public ComputeSourceExhaustion getExhaustion()
      Description copied from interface: ComputeSource
      If this source is associated with an exhausted allowance, gets the exhaustion state.
      Specified by:
      getExhaustion in interface ComputeSource
      Returns:
      the exhaustion state, if the source is associated with an exhausted allowance; otherwise, null
    • getSupportingResourceCreated

      public Boolean getSupportingResourceCreated()
      Description copied from interface: ComputeSource
      Indicates if supporting resources have been created for this source.
      Specified by:
      getSupportingResourceCreated in interface AzureComputeSource
      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
    • setId

      public void setId(String id)
      Description copied from interface: ComputeSource
      Sets the ID
      Specified by:
      setId in interface ComputeSource
      Parameters:
      id - This should only be set by the YellowDog Platform
    • setCreatedFromId

      public void setCreatedFromId(String createdFromId)
      Description copied from interface: ComputeSource
      Sets the source template ID
      Specified by:
      setCreatedFromId in interface ComputeSource
      Parameters:
      createdFromId - This should only be set by the YellowDog Platform
    • setName

      public void setName(String name)
      Description copied from interface: ComputeSource
      Sets the name of this compute source (which must be unique within the containing ComputeRequirement).
      Specified by:
      setName in interface ComputeSource
      Parameters:
      name - the name of this compute source
    • setCredential

      public void setCredential(String credential)
    • setRegion

      public void setRegion(String region)
      The Azure region where instances will be provisioned.
      Parameters:
      region - the AWS region where instances will be provisioned
      This should not be changed once the requirement has been submitted to YellowDog Compute.
    • setAvailabilityZone

      public void setAvailabilityZone(String availabilityZone)
    • setNetworkResourceGroupName

      public void setNetworkResourceGroupName(String networkResourceGroupName)
    • setNetworkName

      public void setNetworkName(String networkName)
    • setSubnetName

      public void setSubnetName(String subnetName)
    • setEnvironment

      public void setEnvironment(String environment)
    • setVmSize

      public void setVmSize(String vmSize)
      Specified by:
      setVmSize in interface AzureComputeSource
    • setImageId

      public void setImageId(String imageId)
      The YellowDog prefixed Azure image ID for the image to use for the provisioned instances.
      Specified by:
      setImageId in interface ComputeSource
      Parameters:
      imageId - the image ID for the image to use for the provisioned instances
    • setUserData

      public void setUserData(String userData)
      Description copied from interface: ComputeSource
      Sets the user-data script to be passed to the provisioned instance at startup.
      Specified by:
      setUserData in interface ComputeSource
      Parameters:
      userData - the user-data script
    • setInstanceTags

      public void setInstanceTags(Map<@AzureInstanceTagKey String,@AzureInstanceTagValue String> instanceTags)
      Description copied from interface: ComputeSource
      Sets the custom instance tags to be set on the provisioned instance at startup.
      Specified by:
      setInstanceTags in interface ComputeSource
      Parameters:
      instanceTags - the custom instance tags
    • setAdminUserCredential

      public void setAdminUserCredential(String adminUserCredential)
      Optionally specifies the name of an AzureInstanceCredential that provides the admin user name and password to use for root (Linux) or administrator (Windows). If not specified, then YellowDog Compute uses the default admin user name and a different randomly generated password for each instance.
      Parameters:
      adminUserCredential - the admin user credential
    • setSshKey

      public void setSshKey(String sshKey)
      The public SSH key. If provided, instances will be accessible with the matching private key through SSH.
      Parameters:
      sshKey - the public SSH key
    • setAssignPublicIp

      public void setAssignPublicIp(boolean assignPublicIp)
    • setCreateProximityPlacementGroup

      public void setCreateProximityPlacementGroup(Boolean createProximityPlacementGroup)
      Indicates if instances should be provisioned within a proximity placement group.
      Parameters:
      createProximityPlacementGroup - true, if provisioned instances should be provisioned within a proximity placement group; otherwise, false or null
    • setUseAcceleratedNetworking

      public void setUseAcceleratedNetworking(Boolean useAcceleratedNetworking)
      Indicates if instances should be provisioned with a primary networking interface with accelerated networking.
      Parameters:
      useAcceleratedNetworking - true, if instances should be provisioned with a primary networking interface with accelerated networking; otherwise, false or null
    • setUseSpot

      public void setUseSpot(Boolean useSpot)
    • setSpotMaxPrice

      public void setSpotMaxPrice(Double spotMaxPrice)
    • setLimit

      public void setLimit(int limit)
      Description copied from interface: ComputeSource
      Sets the limit in number of instances that can be provisioned from this source.
      Specified by:
      setLimit in interface ComputeSource
      Parameters:
      limit - the limit in number of instances that can be provisioned from this source
    • setInstanceSummary

      public void setInstanceSummary(InstanceSummary instanceSummary)
      Specified by:
      setInstanceSummary in interface ComputeSource
    • setStatus

      public void setStatus(ComputeSourceStatus status)
      Description copied from interface: ComputeSource
      Sets the current provisioning status of this source.
      Specified by:
      setStatus in interface ComputeSource
      Parameters:
      status - This should only be set by the YellowDog Platform
    • setStatusMessage

      public void setStatusMessage(String statusMessage)
      Description copied from interface: ComputeSource
      Sets the message associated with the current provisioning status of this source.
      Specified by:
      setStatusMessage in interface ComputeSource
      Parameters:
      statusMessage - This should only be set by the YellowDog Platform
    • setExhaustion

      public void setExhaustion(ComputeSourceExhaustion exhaustion)
      Specified by:
      setExhaustion in interface ComputeSource
    • setSupportingResourceCreated

      public void setSupportingResourceCreated(Boolean supportingResourceCreated)
      Specified by:
      setSupportingResourceCreated in interface AzureComputeSource
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object