This library enables you to interact with the Infoblox BloxOne APIs using Go. The library is generated using the OpenAPI Generator project.
The following Bloxone APIs are supported:
- Infrastructure Management
- Infrastructure Provision (HostActivation API)
- Anycast Configuration Manager
To install bloxone-go-client
use go get
command:
go get github.com/infobloxopen/bloxone-go-client
You can either use an aggregated client to interact with multiple BloxOne APIs or create a client for a specific API.
You can use an aggregated client to interact with multiple BloxOne APIs. The aggregated client is available in the client
package.
Import the package in your code:
import b1client "github.com/infobloxopen/bloxone-go-client/client"
To create a new API client, you can use the NewAPIClient
function as shown below
client := b1client.NewAPIClient()
// Now you can access the API clients using the client object, e.g.:
dnsConfigClient := client.DNSConfigurationAPI
Alternatively, you can create a client for a specific API using the API package. For example, to create a client for the DNS Configuration API:
//import "github.com/infobloxopen/bloxone-go-client/dns_config"
client := dns_config.NewAPIClient()
The NewAPIClient
function accepts a variadic list of option.ClientOption
functions that can be used to configure the client.
It requires the option
package to be imported. You can import the package using:
import "github.com/infobloxopen/bloxone-go-client/option"
The client name is used to identify the client in the logs. By default, the client name is set to bloxone-go-client
. You can change this using the option.WithClientName
option. For example:
client := b1client.NewAPIClient(option.WithClientName("my-client"))
The default URL for the Cloud Services Portal is https://csp.infoblox.com
. If you need to change this, you can use option.WithCSPUrl
to set the URL. For example:
client := b1client.NewAPIClient(option.WithCSPUrl("https://csp.eu.infoblox.com"))
You can also set the URL using the environment variable BLOXONE_CSP_URL
An API key is required to access BloxOne API. You can obtain an API key by following the instructions in the guide for Configuring User API Keys.
To use an API key with BloxOne API, you can use the option.WithAPIKey
option. For example:
client := b1client.NewAPIClient(option.WithAPIKey("YOUR_API_KEY"))
You can also set the API key using the environment variable BLOXONE_API_KEY
Note: The API key is a secret and should be handled securely. Hardcoding the API key in your code is not recommended.
You can set default tags for all API requests using the option.WithDefaultTags
option. For example:
client := b1client.NewAPIClient(option.WithDefaultTags(map[string]string{"tag1": "value1", "tag2": "value2"}))
This will add the tags tag1=value1
and tag2=value2
to all API requests that support tags in the request body.