TCPWave RESTful API brings a revolution in Network Automation

Develop intelligent clouds leveraging Network Automation with our robust RESTful API.

Overcome challenges with your legacy solutions

Infrastructure and operations leaders see today's network domain as lagging in agility. Network automation tools enable network staff to gain process and configuration agility while ensuring compliance. The network automation market is divided between legacy network configuration, change management tools and the newer virtual network configuration automation solutions. With the network landscape constantly changing, organizations want to catch up with the technology and start Software-defined networking. Automating the existing network infrastructure for DNS and DHCP by leveraging the outdated APIs and insecure methods such as Perl scripts with plain text passwords compromises the security to a great extent in mission-critical organizations. Developing automation using insecure methods also causes organizations to fall out of compliance with corporate and government policies, auditing standards, and regulations. Software-defined networking, an architecture that enables network automation, is not the same as network automation; infrastructure and operations leaders need to understand how they differ. Making a legacy DDI solution to do network automation using modern methods such as RestAPI calls from multiple orchestration layers can pose an intrinsic risk that requires careful management and control. With a mixture of legacy and new network infrastructures co-existing in an organization, increased agility in the network domain is a top priority for I&O organizations and network teams. TCPWave provides the correct network automation tool for your needs.

About
DDI Technology

TCPWave products use the latest JavaScript frameworks provided by Facebook and Google, and we deliver a cutting-edge IP Address management solution to your data centers. We offer a robust RESTful API to simplify every trivial task in IPAM. The system generates an authorization token for each user. We also support the SSL certificate-based approach. For the update to occur via the API to the TCPWave IPAM, the appropriate user should also have permission to perform the desired action. The TCPWave RESTful design increases API performance, reduces development effort to design applications related to network automation, and minimizes the operational support burden. Development teams can create scalable cloud and mobile applications systems by conforming to web applications, services, and APIs with proven RESTful constraints. Because REST requires a new development mindset, the legacy IPAM solutions are not genuinely based on REST constraints and principles and do not exhibit expected scalability, evolvability, and interoperability. Contact us to learn more, and you will be amazed to see the things you can do with TCPWave's RESTful API.

IPAM

Expand the sections listed below to view the usage of the RestAPI in different programming languages.

  • Using Python
    Using Python

    Python is a high-level programming language that supports multiple programming paradigms, including object-oriented, imperative, and functional (procedural) styles. It features a dynamic system and automatic memory management and has a comprehensive standard library. Python interpreters are available for most of the commonly used operating systems. An example in Python v3+ is listed below.

    Admin Group Add: Sample python code.
    import urllib.request

    params = b'{"name":"network-admins", "organization_name":"TCPWave", "description":"Group of Network Admins for TCPWave"}';

    req = urllib.request.Request(url='https://10.1.10.15:8443/tims/rest/admingroup/add', data=params, method='POST')

    req.add_header("Content-Type", "application/json")

    req.add_header("TIMS-Session-Token", "73f79a6c-5343-44bc-b290-1cd679037d59")

    f = urrlib.request.urlopen(req)

    print(f.read())

  • Using Java
    Using Java

    Java is an object-oriented, class-based, concurrent programming language that adheres to the "write once, run anywhere" philosophy. Java programs can run on any Java Virtual Machine (JVM). As of 2015, Java is one of the most popular programming languages, particularly for client-server web applications. There are multiple libraries available to create a REST client in Java. The snippets below use the Apache HTTP client to make GET and POST calls.

    GET

    public static void get(String sessionToken, String url)

    throws Exception

    {

    HttpClient client = new DefaultHttpClient();

    HttpGet request = new HttpGet(url);

    request.addHeader("TIMS-Session-Token", sessionToken);

    HttpResponse response = client.execute(request);

    BufferedReader rd = new BufferedReader (new InputStreamReader(response.getEntity().getContent()));

    String line = "";

    while ((line = rd.readLine()) != null)

    {

    System.out.println(line);

    }

    }

    POST

    public static void post(String sessionToken, String url, String data)

    throws Exception

    {

    HttpClient client = new DefaultHttpClient();

    HttpPost post = new HttpPost(url);

    post.addHeader("TIMS-Session-Token", sessionToken);

    StringEntity input = new StringEntity(data);

    Input.setContentType("application/json");

    post.setEntity(input);

    HttpResponse response = client.execute(post);

    System.out.println(response.getStatusLine().toString());

    }

    Network List

    java -jar restc.jar GET 73f79a6c-5343-44bc-b290-1cd679037d59 "https://10.1.10.15:8443/tims/rest/network/list?page=1&rows=5"

    Network Add

    java -jar restc.jar POST 73f79a6c-5343-44bc-b290-1cd679037d59 https://10.1.10.15:8443/tims/rest/network/add "{\"name\":\"TCPWave-dev\", \"addr1\":\"57\", \"addr2\":\"0\", \"addr3\":\"0\", \"addr4\":\"0\",  \"mask_length\":\"8\",  \"organization_name\":\"TCPWave\",  \"email_id\":\"[email protected] \",  \"description\":\"TCPWave Development Group Network\",  \"percentageFull\":\"80\", \"email_check\":\"0\",  \"snmp_check\":\"1\",  \"log_check\":\"1\"} "
  • Using Curl
    A Curl Example:

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"NewYorkMetro-USA-B2B", "organization_name":"tcpwave", "description":"Admin Group for B2B subnets in NewYorkMetro USA"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"NewYorkMetro-USA-Desktop", "organization_name":"tcpwave", "description":"Admin Group for Desktop subnets in NewYorkMetro USA"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"NewYorkMetro-USA-DMZ", "organization_name":"tcpwave", "description":"Admin Group for DMZ subnets in NewYorkMetro USA"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"NewYorkMetro-USA-External", "organization_name":"tcpwave", "description":"Admin Group for External subnets in NewYorkMetro USA"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"NewYorkMetro-USA-Phones", "organization_name":"tcpwave", "description":"Admin Group for Phones subnets in NewYorkMetro USA"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"NewYorkMetro-USA-Servers", "organization_name":"tcpwave", "description":"Admin Group for Servers subnets in NewYorkMetro USA"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"SaoPaulo-Brazil-B2B", "organization_name":"tcpwave", "description":"Admin Group for B2B subnets in SaoPaulo Brazil"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"SaoPaulo-Brazil-Desktop", "organization_name":"tcpwave", "description":"Admin Group for Desktop subnets in SaoPaulo Brazil"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"SaoPaulo-Brazil-DMZ", "organization_name":"tcpwave", "description":"Admin Group for DMZ subnets in SaoPaulo Brazil"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"SaoPaulo-Brazil-External", "organization_name":"tcpwave", "description":"Admin Group for External subnets in SaoPaulo Brazil"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"SaoPaulo-Brazil-Phones", "organization_name":"tcpwave", "description":"Admin Group for Phones subnets in SaoPaulo Brazil"}' http://localhost:8080/tims/rest/admingroup/add

    curl -H "Content-Type: application/json" -H "TIMS-Session-Token: 6818fbb8-8471-4665-9561-913943f6828e" -d '{"name":"SaoPaulo-Brazil-Servers", "organization_name":"tcpwave", "description":"Admin Group for Servers subnets in SaoPaulo Brazil"}' http://localhost:8080/tims/rest/admingroup/add

Powered by Modern Java

Click here for a comprehensive list and description of the TCPWave RestAPI reference documentation.

Authorized administrators can perform the following operations via RESTAPI:

  • You can add networks, subnets, A records, PTR records, MX records.
  • Bulk add from CSV, bulk deletes, bulk modify.
  • Add a new DNS server, add a new DNS zone.
  • Enable DNSSEC on a zone, change the master or slaves associated to a zone.
  • Create a DHCP scope, change an SNMP community string, restart/reboot a remote DHCP or DNS server.

With the rapid evolution of network automation to facilitate private, hybrid clouds, TCPWave IPAM is the right choice to automate your cloud infrastructure. The TCPWave CLI toolset is on top of the TCPWave RESTful API engine. Contact us to learn more.

TCPWave Rest API

In your workflows, develop innovative applications for your private, hybrid clouds using TCPWave's Restful API.

Cloud Automation

Secure your DDI management layer for network automation by providing token-based access.

Cloud Security

Accelerate the time to provision hundreds of DNS records using TCPWave Restful API.

Cloud Acceleration