Class ComputeRequirementHelper
java.lang.Object
co.yellowdog.platform.clients.compute.ComputeRequirementHelper
Helper class to make it easier to write consumers of the
ComputeClient
.
This class provides a number of methods that return a Future
allowing consumers
to simply wait for the required state of a compute requirement before continuing on.
For example:
// build the compute requirement ComputeRequirement requirement = ComputeRequirement.builder() {... configure requirement ...} .build(); // submit the requirement to YellowDog Compute and replace it with the returned instance requirement = client.computeClient().submitComputeRequirement(requirement); // create an instance of the helper class for this specific requirement ComputeRequirementHelper helper = client.computeClient().getComputeRequirementHelper(requirement); // wait for the requirement status to change to RUNNING, i.e. all provisioned instances are now running requirement = helper.whenRequirementStatusIs(ComputeRequirementStatus.RUNNING).get(); {... continue actions now that all instances are running ...}
-
Method Summary
Modifier and TypeMethodDescriptionwhenRequirementMatches
(@NonNull Predicate<ComputeRequirement> predicate) Returns a Future that is completed when the specified predicate evaluates to true.whenRequirementStatusIs
(@NonNull ComputeRequirementStatus status) Returns a Future that is completed when the compute requirement status matches the specified status.
-
Method Details
-
whenRequirementMatches
public Future<ComputeRequirement> whenRequirementMatches(@NonNull @NonNull Predicate<ComputeRequirement> predicate) Returns a Future that is completed when the specified predicate evaluates to true.- Parameters:
predicate
- The predicate to test for each compute requirement changed event received- Returns:
- A Future containing the matching compute requirement
-
whenRequirementStatusIs
public Future<ComputeRequirement> whenRequirementStatusIs(@NonNull @NonNull ComputeRequirementStatus status) Returns a Future that is completed when the compute requirement status matches the specified status.- Parameters:
status
- the compute requirement status to wait for- Returns:
- A Future containing the matching compute requirement
-