github.com/infobloxopen/infoblox-go-client@v1.1.1/README.md (about) 1 # Infoblox Go Client 2 3 An Infoblox NIOS WAPI client library in Golang. 4 The library enables us to do a CRUD oprations on NIOS Objects. 5 6 This library is compatible with Go 1.2+ 7 8 - [Prerequisites](#Prerequisites) 9 - [Installation](#Installation) 10 - [Usage](#Usage) 11 12 ## Build Status 13 14 | Master | Develop | 15 | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | 16 | [](https://travis-ci.org/infobloxopen/infoblox-go-client) | [](https://travis-ci.org/infobloxopen/infoblox-go-client) | 17 18 19 ## Prerequisites 20 * Infoblox GRID with 2.5 or above WAPI support 21 * Go 1.2 or above 22 23 ## Installation 24 go get github.com/infobloxopen/infoblox-go-client 25 26 ## Usage 27 28 The following is a very simple example for the client usage: 29 30 package main 31 import ( 32 "fmt" 33 ibclient "github.com/infobloxopen/infoblox-go-client" 34 ) 35 36 func main() { 37 hostConfig := ibclient.HostConfig{ 38 Host: "<NIOS grid IP>", 39 Version: "<WAPI version>", 40 Port: "PORT", 41 Username: "username", 42 Password: "password", 43 } 44 transportConfig := ibclient.NewTransportConfig("false", 20, 10) 45 requestBuilder := &ibclient.WapiRequestBuilder{} 46 requestor := &ibclient.WapiHttpRequestor{} 47 conn, err := ibclient.NewConnector(hostConfig, transportConfig, requestBuilder, requestor) 48 if err != nil { 49 fmt.Println(err) 50 } 51 defer conn.Logout() 52 objMgr := ibclient.NewObjectManager(conn, "myclient", "") 53 //Fetches grid information 54 fmt.Println(objMgr.GetLicense()) 55 } 56 57 ## Supported NIOS operations 58 59 * AllocateIP 60 * AllocateNetwork 61 * CreateARecord 62 * CreateZoneAuth 63 * CreateCNAMERecord 64 * CreateDefaultNetviews 65 * CreateEADefinition 66 * CreateHostRecord 67 * CreateNetwork 68 * CreateNetworkContainer 69 * CreateNetworkView 70 * CreatePTRRecord 71 * DeleteARecord 72 * DeleteZoneAuth 73 * DeleteCNAMERecord 74 * DeleteFixedAddress 75 * DeleteHostRecord 76 * DeleteNetwork 77 * DeleteNetworkView 78 * DeletePTRRecord 79 * GetAllMembers 80 * GetARecordByRef 81 * GetCapacityReport 82 * GetCNAMERecordByRef 83 * GetEADefinition 84 * GetFixedAddress 85 * GetFixedAddressByRef 86 * GetHostRecord 87 * GetHostRecordByRef 88 * GetIpAddressFromHostRecord 89 * GetNetwork 90 * GetNetworkContainer 91 * GetNetworkView 92 * GetPTRRecordByRef 93 * GetUpgradeStatus (2.7 or above) 94 * GetZoneAuthByRef 95 * ReleaseIP 96 * UpdateFixedAddress 97 * UpdateHostRecord 98 * UpdateNetworkViewEA 99 * UpdateARecord 100 * UpdateCNAMERecord 101 102 The newly developed features will be available under `develop` branch. After validation they would be merged to `master`.