@Override
  protected RequestStatus deleteResourcesAuthorized(Request request, Predicate predicate)
        throws SystemException, UnsupportedPropertyException,
        NoSuchResourceException, NoSuchParentResourceException {

    final Set<ExtensionLinkRequest> requests = new HashSet<>();
    if (predicate == null) {
      requests.add(getRequest(Collections.emptyMap()));
    } else {
      for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
        requests.add(getRequest(propertyMap));
      }
    }

    RequestStatusResponse response = modifyResources(new Command<RequestStatusResponse>() {
      @Override
      public RequestStatusResponse invoke() throws AmbariException {
        for (ExtensionLinkRequest extensionLinkRequest : requests) {
          getManagementController().deleteExtensionLink(extensionLinkRequest);
        }
        return null;
      }
    });

    //Need to reread the stacks/extensions directories so the latest information is available
    try {
      getManagementController().updateStacks();
    } catch (AmbariException e) {
      throw new SystemException(e.getMessage(), e);
    }

    notifyDelete(Resource.Type.ExtensionLink, predicate);

    return getRequestStatus(response);
  }
The property ids for a ExtensionLink resource.
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java