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
-