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.-
Field Summary
Fields inherited from interface ComputeSource
DEFAULT_ASSIGN_PUBLIC_IP -
Method Summary
Modifier and TypeMethodDescription@NotBlank String@Valid AwsPlacementGroup@Min(1L) @Max(64L) IntegerGets the custom instance tags to be set on the provisioned instance at startup.default CloudProviderGets the Cloud Provider for this source.@Size(max=31) List<AwsSecondaryNetworkInterface> @NotBlank Stringdefault StringGets the provider-specific subregion (aka Availability Domain, Availability Zone or Zone) where instances will be provisioned.Indicates if supporting resources have been created for this source.booleanvoidsetSupportingResourceCreated(Boolean supportingResourceCreated) Methods inherited from interface ComputeSource
getCreatedFromId, getExhaustion, getId, getImageId, getInstancePricing, getInstanceSummary, getInstanceType, getLimit, getName, getRegion, getStatus, getStatusMessage, getTraits, getUserData, setCreatedFromId, setExhaustion, setId, setImageId, setInstanceSummary, setInstanceTags, setInstanceType, setLimit, setName, setStatus, setStatusMessage, setUserDataModifier and TypeMethodDescriptionGets the ID of the source template if this source was created from a template.If this source is associated with an exhausted allowance, gets the exhaustion state.getId()Returns the ID@NotBlank StringGets the image ID to use for the instances that will be provisioned.Gets the instance pricing for this source, e.g.A summary of instance counts according to instance status@NotBlank StringGets the provider-specific instance type of the instances that will be provisioned.@Min(0L) intgetLimit()Returns the limit in number of instances that can be provisioned from this source.getName()Returns the name of this compute source (which must be unique within the containing ComputeRequirement).@NotBlank StringGets the provider-specific region where instances will be provisioned.Gets the current provisioning status of this source.Gets the message associated with the current provisioning status of this source.Returns an object describing behavioural traits specific to this compute source.Gets the user-data script to be passed to the provisioned instance at startup.voidsetCreatedFromId(String templateId) Sets the source template IDvoidsetExhaustion(ComputeSourceExhaustion exhaustion) voidSets the IDvoidsetImageId(String imageId) Sets the image ID to use for the instances that will be provisioned.voidsetInstanceSummary(InstanceSummary instanceSummary) voidsetInstanceTags(Map<String, String> instanceTags) Sets the custom instance tags to be set on the provisioned instance at startup.voidsetInstanceType(String instanceType) Sets the provider-specific instance type of the instances that will be provisioned.voidsetLimit(int limit) Sets the limit in number of instances that can be provisioned from this source.voidSets the name of this compute source (which must be unique within the containing ComputeRequirement).voidsetStatus(ComputeSourceStatus status) Sets the current provisioning status of this source.voidsetStatusMessage(String statusMessage) Sets the message associated with the current provisioning status of this source.voidsetUserData(String userData) Sets the user-data script to be passed to the provisioned instance at startup.Methods inherited from interface Credentialed
getCredentialsModifier and TypeMethodDescriptionReturn the names of the credentials to be used for this Credentialed entity.
-
Method Details
-
getProvider
Description copied from interface:ComputeSourceGets the Cloud Provider for this source.- Specified by:
getProviderin interfaceComputeSource- Returns:
- the Cloud Provider for this source
-
getCredential
- Specified by:
getCredentialin interfaceComputeSource
-
getSubregion
Description copied from interface:ComputeSourceGets the provider-specific subregion (aka Availability Domain, Availability Zone or Zone) where instances will be provisioned.- Specified by:
getSubregionin interfaceComputeSource- Returns:
- the provider-specific subregion where instances will be provisioned
-
getSupportingResourceCreated
Description copied from interface:ComputeSourceIndicates if supporting resources have been created for this source.- Specified by:
getSupportingResourceCreatedin interfaceComputeSource- Returns:
- true, if supporting resources have been created for this source; false, if no supporting resources have been created; null, if unknown
-
setSupportingResourceCreated
-
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() -
getInstanceMetadataHttpPutResponseHopLimit
@Min(1L) @Max(64L) @JsonPropertyDescription("The number of network hops that an instance metadata service (IMDS) response is allowed to travel from provisioned instances. If not specified, the AWS default of 1 is used, which only allows processes running on the instance's host network to reach IMDS. Raise this when task workloads run in containers and need IMDS access (for example, to obtain instance-profile credentials or instance metadata): each container network boundary the response must cross consumes one hop, so use 2 for a single bridged container and 3 or more for nested, container-in-container workloads.") @Min(1L) @Max(64L) Integer getInstanceMetadataHttpPutResponseHopLimit() -
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() -
getInstanceTags
Description copied from interface:ComputeSourceGets the custom instance tags to be set on the provisioned instance at startup.- Specified by:
getInstanceTagsin interfaceComputeSource- Returns:
- the custom instance tags
-
getBootVolumeSizeGb
@JsonPropertyDescription("Specifies the size of the boot volume (in GB) for provisioned instances. If not specified, the default size for the selected image will be used.") Integer getBootVolumeSizeGb()
-