in aws-lightsail-instance/src/main/java/software/amazon/lightsail/instance/helpers/resource/AddOns.java [115:132]
public boolean isStabilizedCreate(final GetInstanceResponse awsResponse) {
// now we have only one AddOn, so checking 0th index directly
if (resourceModel.getAddOns() != null && resourceModel.getAddOns().size() > 0
&& resourceModel.getAddOns().get(0) != null
&& (Strings.isNullOrEmpty(resourceModel.getAddOns().get(0).getStatus()) ||
"enabled".equalsIgnoreCase(resourceModel.getAddOns().get(0).getStatus()))) {
val currentState = awsResponse.instance().addOns() == null || awsResponse.instance().addOns().size() == 0
? "Pending" : awsResponse.instance().addOns().get(0).status();
logger.log(String.format("Checking if AddOn has stabilized for Instance: %s. Current state %s",
resourceModel.getInstanceName(), currentState));
// Enabling and Disabled are the terminal state, In stabilize all we do is wait for terminal state.
return "enabled".equalsIgnoreCase(currentState);
}
// If there is no add-on in the request make it pass stabilize.
return true;
}