in aws-networkfirewall-rulegroup/src/main/java/software/amazon/networkfirewall/rulegroup/UpdateHandler.java [121:144]
private boolean isStabilized(final UpdateRuleGroupRequest updateRuleGroupRequest, final UpdateRuleGroupResponse updateRuleGroupResponse,
final ProxyClient<NetworkFirewallClient> client, final ResourceModel model, final CallbackContext callbackContext ) {
try {
final DescribeRuleGroupResponse describeRuleGroupResponse = client.injectCredentialsAndInvokeV2(
Translator.translateToReadRequest(model),
client.client()::describeRuleGroup);
final ResourceStatus status = describeRuleGroupResponse.ruleGroupResponse().ruleGroupStatus();
final String ruleGroupArn = describeRuleGroupResponse.ruleGroupResponse().ruleGroupArn();
switch (status) {
case ACTIVE:
logger.log(String.format("%s : %s successfully updated.", ResourceModel.TYPE_NAME, ruleGroupArn));
return true;
case DELETING:
logger.log(String.format("%s : %s marked for deletion.", ResourceModel.TYPE_NAME, ruleGroupArn));
throw new CfnGeneralServiceException(String.format("%s update failed.", ResourceModel.TYPE_NAME));
default:
logger.log(String.format("Invalid/Unsupported RuleGroupStatus found while updating %s : %s",
ResourceModel.TYPE_NAME, ruleGroupArn));
throw new CfnGeneralServiceException(String.format("%s update failed.", ResourceModel.TYPE_NAME));
}
} catch (final AwsServiceException e) {
throw new CfnGeneralServiceException(String.format("%s update failed.", ResourceModel.TYPE_NAME));
}
}