@Override
  public RequestStatus createResources(Request request)
	        throws SystemException, UnsupportedPropertyException,
	        NoSuchParentResourceException, ResourceAlreadyExistsException {

    final Set<ExtensionLinkRequest> requests = new HashSet<>();
    for (Map<String, Object> propertyMap : request.getProperties()) {
      requests.add(getRequest(propertyMap));
    }

    createResources(new Command<Void>() {
      @Override
      public Void invoke() throws AmbariException {
        for (ExtensionLinkRequest extensionLinkRequest : requests) {
          getManagementController().createExtensionLink(extensionLinkRequest);
        }
        return null;
      }
    });

    if (requests.size() > 0) {
      //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);
      }

      notifyCreate(Resource.Type.ExtensionLink, request);
    }

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