Class OciInstancePoolComputeSource

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

@JsonClassDescription("Details needed for provisioning instances within an OCI Instance Pool") public class OciInstancePoolComputeSource extends Object implements OciComputeSource
Defines a source of compute composed of OCI instances provisioned using the OCI Instance Pool API.
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
    • getInstancePricing

      public 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
    • 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 OciInstancePoolComputeSource.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 ComputeSource
      Specified by:
      getCredential in interface OciComputeSource
    • 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 OciComputeSource
      Returns:
      the public SSH key
    • getRegion

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

      public String getAvailabilityDomain()
      The OCI availability domain where instances will be provisioned.
      Specified by:
      getAvailabilityDomain in interface OciComputeSource
      Returns:
      the OCI availability domain where instances will be provisioned
    • getCompartmentId

      public String getCompartmentId()
      The OCI compartment ID (ocid) where instances will be provisioned.
      Specified by:
      getCompartmentId in interface OciComputeSource
      Returns:
      the OCI compartment ID (ocid) where instances will be provisioned
    • getImageId

      public String getImageId()
      The region-specific OCI Image ID (ocid) for the image to use for the provisioned instances.
      Specified by:
      getImageId in interface ComputeSource
      Returns:
      the OCI Image ID (ocid) for the image to use for the provisioned instances
    • getShape

      public String getShape()
      Description copied from interface: OciComputeSource
      The machine shape to use for the provisioned instances.
      Specified by:
      getShape in interface OciComputeSource
      Returns:
      the machine shape to use for the provisioned instances
    • getFlexOcpus

      public Float getFlexOcpus()
      Description copied from interface: OciComputeSource
      The number of OCPUs to provision on a flex type machine shape
      Specified by:
      getFlexOcpus in interface OciComputeSource
      Returns:
      the number of OCPUs to provision on a flex type machine shape
    • getFlexRam

      public Float getFlexRam()
      Description copied from interface: OciComputeSource
      The amount of ram in GB to provision on a flex type machine shape
      Specified by:
      getFlexRam in interface OciComputeSource
      Returns:
      the amount of ram in GB to provision on a flex type machine shape
    • getSubnetId

      public String getSubnetId()
      The region-specific OCI Subnet ID (ocid) for the subnet to use for the provisioned instances.
      Specified by:
      getSubnetId in interface OciComputeSource
      Returns:
      the region-specific OCI Subnet ID (ocid) for the subnet to use for the provisioned instances
    • 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
    • isAssignPublicIp

      public boolean isAssignPublicIp()
      Indicates if provisioned instances should be assigned public IP addresses.
      Specified by:
      isAssignPublicIp in interface OciComputeSource
      Returns:
      true, if provisioned instances should be assigned public IP addresses; otherwise, false
    • getCreateClusterNetwork

      public Boolean getCreateClusterNetwork()
    • 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
    • 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 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)
    • 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
    • setRegion

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

      public void setAvailabilityDomain(String availabilityDomain)
      The OCI availability domain where instances will be provisioned.
      Parameters:
      availabilityDomain - the OCI availability domain where instances will be provisioned
      This should not be changed once the requirement has been submitted to YellowDog Compute.
    • setCompartmentId

      public void setCompartmentId(String compartmentId)
      The OCI compartment ID (ocid) where instances will be provisioned.
      Parameters:
      compartmentId - the OCI compartment ID (ocid) where instances will be provisioned
      This should not be changed once the requirement has been submitted to YellowDog Compute.
    • setImageId

      public void setImageId(String imageId)
      The region-specific OCI Image ID (ocid) for the image to use for the provisioned instances.
      Specified by:
      setImageId in interface ComputeSource
      Parameters:
      imageId - the OCI Image ID (ocid) for the image to use for the provisioned instances
    • setShape

      public void setShape(String shape)
      Description copied from interface: OciComputeSource
      The machine shape to use for the provisioned instances.
      Specified by:
      setShape in interface OciComputeSource
      Parameters:
      shape - the machine shape to use for the provisioned instances
    • setFlexOcpus

      public void setFlexOcpus(Float flexOcpus)
    • setFlexRam

      public void setFlexRam(Float flexRam)
    • setSubnetId

      public void setSubnetId(String subnetId)
      The region-specific OCI Subnet ID (ocid) for the subnet to use for the provisioned instances.
      Parameters:
      subnetId - the region-specific OCI Subnet ID (ocid) for the subnet to use for the provisioned instances
    • 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
    • setAssignPublicIp

      public void setAssignPublicIp(boolean assignPublicIp)
      Indicates if provisioned instances should be assigned public IP addresses.
      Parameters:
      assignPublicIp - true, if provisioned instances should be assigned public IP addresses; otherwise, false
    • setCreateClusterNetwork

      public void setCreateClusterNetwork(Boolean createClusterNetwork)
    • 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<@OciInstanceTagKey String,@OciInstanceTagValue 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
    • 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)
    • 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