Back to home Commercial Plugin v1.0 🇫🇷 FR
Commercial vRO Plugin for

New vRO Plugin for
EfficientIP SOLIDserver

March 2026:
Native integration of EfficientIP SOLIDserver into VMware Aria Automation Orchestrator — automated DNS/IPAM management and vRA actions.

EfficientIP SOLIDserver VMware vRO / vRA Offline License API REST Java Plugin
📩 Contact See features Pricing

A plugin built for production

Designed from hands-on experience in large-scale environments (RATP & French Ministry of Interior).

🔌

Native Java Plugin

Deployed as a standard vRO plugin (.dar), it integrates into the interface without additional configuration.

Packages.com.automacloud.plugin.*
🔐

Offline License

Activation without internet connectivity. The key is bound to your SOLIDserver instance, ensuring nominal usage.

Issued by AUTOM@CLOUD on request
🔒

Security & SSL

Basic authentication via vRO RESTHost. SSL management is delegated to the RestHost — scripts remain clean.

GET /rest/ip_site_list?LIMIT=1

Included Workflows

♻️
Core principle
Idempotency as a common denominator
Provisioning workflows can be replayed without side effects: if the target state is already reached, they exit cleanly without error or duplicate. This guarantee radically simplifies vRA pipelines in case of retry, interruption, or state convergence.

14 workflows and 12 business-oriented actions, precisely described, are delivered to intelligently address your use cases. The simpler components combine to form robust business processes directly usable in vRO provisioning / deprovisioning phases. Together, they form a Swiss Army knife library exploitable by orchestration teams.

Provisioning
🚀
Provision ip and alias from a_name & alias names
Provisioning ♻ idempotent

Orchestrates the full provisioning sequence: verifies that the hostname and aliases are free on any other IP, detects ghost machines (ping), creates the A record and sets exactly the requested aliases. Can be replayed without side effects if partially executed.

Inputs ipamRestHost, a_name, aliasNames[], subnetId/subnetAddr, site_id, isVroRoutedEverywhere
Create RECORD from a_name & ip & site_id
Provisioning ♻ idempotent

Creates an A record in SOLIDserver associating a hostname (FQDN) with an IP address in the specified space (site). If the record already exists with the same name and IP, exits cleanly without error. Returns the ip_id of the created or existing record.

Inputs ipamRestHost, a_name, ip, site_id → ip_id
🔎
Get first free ip from subnet
Provisioning

Resolve a subnet by its ID or by address and site, then find the first available IP within the requested range. Only return an IP if the number of free IPs on the network is greater than 'minFreeIp', ensuring an adjustable reserve.

Inputs ipamRestHost, subnetId | (subnetAddr, site_id), minFreeIp → firstFreeIp, freeCount
Alias Management
🎯
Set exact aliases to ip_id
Aliases ♻ idempotent

Sets the aliases of an ip_id to exactly match the provided list. Computes the delta between the current state and the desired state, then applies additions and deletions. Replaying with the same list produces no changes.

Inputs ipamRestHost, ip_id, aliasNames[] → aliasIds[]
🔄
Update Aliases to ip_id
Aliases

Adds and removes aliases on an ip_id from two explicit lists. Processes additions before deletions. Handles renames (1 addition + 1 deletion) via ip_alias_update to avoid unnecessary cycles. Silently ignores already existing or missing aliases.

Inputs ipamRestHost, ip_id, aliasesToAdd[], aliasesToDel[] → aliasIds[]
📋
Get aliases prop from ip_id
Aliases

Retrieves all aliases associated with an ip_id from SOLIDserver. Returns an array of properties containing each alias's details (alias_name, ip_name_id, ip_id, hostaddr), or an empty array if no aliases exist.

Inputs ipamRestHost, ip_id → Properties[]
Deprovisioning & Modification
🗑️
Remove DNS record and its dependencies
Deprovisioning

Removes all IPs attached to a hostname or an IP, along with their aliases. If an IP or one of its aliases is provided, only that specific IP is targeted. If a hostname is provided, all IPs attached to it are deleted with their dependencies.

Inputs ipamRestHost, nameOrIp
🆓
Free an ip from "ip XOR ip_id" and site_id
Deprovisioning

Releases an IP address in SOLIDserver, identified either by its IP address (requires site_id) or directly by ip_id. Throws an error if both identifiers are provided simultaneously, if neither is, or if the IP cannot be found.

Inputs ipamRestHost, ip + site_id | ip_id
✏️
Change record (a_name, ip, site_id) from ip_id
Modification

Updates an existing IP record identified by its ip_id. Allows changing the hostname (a_name), the IP address, or both simultaneously. Only provided fields are updated — omitted fields remain unchanged. Throws an error if the changes conflict with an existing record.

Inputs ipamRestHost, ip_id, [a_name], [ip]
🔀
Move DNS record to new subnet
Modification

Moves a DNS record (identified by IP or FQDN) to a new target subnet, preserving the existing hostname and aliases.

Inputs ipamRestHost, nameOrIP, targetSubnetId
Search & Resolution
🔍
Get infos from (name or ip) and site_id
Search

Searches for an IP record matching a hostname (FQDN) or an IP address. Automatically detects the input type. Optionally filters by site_id. Returns the properties (ip_id, ip_addr, name, site_id) or an empty array if not found. Throws an error if multiple records exist without a site filter.

Inputs ipamRestHost, nameOrIp, [site_id] → Properties
Check for availability of name or ip
Search

Checks whether a hostname (FQDN) or an IP address is available in SOLIDserver. Automatically detects the input type and queries the IPAM accordingly. Useful as a pre-check in provisioning pipelines.

Inputs ipamRestHost, nameOrIp → available (boolean)
🗺️
Check site_id or site_name
Search

Resolves a SOLIDserver space by site_id or site_name. Returns both identifiers of the matching space. Throws an error if neither is provided, or if no matching space is found.

Inputs ipamRestHost, site_id | site_name → site_id, site_name
Audit & Diagnostics
📊
Audit orphan IPs
Audit

For each DNS record in a subnet, collects: ip_id, IP address, hostname, aliases, and ping response status. Helps detect ghost machines not referenced in the IPAM or obsolete records.

Inputs ipamRestHost, subnetId → [ip_id, ip, hostname, aliases, pingOk]

JavaScript Actions

Atomic building blocks invocable from any vRO workflow or vRA form — chained dropdowns, validations and network checks.

Lists for vRA forms (chained dropdowns)
01
listSites
() → Properties

All spaces — e.g. Paris(12)

02
listSitesWithFreeIp
() → Properties

Spaces with at least one free IP — filters provisionable sites.

03
listSubnetsFrom_site_id
(site_id) → Properties

Subnets of a site — e.g. 192.168.1.0/24(56)

04
listFreeSubnets
(site_id) → Properties

Subnets with free IPs — filters provisionable networks.

05
listRecordsFrom_subnet_id
(subnet_id) → Properties

IP records of a subnet — e.g. 192.168.1.10

06
listAliasesFrom_ip_id
(ip_id) → Properties

Aliases of a record — e.g. alias1.dom.com

07
listRestHost
() → Properties

Available vRO RESTHosts — SOLIDserver connector selection in forms.

Validation & network checks
08
Get_ip_ids_from_alias_names
(aliasNames[]) → Properties

Checks whether FQDN aliases are already taken in SOLIDserver. Returns a mapping alias_name → ip_id — an absent alias is free to use.

09
Get_site_id_from_ip_id
(ip_id) → String

Returns the site_id of the space containing a given ip_id.

10
waitForCheckHostByPing
(target, expectPing, maxAttempts) → Boolean

Repeated ping up to maxAttempts times. Detects ghost machines or confirms reachability after provisioning.

11
WaitForValidDnsRecordViaHost
(target, type, expectResolv, maxAttempts, [dnsServer]) → Boolean

Repeated DNS resolution via host. Supports A, CNAME and reverse lookups. Can target a specific DNS server.

Internet-free activation

The plugin operates with a subscription-free offline license system. No external connectivity required. The license key, issued by AUTOM@CLOUD, is bound to your SOLIDserver instance.

🔐 Offline license
☁️ Zero external connectivity

Partner clients

Who contributed to defining the use cases

🚇 RATP 5 300 VMs
🏛️ French Ministry of Interior

Per SOLIDserver License

- Type: Perpetual
- Price: €4,500 (Basic Support included)
- (Opt) Training and/or environment Integration: €990/day (~ 3 days)
- Partner ? - Contact me.