Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/infobloxopen/infoblox-go-client

Infoblox NIOS WAPI Go Client library
https://github.com/infobloxopen/infoblox-go-client

go infoblox

Last synced: 2 months ago
JSON representation

Infoblox NIOS WAPI Go Client library

Lists

README

        

# Infoblox Go Client

An Infoblox NIOS WAPI client library in Golang.
The library enables us to do a CRUD oprations on NIOS Objects.

This library is compatible with Go 1.2+

- [Prerequisites](#Prerequisites)
- [Installation](#Installation)
- [Usage](#Usage)

## Build Status
[![Build Status](https://travis-ci.org/infobloxopen/infoblox-go-client.svg?branch=master)](https://travis-ci.org/infobloxopen/infoblox-go-client)

## Prerequisites
* Infoblox GRID with 2.5 or above WAPI support
* Go 1.2 or above

## Installation
To get the latest released version [v2.6.0](https://github.com/infobloxopen/infoblox-go-client/releases/tag/v2.6.0) of Go Client use below command.

`go get github.com/infobloxopen/infoblox-go-client/v2`

To get the previous major version [v1.1.1](https://github.com/infobloxopen/infoblox-go-client/releases/tag/v1.1.1) use below command.

`go get github.com/infobloxopen/infoblox-go-client`

Note: Go client version v2.0.0 and above have breaking changes and are not backward compatible.

## Usage

The following is a very simple example for the client usage:

package main

import (
"fmt"
ibclient "github.com/infobloxopen/infoblox-go-client/v2"
)

func main() {
hostConfig := ibclient.HostConfig{
Scheme: "https",
Host: "",
Version: "",
Port: "PORT",
}
authConfig := ibclient.AuthConfig{
Username: "username",
Password: "password",
}
transportConfig := ibclient.NewTransportConfig("false", 20, 10)
requestBuilder := &ibclient.WapiRequestBuilder{}
requestor := &ibclient.WapiHttpRequestor{}
conn, err := ibclient.NewConnector(hostConfig, authConfig, transportConfig, requestBuilder, requestor)
if err != nil {
fmt.Println(err)
}
defer conn.Logout()
objMgr := ibclient.NewObjectManager(conn, "myclient", "")
//Fetches grid information
fmt.Println(objMgr.GetGridLicense())
}

## Supported NIOS operations

* AllocateIP
* AllocateNetwork
* AllocateNetworkContainer
* CreateARecord
* CreateAAAARecord
* CreateZoneAuth
* CreateCNAMERecord
* CreateDefaultNetviews
* CreateEADefinition
* CreateHostRecord
* CreateNetwork
* CreateNetworkContainer
* CreateNetworkView
* CreatePTRRecord
* CreateTXTRecord
* CreateZoneDelegated
* DeleteARecord
* DeleteAAAARecord
* DeleteZoneAuth
* DeleteCNAMERecord
* DeleteFixedAddress
* DeleteHostRecord
* DeleteNetwork
* DeleteNetworkView
* DeletePTRRecord
* DeleteTXTRecord
* DeleteZoneDelegated
* GetAllMembers
* GetARecordByRef
* GetARecord
* GetAAAARecordByRef
* GetAAAARecord
* GetCapacityReport
* GetCNAMERecordByRef
* GetCNAMERecord
* GetDhcpMember
* GetDnsMember
* GetEADefinition
* GetFixedAddress
* GetFixedAddressByRef
* GetHostRecord
* GetHostRecordByRef
* SearchHostRecordByAltId
* SearchObjectByAltId
* GetIpAddressFromHostRecord
* GetNetwork
* GetNetworkByRef
* GetNetworkContainer
* GetNetworkContainerByRef
* GetNetworkView
* GetNetworkViewByRef
* GetPTRRecordByRef
* GetPTRRecord
* GetTXTRecord
* GetTXTRecordByRef
* GetZoneAuthByRef
* GetZoneDelegated
* GetUpgradeStatus (2.7 or above)
* GetAllMembers
* GetGridInfo
* GetGridLicense
* ReleaseIP
* UpdateAAAARecord
* UpdateCNAMERecord
* UpdateDhcpStatus
* UpdateDnsStatus
* UpdateFixedAddress
* UpdateHostRecord
* UpdateNetwork
* UpdateNetworkContainer
* UpdateNetworkView
* UpdatePTRRecord
* UpdateTXTRecord
* UpdateARecord
* UpdateZoneDelegated