/networking-go-sdk

IBM Cloud Networking Services Go SDK

Primary LanguageGoApache License 2.0Apache-2.0

Build Status Release GitHub go.mod Go version License semantic-release

IBM Cloud Networking Go SDK Version 0.49.0

Go client library to interact with the various IBM Cloud Networking Service APIs.

Table of Contents

Overview

The IBM Cloud Networking Go SDK allows developers to programmatically interact with the following IBM Cloud services:

Service Name Package name
Transit Gateway Service transitgatewayapisv1
Direct Link Service directlinkv1
Direct Link Provider Service directlinkproviderv2
CIS: Cache cachingapiv1
CIS: IP cisipapiv1
CIS: Custom Pages custompagesv1
CIS: DNS Records Bulk dnsrecordbulkv1
CIS: DNS Records dnsrecordsv1
CIS: Firewall Access Rules firewallaccessrulesv1
CIS: Security Level Settings firewallapiv1
CIS: GLB Events globalloadbalancereventsv1
CIS: GLB Monitor globalloadbalancermonitorv1
CIS: GLB Pools globalloadbalancerpoolsv0
CIS: GLB Service globalloadbalancerv1
CIS: Page Rules pageruleapiv1
CIS: Range Application rangeapplicationsv1
CIS: Routing routingv1
CIS: Rulesets rulesetsv1
CIS: Security Events securityeventsapiv1
CIS: SSL/TLS sslcertificateapiv1
CIS: User Agent Blocking Rules useragentblockingrulesv1
CIS: WAF Settings wafapiv1
CIS: WAF Rule Groups wafrulegroupsapiv1
CIS: WAF Rule Packages wafrulepackagesapiv1
CIS: WAF Rules wafrulesapiv1
CIS: Zone Firewall Access Rules zonefirewallaccessrulesv1
CIS: Zone Lockdown zonelockdownv1
CIS: Zone Rate Limits zoneratelimitsv1
CIS: Zone Settings zonessettingsv1
CIS: Zones zonesv1
PDNS: DNS Zones dnszonesv1 dnssvcsv1
PDNS: Resource Records resourcerecordsv1 dnssvcsv1
PDNS: Permitted Networks permittednetworksfordnszonesv1 dnssvcsv1
PDNS: Global Load Balancers globalloadbalancersv1 dnssvcsv1
PDNS: DNS Services dnssvcsv1

Prerequisites

  • An IBM Cloud account.
  • An IAM API key to allow the SDK to access your account. Create one here.
  • Go version 1.12 or above.

Installation

The current version of this SDK: 0.49.0

There are a few different ways to download and install the Networking Go SDK project for use by your Go application:

go get command

Use this command to download and install the SDK to allow your Go application to use it:

go get -u github.com/IBM/networking-go-sdk

Go modules

If your application is using Go modules, you can add a suitable import to your Go application, like this:

import (
  "github.com/IBM/networking-go-sdk/transitgatewayapisv1"
  "github.com/IBM/networking-go-sdk/directlinkv1"
  "github.com/IBM/networking-go-sdk/directlinkproviderv2"
  "github.com/IBM/networking-go-sdk/cachingapiv1"
  "github.com/IBM/networking-go-sdk/cisipapiv1"
  "github.com/IBM/networking-go-sdk/custompagesv1"
  "github.com/IBM/networking-go-sdk/dnsrecordbulkv1"
  "github.com/IBM/networking-go-sdk/dnsrecordsv1"
  "github.com/IBM/networking-go-sdk/firewallaccessrulesv1"
  "github.com/IBM/networking-go-sdk/firewallapiv1"
  "github.com/IBM/networking-go-sdk/globalloadbalancereventsv1"
  "github.com/IBM/networking-go-sdk/globalloadbalancermonitorv1"
  "github.com/IBM/networking-go-sdk/globalloadbalancerpoolsv0"
  "github.com/IBM/networking-go-sdk/globalloadbalancerv1"
  "github.com/IBM/networking-go-sdk/pageruleapiv1"
  "github.com/IBM/networking-go-sdk/rangeapplicationsv1"
  "github.com/IBM/networking-go-sdk/routingv1"
  "github.com/IBM/networking-go-sdk/rulestsv1"
  "github.com/IBM/networking-go-sdk/securityeventsapiv1"
  "github.com/IBM/networking-go-sdk/sslcertificateapiv1"
  "github.com/IBM/networking-go-sdk/useragentblockingrulesv1"
  "github.com/IBM/networking-go-sdk/wafapiv1"
  "github.com/IBM/networking-go-sdk/wafrulegroupsapiv1"
  "github.com/IBM/networking-go-sdk/wafrulepackagesapiv1"
  "github.com/IBM/networking-go-sdk/wafrulesapiv1"
  "github.com/IBM/networking-go-sdk/zonefirewallaccessrulesv1"
  "github.com/IBM/networking-go-sdk/zonelockdownv1"
  "github.com/IBM/networking-go-sdk/zoneratelimitsv1"
  "github.com/IBM/networking-go-sdk/zonessettingsv1"
  "github.com/IBM/networking-go-sdk/zonesv1"
  "github.com/IBM/networking-go-sdk/dnszonesv1"
  "github.com/IBM/networking-go-sdk/resourcerecordsv1"
  "github.com/IBM/networking-go-sdk/permittednetworksfordnszonesv1"`
  "github.com/IBM/networking-go-sdk/globalloadbalancersv1"
  "github.com/IBM/networking-go-sdk/dnssvcsv1"
)

then run go mod tidy to download and install the new dependency and update your Go application's go.mod file.

dep dependency manager

If your application is using the dep dependency management tool, you can add a dependency to your Gopkg.toml file. Here is an example:

[[constraint]]
  name = "github.com/IBM/networking-go-sdk"
  version = "0.49.0"

then run dep ensure.

Using the SDK

For general SDK usage information, please see this link

Questions

If you are having difficulties using this SDK or have a question about the IBM Cloud services, please ask a question at Stack Overflow.

Issues

If you encounter an issue with the project, you are welcome to submit a bug report. Before that, please search for similar issues. It's possible that someone has already reported the problem.

Deprecation Notice

For deprecation notice, please see this link

Open source @ IBM

Find more open source projects on the IBM Github Page

Contributing

See CONTRIBUTING.

License

This SDK project is released under the Apache 2.0 license. The license's full text can be found in LICENSE.