---
title: User Template Virtual Attribute
description: The User Template Virtual Attribute generates attribute values using a customizable template whose expressions are replaced by values from referenced attributes in the target entry.
component: pingds
version: 8.1
page_id: pingds:configref:objects-user-template-virtual-attribute
canonical_url: https://docs.pingidentity.com/pingds/8.1/configref/objects-user-template-virtual-attribute.html
section_ids:
  parent: Parent
  user_template_virtual_attribute_properties: User Template Virtual Attribute properties
  basic_properties: Basic properties
  attribute-type: attribute-type
  base-dn: base-dn
  conflict-behavior: conflict-behavior
  enabled: enabled
  filter: filter
  group-dn: group-dn
  scope: scope
  template: template
  advanced_properties: Advanced properties
  java-class: java-class
---

# User Template Virtual Attribute

The User Template Virtual Attribute generates attribute values using a customizable template whose expressions are replaced by values from referenced attributes in the target entry.

Virtual attributes based on templates build their values from other attribute values present in the target entry. Some examples of valid templates and of the final attribute value are: With no placeholders: "No placeholders in template!" With placeholders pointing to other entry attributes: "{uid}@{domain}" : "<bjensen@example.com>" With expression defining default value: "{uid}@{domain|domain.com}" (if domain="example.com") "<bjensen@example.com>" (if no domain attribute) "<bjensen@domain.com>" With reference pointing to a multi-valued attribute : "This is {cn}" cn = 1 : "This is 1" cn = 2 : "This is 2" cn = 3 : "This is 3" With escaping brace: "This is \\{uid}" : "This is {uid}" "This is \\{uid\\}" : "This is {uid\\}" Note: the user template virtual attributes cannot be specified as a filter components (not searchable)

## Parent

The User Template Virtual Attribute object inherits from [Virtual Attribute](objects-virtual-attribute.html).

## User Template Virtual Attribute properties

You can use configuration expressions to set property values at startup time. For details, see [Property value substitution](expressions.html).

| Basic Properties                                                                                                                                                                                | Advanced Properties       |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| [attribute-type](#attribute-type) [base-dn](#base-dn) [conflict-behavior](#conflict-behavior) [enabled](#enabled) [filter](#filter) [group-dn](#group-dn) [scope](#scope) [template](#template) | [java-class](#java-class) |

### Basic properties

Use the `--advanced` option to access advanced properties.

### attribute-type

|                         |                                                                                                                      |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the attribute type for the attribute whose values are to be dynamically assigned by the virtual attribute. |
| *Default value*         | None                                                                                                                 |
| *Allowed values*        | The name of an attribute type defined in the LDAP schema.                                                            |
| *Multi-valued*          | No                                                                                                                   |
| *Required*              | Yes                                                                                                                  |
| *Admin action required* | None                                                                                                                 |
| *Advanced*              | No                                                                                                                   |
| *Read-only*             | No                                                                                                                   |

### base-dn

|                         |                                                                                                                                                |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the base DNs for the branches containing entries that are eligible to use this virtual attribute.                                    |
| *Description*           | If no values are given, then the server generates virtual attributes anywhere in the server.                                                   |
| *Default value*         | The location of the entry in the server is not taken into account when determining whether an entry is eligible to use this virtual attribute. |
| *Allowed values*        | A valid DN.                                                                                                                                    |
| *Multi-valued*          | Yes                                                                                                                                            |
| *Required*              | No                                                                                                                                             |
| *Admin action required* | None                                                                                                                                           |
| *Advanced*              | No                                                                                                                                             |
| *Read-only*             | No                                                                                                                                             |

### conflict-behavior

|                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the behavior that the server is to exhibit for entries that already contain one or more real values for the associated attribute.                                                                                                                                                                                                                                                                                                                                                                                                                    |
| *Default value*         | real-overrides-virtual                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| *Allowed values*        | * merge-real-and-virtual: Indicates that the virtual attribute provider is to preserve any real values contained in the entry and merge them with the set of generated virtual values so that both the real and virtual values are used.

* real-overrides-virtual: Indicates that any real values contained in the entry are preserved and used, and virtual values are not generated.

* virtual-overrides-real: Indicates that the virtual attribute provider suppresses any real values contained in the entry and generates virtual values and uses them. |
| *Multi-valued*          | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| *Required*              | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| *Admin action required* | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| *Advanced*              | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| *Read-only*             | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

### enabled

|                         |                                                             |
| ----------------------- | ----------------------------------------------------------- |
| *Synopsis*              | Indicates whether the Virtual Attribute is enabled for use. |
| *Default value*         | None                                                        |
| *Allowed values*        | truefalse                                                   |
| *Multi-valued*          | No                                                          |
| *Required*              | Yes                                                         |
| *Admin action required* | None                                                        |
| *Advanced*              | No                                                          |
| *Read-only*             | No                                                          |

### filter

|                         |                                                                                                                                                                                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the search filters to be applied against entries to determine if the virtual attribute is to be generated for those entries.                                                                                      |
| *Description*           | If no values are given, then any entry is eligible to have the value generated. If one or more filters are specified, then only entries that match at least one of those filters are allowed to have the virtual attribute. |
| *Default value*         | (&)                                                                                                                                                                                                                         |
| *Allowed values*        | Any valid search filter string.                                                                                                                                                                                             |
| *Multi-valued*          | Yes                                                                                                                                                                                                                         |
| *Required*              | No                                                                                                                                                                                                                          |
| *Admin action required* | None                                                                                                                                                                                                                        |
| *Advanced*              | No                                                                                                                                                                                                                          |
| *Read-only*             | No                                                                                                                                                                                                                          |

### group-dn

|                         |                                                                                                                                                                                                                                     |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the DNs of the groups whose members can be eligible to use this virtual attribute.                                                                                                                                        |
| *Description*           | If no values are given, then group membership is not taken into account when generating the virtual attribute. If one or more group DNs are specified, then only members of those groups are allowed to have the virtual attribute. |
| *Default value*         | Group membership is not taken into account when determining whether an entry is eligible to use this virtual attribute.                                                                                                             |
| *Allowed values*        | A valid DN.                                                                                                                                                                                                                         |
| *Multi-valued*          | Yes                                                                                                                                                                                                                                 |
| *Required*              | No                                                                                                                                                                                                                                  |
| *Admin action required* | None                                                                                                                                                                                                                                |
| *Advanced*              | No                                                                                                                                                                                                                                  |
| *Read-only*             | No                                                                                                                                                                                                                                  |

### scope

|                         |                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the LDAP scope associated with base DNs for entries that are eligible to use this virtual attribute.                                                                                                                                                                                                                                                                                 |
| *Default value*         | whole-subtree                                                                                                                                                                                                                                                                                                                                                                                  |
| *Allowed values*        | * base-object: Search the base object only.

* single-level: Search the immediate children of the base object but do not include any of their descendants or the base object itself.

* subordinate-subtree: Search the entire subtree below the base object but do not include the base object itself.

* whole-subtree: Search the base object and the entire subtree below the base object. |
| *Multi-valued*          | No                                                                                                                                                                                                                                                                                                                                                                                             |
| *Required*              | No                                                                                                                                                                                                                                                                                                                                                                                             |
| *Admin action required* | None                                                                                                                                                                                                                                                                                                                                                                                           |
| *Advanced*              | No                                                                                                                                                                                                                                                                                                                                                                                             |
| *Read-only*             | No                                                                                                                                                                                                                                                                                                                                                                                             |

### template

|                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the template that is used to generate a value(s) to be included in the virtual attribute. A string possibly containing reference attribute names surrounded by `{` and `}` whose values are to be used for building the virtual attribute. Ex: '{uid}' Default values for missing references can be specified by separating with '\|' the reference attribute name and the default value. Ex: '{domain\|example.com}' When '{' have to appear in the final value, they can be escaped with '\\'. |
| *Default value*         | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| *Allowed values*        | A string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| *Multi-valued*          | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| *Required*              | Yes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| *Admin action required* | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| *Advanced*              | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| *Read-only*             | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

## Advanced properties

Use the `--advanced` option to access advanced properties.

### java-class

|                         |                                                                                                                 |
| ----------------------- | --------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the fully-qualified name of the virtual attribute provider class that generates the attribute values. |
| *Default value*         | org.opends.server.extensions.UserTemplateVirtualAttributeProvider                                               |
| *Allowed values*        | A Java class that extends or implements:- org.opends.server.api.VirtualAttributeProvider                        |
| *Multi-valued*          | No                                                                                                              |
| *Required*              | Yes                                                                                                             |
| *Admin action required* | The object must be disabled and re-enabled for changes to take effect.                                          |
| *Advanced*              | Yes                                                                                                             |
| *Read-only*             | No                                                                                                              |
