Interface AwsComputeSource

All Superinterfaces:
ComputeSource, Credentialed, Identified, Named, Serializable
All Known Implementing Classes:
AwsFleetComputeSource, AwsInstancesComputeSource

@ValidatedBy(AwsComputeSourceValidator.class) public interface AwsComputeSource extends ComputeSource
Derives from ComputeSource to provide the interface for all AWS 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
    • getCredential

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

      @JsonPropertyDescription("The AWS availability zone within the region where instances will be provisioned") String getAvailabilityZone()
    • getSecurityGroupId

      @NotBlank @JsonPropertyDescription("The ID of the AWS Security Group for provisioned instances") @NotBlank String getSecurityGroupId()
    • getSubnetId

      @JsonPropertyDescription("The region-specific subnet ID to use for provisioned instances") String getSubnetId()
    • getIamInstanceProfileArn

      @JsonPropertyDescription("The ARN of the IAM Instance Profile to use for provisioned instances") String getIamInstanceProfileArn()
    • getKeyName

      @JsonPropertyDescription("The name of the EC2 key pair to use when logging into any instances provisioned from this source") String getKeyName()
    • getEnableDetailedMonitoring

      @JsonPropertyDescription("Enabled detailed CloudWatch monitoring for provisioned instances") Boolean getEnableDetailedMonitoring()
    • getEnableInstanceMetadataTags

      @JsonPropertyDescription("Enabled exposure of instance tags via instance metadata for provisioned instances") Boolean getEnableInstanceMetadataTags()
    • isAssignPublicIp

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

      @JsonPropertyDescription("Provision the instances within a cluster placement group") Boolean getCreateClusterPlacementGroup()
    • getExistingPlacementGroup

      @JsonPropertyDescription("Provision the instances within an existing placement group") @Valid @Valid AwsPlacementGroup getExistingPlacementGroup()
    • getCreateElasticFabricAdapter

      @JsonPropertyDescription("Create EFA network interface on provisioned instances") Boolean getCreateElasticFabricAdapter()
    • getSecondaryNetworkInterfaces

      @JsonPropertyDescription("Secondary network interfaces to create on provisioned instances") @Size(max=31) @Size(max=31) List<AwsSecondaryNetworkInterface> getSecondaryNetworkInterfaces()
    • getCapacityReservation

      @JsonPropertyDescription("Specifies the capacity reservation to target for provisioned instances") AwsCapacityReservation getCapacityReservation()