Groups API

The Group API RESTful services allows you to collect Firefly Perimeter VMs into a group for monitoring.

Junos Space Virtual Director encompasses the notion of groups to allow you to monitor collectively certain Firefly Perimeter VMs. Firefly Perimeter VMs can belong to groups that you define either as static groups or smart groups. Firefly Perimeter VMs provisioned through Virtual Director or created manually are candidates for inclusion in groups.

  • Static groups allow you to select specific Firefly Perimeter VMs to be belong to the group. A static group remains the same and it includes the same VM members unless you manually change it, deleting or adding Firefly Perimeter VMs.
  • Smart groups are dynamic. Firefly Perimeter VMs join them automatically if their definitions match one or more of the smart groups characteristics.

Static groups are simple to define by comparison to smart groups.

Smart Groups:

For smart groups, you define a set of rules, or requirements, that specify variables that characterize the group. A Firefly Perimeter that matches one or more of a smart groups rules automatically becomes a member of the group.

A Firefly Perimeter VM may pass in and out of a smart group automatically. If the VMs configuration is changed in such a way that it no longer meets the groups definition, the VM is automatically removed from the group.

You use logic to define a smart groups rules. The Groups API allows you to use the same logic between different conjunctions. For this release, Virtual Director supports AND and OR logic, and Equals (=), and Not Equals (!=), and Contains(~) relational operators. That is, the AND and OR logic can be used in the same group definition. Also all operators can exist within the same rule.

Firefly Perimeter VMs are matched against the expressions to determine whether they should automatically join the group. For example, an expression might require that a VM is not a member of a specific data center but that it must belong to a specific port group.

For example, you could create a smart group that has the following definition: ( vi.name Equals xxx ) AND ( vi.notes Equals yyy ) AND ( vi.host NotEquals hhh )

You could also create a smart group that has the following definition: ( vi.name Equals xxx ) AND ( vi.notes Equals yyy )

Virtual Director provides the following predefined attributes that you can use to define groups: vi.attribute, vi.cluster, vi.datacenter, vi.folder, vi.host, vi.name, vi.notes, vi.portgroup, vi.powerstate, vi.resourcepool.

The Group APIs support the following operations, depending on the group: GET, POST. Group APIs and the GET Operation

The Group APIs return an object or a collection of objects that gives the Group name and displays content for all data for VMs that belong to the group.

For performance data, the Virtual Director monitoring module retrieves on demand from vCenter information such as CPU and memory usage.

Note: Performance data is not stored in the database. Therefore for this release performance data is neither historical nor updated in real-time.

For VMs that Firefly Perimeter instances run in, the Group APIs can return the following information:

  • VM status (poweredOn/poweredOff)
  • Uptime in hours
  • Overall CPU usage
  • Memory usage

For a Firefly Perimeter instance itself, Virtual Director retrieves through the DMI statistical data such as protocol packets transmitted and system uptime. The Group APIs can return the following information:

  • Input/output packets for UDP, TCP, ICMP protocols
  • System last uptime
  • System flow statistics
  • Interfaces up/down
  • Input/Output packets through the interfaces

For information about the Groups themselves, the APIs return different information for static groups and smart groups.

  • Static Group--If the group is a static group, the API returns an object containing the Universal Unique Identifier (UUID) of each member of the group, the description defined for the group, the date when the group was created and when it was modified, the number of expressions defined for the group, the group type (which for static groups is BUILTIN), and the group name.
  • Smart Group--If the group is a smart group, the API returns a collection of objects containing the smart group definition for each expression that defines the group. For each expression, it returns the comparator used, the value, the match value, and the attributes.

Firefly Perimeter VMs are matched against the expressions to determine whether they should automatically join the group. For example, and expression might require that a VM is not a member of a specific data center but that it must belong to a specific port group

Group APIs and the POST Operation

You can post smart group properties or use the manage-groups API to define groups.

Service Root

/api/juniper/vdirector

Methods and Collections

method /groups/smart-group-matchs
method /groups/group-operations
method /groups/group-types
method /groups/smart-group-comparators
collection /groups/groups
collection /groups/group-by-ids
method /groups/manage-group
method /groups/smart-group-properties
method /groups/group-vms
method /groups/group-by-names

REST Resources

Data Notification

The following APIs support data notification:

  • /groups/group-vms GET


  • For more information about enabling data notifications for this service, see the following links:

  • Data Notification Usage.