Define the Descriptor of a Consumer

To define a consumer-provider dependency, the search adapter looks for consumers with configuration documents that use the provider’s connection string. However, sometimes it is meaningful to limit the deployable components that may be a consumer for a particular service, even if the consumer's configuration documents contain the connection string or have different output variables depending on the deployable component's properties.

To this end, it is possible to describe the deployable component in greater detail than just its CI type, by using the <Descriptor> element. The deployable component can be described using:

  • CI Type, that is, the dependencies are only relevant for deployable component of type “J2EE Application”. (Mandatory)
  • Conditions on its string attributes; for example, on deployable components of type “J2EE Application” where the application name is “MyShop”. The condition can only test for equality. (Optional)
  • A mandatory composition link to another CI. If the composition link is specified in the descriptor, then the deployable component must have a composition link to a CI of the given type. (Optional)
  • Conditions on string attributes of the connected CI, if one was specified (as in the previous option). (Optional)
  • A path (TQL query) to the node containing the deployable component. The query name is specified with the attribute nodeToDeployableQuery. If the node is connected directly to the deployable component with a composition link, there is no need to mention a TQL query as the path. However, if the node is still used to describe the deployable component (with or without conditions), you must still mention it using the <ConnectedCICondition> tag. If the deployable component does not have a containing node anywhere in its parent hierarchy, mention this using the attribute hasContainingNode = “false”. When you mention the path, be sure to also add hasContainingNode = “true”. For more information, see Define TQL Queries. (Optional)

Note Only the STRING attribute type is supported on deployable descriptors or connected CIs. The attribute cannot be static and cannot contain calculated attributes.

Example of a descriptor that only mentions the CI type:

<Deployable name="ApolloOnNode_2">
   <Descriptor cit="running_software"> 
   </Descriptor>
      …

Example of a descriptor with a string attribute:

<Deployable name="ApolloOnCluster">
   <Descriptor cit="node">
      <Attribute name="default_gateway_ip_address_type" value="IPv6" />
   </Descriptor> 
      …

Example of a descriptor with a connected CI by testing case-insensitive equality:

<Deployable name="MyRunningSoftware">
   <Descriptor cit="running_software"> 
      <ConnectedCiCondition cit=”node” linkType=”composition” isDirectionForward=”true”>
         <Attribute name=”name” value=”MyNode” operator=”equalIgnoreCase” />
      </ConnectedCiCondition>
   </Descriptor>
      …

Note For ConnectedCiCondition, you may only use linkType=”composition” and isDirectionForward=”true” .