## POAP Template Annotation

Annotation is used to add sematic, validation logic and description to the template variable.

The Annotation for a given template variable is required to precede the given template variable. Only one annotation statement is required for each template variable. When a template variable has an associated annotation statement, the template variable has to be declared on a single line, Multiple variables cannot be declared under the same annotation statement.

Format of an annotation statement is as follows:

@(<key1>=<value1>,<key2>=<value2>, …, <keyN>=<valueN>)

Note • Each annotation statement is composed of one or more key-values pair.

• The value can be true, false, or a string.

• If the value is a string, it should be double quoted.

The following is a sample template variable, “hostname”, with annotation statement with the keys “DisplayName”, and “Description”:

@(DisplayName=”Host Name”, Description = “Description of the host”)

String hostname;

The table displays the supported keys in the annotation statement:

Table 1-4 Annotation Keys

Key Name | Default Value | Description
DisplayName | Empty String | The value is displayed as a variable label in the template form GUI, on POAP definition screen.
Description | Empty String | Displays the description next or below the template variable field in the template form GUI.
IsManagement | false | The associated variable is of IP Address type. This will be used as the management IP address. DCNM used this IP address to manage the devices.
IsMultiplicity | false | If true, this single value can take multiple values. For example; when it is used with IsManagement annotation, it allows you to type in multiple IP addresses and assign each IP address to a device.
IsSwitchName | false | The associated variable value is used as the device host name.
IsMandatory | true | It marks the field as mandatory if the value is set as ‘true’.
UseDNSReverseLookup | false | This annotation compliments the IsSwitchName annotation. Once they are associated with a variable. The variable is populated with the reverse DNS name, if available during the creation time of the corresponding POAP definition record.
IsFabricPort | false | The associated variable value contains a list of the ports used as fabric ports. The variable value will be used by the cable plan generation from POAP
IsHostPort | false | Trunk ports connected to host/servers.
IsVPCDomainID | false | Used as theVPC Domain ID.
IsVPCPeerLinkSrc | false | Used as the VPC IPv4 source address.
IsVPCPeerLinkDst | false | Used as the VPC IPv4 peer address.
IsVPCPeerLinkPortChannel | false | Used for VPC port channel.
IsVPCLinkPort | false | Used for VPC interface.
IsVPC | false | Used as a VPC record.
IsVPCID | false | Individual VPC ID.
IsVPCPortChannel | false | Individual VPC port channel.
IsVPCPort | false | VPC Interface.