Interface GceComputeSource

All Superinterfaces:
ComputeSource, Credentialed, Identified, Named, Serializable
All Known Implementing Classes:
GceInstanceGroupComputeSource, GceInstancesComputeSource

@ValidatedBy(GceComputeSourceValidator.class) public interface GceComputeSource extends ComputeSource
Derives from ComputeSource to provide the interface for all Google Compute Engine (GCE) 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
    • getCredential

      @NotBlank @NotBlank String getCredential()
      Specified by:
      getCredential in interface ComputeSource
    • getRegion

      String getRegion()
      Description copied from interface: ComputeSource
      Gets the provider-specific region where instances will be provisioned.
      Specified by:
      getRegion in interface ComputeSource
      Returns:
      the provider-specific region where instances will be provisioned
    • 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
    • getImageId

      default String getImageId()
      Description copied from interface: ComputeSource
      Gets the image ID to use for the instances that will be provisioned.
      Specified by:
      getImageId in interface ComputeSource
      Returns:
      the image ID to use for the instances that will be provisioned
    • setImageId

      default void setImageId(String imageId)
      Description copied from interface: ComputeSource
      Sets the image ID to use for the instances that will be provisioned.
      Specified by:
      setImageId in interface ComputeSource
      Parameters:
      imageId - the image ID to use for the instances that will be provisioned
    • 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)
    • getProject

      @NotBlank @JsonPropertyDescription("The Google Cloud project within which the instances will be provisioned") @NotBlank String getProject()
    • getZone

      @JsonPropertyDescription("The region-specific zone where instances will be provisioned") String getZone()
    • getNetwork

      @JsonPropertyDescription("The network to use for provisioned instances") String getNetwork()
    • getSubnetwork

      @JsonPropertyDescription("The subnetwork to use for provisioned instances") String getSubnetwork()
    • getMachineType

      @NotBlank @JsonPropertyDescription("The machine type (aka instance type) of the instances that will be provisioned") @NotBlank String getMachineType()
    • setMachineType

      void setMachineType(String machineType)
    • getImage

      @NotBlank @JsonPropertyDescription("The GCE image ID in the form of a partial URL starting with 'projects/...'") @NotBlank String getImage()
    • setImage

      void setImage(String image)
    • getAcceleratorType

      @JsonPropertyDescription("The GPU accelerator type to attach to provisioned instances") String getAcceleratorType()
    • getAcceleratorCount

      @JsonPropertyDescription("How many accelerators to add to each provisioned instance") int getAcceleratorCount()
    • getHostMaintenanceBehaviour

      @JsonPropertyDescription("Specify instance behaviour on host maintenance events") GceHostMaintenanceBehaviour getHostMaintenanceBehaviour()
    • getSshKeys

      @JsonPropertyDescription("The SSH keys to add to provisioned instances to enable remote access") String getSshKeys()
    • isConfidential

      @JsonPropertyDescription("Request confidential virtual machines") boolean isConfidential()
    • isSpot

      @JsonPropertyDescription("Request Spot virtual machines") boolean isSpot()
    • isPreemptible

      @JsonPropertyDescription("Request preemptible virtual machines") boolean isPreemptible()
    • isAssignPublicIp

      @JsonPropertyDescription("Assign public IP address to provisioned instances") boolean isAssignPublicIp()
    • getInstanceTags

      @Size(max=59) @Size(max=59) Map<String,String> 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