async updateRuleGroup()

in source/networkFirewallAutomation/lib/service/network-firewall-service.ts [173:191]


  async updateRuleGroup(updateRuleGroupRequest: NetworkFirewall.Types.UpdateRuleGroupRequest) {
    let updateResponse;
    do {
      try {
        updateResponse = await this.NetworkFirewallInstance.updateRuleGroup(updateRuleGroupRequest).promise();
        updateRuleGroupRequest.UpdateToken = ''
      } catch (error) {
        if (error['message'] == 'Update token is invalid.') {
          const describeResponse = await this.NetworkFirewallInstance.describeRuleGroup({ RuleGroupArn: updateRuleGroupRequest.RuleGroupArn }).promise()
          updateRuleGroupRequest.UpdateToken = describeResponse.UpdateToken
        } else {
          Logger.log(LOG_LEVEL.INFO, `Error while trying to update the rule group ${updateRuleGroupRequest}: ${error}`)
          return Promise.reject(error)
        }
      }
    } while (updateRuleGroupRequest.UpdateToken)
    Logger.log(LOG_LEVEL.INFO, `update response ${JSON.stringify(updateResponse)}`)
    return Promise.resolve(updateResponse);
  }