DNS, DHCP & IP Address Management appliances
For Microsoft DNS & DHCP servers
For open source DNS & DHCP servers
Cloud-based visualization of analytics across DDI architecture
Manage multi-vendor cloud DNS servers centrally
RIR Declaration Management and Automation
Automated network device configuration and management
Centralized visibility over all your clouds
A single source of truth for your network automation
Why DDI is an Obvious Starting Point
DNS Threat Intelligence for proactive defense
Intelligence Insights for Threat Detection and Investigation
Adaptive DNS security for service continuity and data protection
Improve Application Access Control to prevent spread of attacks
Protect users and block DNS-based malware activity
Carrier-grade DNS DDoS attack protection
Optimize application delivery performance from the edge
for Proactive Network Security
Visibility, analytics and micro segmentation for effective Zero Trust strategy
Enable work from anywhere by controlling access, security and data privacy
Simplify management and control costs across AWS, Azure and GCP environments
Policy enforcement, risk management, and automation for simplifying compliance
Risk-free migration to reduce DDI complexity and cost
Move risk-free to improve performance, security and costs
Automate management, unify control and strengthen security of connected devices
Protect your network against all DNS attacks, data exfiltration and ransomware
Enable zero touch operations for network management and security
Improve resiliency, deployment velocity and user experience for SD-WAN projects
Integrated DNS, DHCP, IPAM services to simplify, automate and secure your network.
Simplify design, deployment and management of critical DDI services for telcos
Optimize administration and security of critical DDI services for healthcare
Simplify and automate management of critical DDI services for finance
Simplify and automate management of critical DDI services for higher education
Simplify and automate management of critical DDI services for retail
Simplify Management and Automation for Network Operations Teams
Elevate SecOps Efficiency by Simplifying Threat Response
Enable DevOps practices to deliver consistent network operations.
Open architecture for DDI integration
Technology partnerships for network security & management ecosystems
Extend security perimeters and strengthen network defenses
Submit requests for temporary licenses
Submit access requests for EfficientIP knowledge platforms
Submit membership requests for EfficientIP Community
Strengthen your network security with insights from the Forrester 2025 Study on DNS Security.
Customer-centric DDI project delivery and training
Acquire the skills needed to manage EfficientIP SOLIDserverâ„¢
Identify vulnerabilities with an assessment of your DNS traffic
Test your protection against data breaches via DNS
Dedicated representation for your organization inside EfficientIP
Explore content which helps manage and automate your network and cloud operations
Read content which strengthens protection of your network, apps, users and data
Learn how to enhance your app delivery performance to improve resilience and UX
See all your assets in one place
This enterprise-grade cloud platform allows you to improve visibility, enhance operational efficiency, and optimize network performance effortlessly.
Who we are and what we do
Meet the team of leaders guiding our global growth
Technology partnerships for network security and management ecosystems
Make your cloud projects successful with insights from the 2025 EMA Hybrid Multi-cloud Report.
Discover the benefits of the SmartPartner global channel program
Become a part of the innovation
The latest updates, release information, and global events
August 25, 2026 | DDI, Network & Cloud Automation
Direct REST API calls give automation teams broad access to SOLIDserver, but they also require developers to manage service-specific methods, parameters, identifiers, responses, and relationships between DDI resources in application code.SOLIDserverRest.adv adds an object-oriented Python model for resources such as IPAM spaces and networks. The same authenticated session also retains generic API access for concise or specialized operations. This hybrid approach lets developers use DDI objects where context and lifecycle matter, while preserving the complete API reach required for DNS, reporting, verification, and other focused service calls.
SOLIDserverRest.adv
A typical infrastructure workflow may need to identify the correct IPAM space, select an approved parent network, find available subnet capacity, create a subnet in the right hierarchy, identify a free host-address candidate, publish a DNS record, and verify the result.Implementing every step through direct API calls is possible, but the script must handle method-specific parameters, object identifiers, hierarchy, response normalization, error handling, and data exchange between stages. This can make automation harder to read, reuse, and maintain.At the same time, an object model should not restrict access to specialized API functions. Automation teams need a practical way to choose the most appropriate abstraction for each operation without changing clients or building parallel integrations.
SOLIDserverRest.adv provides two complementary access patterns through one authenticated adv.SDS session:
adv.SDS
Space
Network
query(method, params)
Both patterns share the same SOLIDserver session, authentication context, timeout settings, and error-handling framework.
The advanced model makes the DDI intent visible in Python code. The following example represents a parent network and asks SOLIDserver to find available child subnets:
space = sdsadv.Space(sds=sds, name=space_name) space.refresh() parent = sdsadv.Network(sds=sds, space=space) parent.set_address_prefix(block_address, block_prefix) parent.refresh() candidates = parent.find_free( prefix=requested_prefix, max_find=limit, )
A selected subnet can then be linked to the parent, created, refreshed, and queried for free host-address candidates:
subnet = sdsadv.Network(sds=sds, space=space, name=subnet_name) subnet.set_address_prefix(subnet_address, subnet_prefix) subnet.set_parent(parent) subnet.set_is_terminal(True) subnet.create() subnet.refresh() free_addresses = subnet.find_free_ip(max_find=limit)
The code mirrors the DDI model: a network belongs to a space, has a parent, can be created, and can be queried for free capacity.
Some operations are clearer as direct API calls. For example, after selecting a zone, fully qualified domain name, and address, the workflow can create an A record through the same advanced session:
client.query( "dns_rr_create", params=record_parameters, )
The same fallback can be used for lightweight inventory, reporting, and final verification. Developers retain direct access to the broader SOLIDserver API without opening another connection.
A service portal, cloud provisioning platform, CI/CD pipeline, workflow engine, custom application, or operator can initiate a request for network and DNS resources. Python automation then translates that request into controlled DDI operations through one authenticated adv.SDS session.A typical workflow includes the following stages:
Confirm the requested prefix, naming information, metadata, and applicable allocation policy. Resolve the appropriate IPAM space and identify the networks in which the request is allowed to operate.
Use Space and Network objects to inspect the current SOLIDserver state and return suitable free-subnet or host-address candidates.
Apply organizational selection rules, create the selected subnet in the correct hierarchy, refresh its state, and capture the resulting object identifiers and metadata.
Depending on the use case, create or reserve a selected address in IPAM, pass it to another provisioning system responsible for the address lifecycle, or use it as input for an associated DNS operation. Focused DNS actions can be performed through the generic API-query interface on the same authenticated session.
Read the created or updated resources back from SOLIDserver rather than relying only on the response from the write operation. Verification can include the network hierarchy, address state, DNS records, audit information, and other relevant metadata.
Provide the initiating system with machine-readable output containing the selected context, created resources, resulting identifiers, verification status, and any information required by subsequent workflow stages.
Inputs and outputs can be exchanged as JSON documents, API payloads, workflow variables, event messages, or native objects from the surrounding automation platform. This allows SOLIDserver automation to participate in wider provisioning and deprovisioning processes without requiring manual interaction.
ind_free() and find_free_ip() can return multiple candidate subnets or addresses. A workflow may select a candidate according to capacity, location, naming, utilization, or other organizational policies. Random selection from the returned list can reduce the probability that concurrent workflows choose the same candidate, but it does not eliminate the race between discovery and creation. Where strict concurrency control is required, the workflow should create or reserve the selected resource immediately where applicable, detect conflicts, and retry with another candidate.Production implementations can also separate planning from execution through preview or dry-run behavior, approval gates, explicit commit actions, and post-change validation. These controls are implementation choices rather than requirements of the Python library itself.The same pattern is not limited to subnet and DNS provisioning. It can be extended to address allocation, pools, DHCP scopes, resource metadata, DNS record lifecycle management, reporting, reconciliation, and deprovisioning.
ind_free()
find_free_ip()
Production implementations should use a dedicated least-privilege API identity, validate the SOLIDserver TLS certificate, protect credentials outside source code, and retain controlled planning or approval before write execution. They should also handle concurrency, repeated requests, partial failures, and reconciliation. find_free() and find_free_ip() can return multiple candidate subnets or addresses. Selecting one randomly from the returned list reduces the probability that parallel workflows choose the same candidate. Where strict concurrency control is required, the workflow should create or reserve the selected resource immediately and retry if another process has claimed it in the meantime.
SOLIDserverRest.adv makes SOLIDserver automation more expressive without sacrificing REST API coverage. The object model is well suited to stateful operations where DDI context, relationships, and lifecycle matter, while the generic query fallback remains available for concise or specialized calls.By combining both patterns, organizations can build readable and reusable Python workflows for subnet provisioning, DNS registration, verification, and wider ecosystem integration while keeping SOLIDserver at the center of controlled DDI operations.
When our goal is to help companies face the challenges of modern infrastructures and digital transformation, actions speak louder than words.