@Override
  public Set<Resource> getResources(Request request, Predicate predicate)
        throws SystemException, UnsupportedPropertyException,
        NoSuchResourceException, NoSuchParentResourceException {

    final Set<Resource> resources = new HashSet<>();
    final Set<String> requestedIds = getRequestPropertyIds(request, predicate);

    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));
      }
    }

    Set<ExtensionLinkEntity> entities = new HashSet<>();

    for (ExtensionLinkRequest extensionLinkRequest : requests) {
      verifyStackAndExtensionExist(extensionLinkRequest);
      entities.addAll(dao.find(extensionLinkRequest));
    }

    for (ExtensionLinkEntity entity : entities) {
      Resource resource = new ResourceImpl(Resource.Type.ExtensionLink);
      setResourceProperty(resource, LINK_ID_PROPERTY_ID,
		  entity.getLinkId(), requestedIds);
      setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
	  entity.getStack().getStackName(), requestedIds);
      setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
          entity.getStack().getStackVersion(), requestedIds);
      setResourceProperty(resource, EXTENSION_NAME_PROPERTY_ID,
          entity.getExtension().getExtensionName(), requestedIds);
      setResourceProperty(resource, EXTENSION_VERSION_PROPERTY_ID,
          entity.getExtension().getExtensionVersion(), requestedIds);

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