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
- Host: GitHub
- URL: https://github.com/infobloxopen/infoblox-go-client
- Owner: infobloxopen
- License: apache-2.0
- Created: 2016-02-10T20:32:35.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-08T07:20:41.000Z (3 months ago)
- Last Synced: 2024-04-08T08:33:14.785Z (3 months ago)
- Topics: go, infoblox
- Language: Go
- Homepage:
- Size: 5.77 MB
- Stars: 31
- Watchers: 9
- Forks: 79
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Lists
- awesome-network-automation - Infoblox Go Client - Go wrapper for REST API (Vendor Abstraction Library / NETCONF)
- awesome-network-automation - Infoblox Go Client - Go wrapper for REST API (Vendor Abstraction Library / NETCONF)
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