bluemix

package module
v0.0.0-...-8be0c7b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

README

IBM Cloud SDK for Go

Build Status GoDoc

bluemix-go provides the Go implementation for operating the IBM Cloud platform, which is based on the Cloud Foundry API.

Installing

  1. Install the SDK using the following command
go get github.com/IBM-Cloud/bluemix-go
  1. Update the SDK to the latest version using the following command
go get -u github.com/IBM-Cloud/bluemix-go

Using the SDK

You must have a working IBM Cloud account to use the APIs. Sign up if you don't have one.

The SDK has examples folder which cites few examples on how to use the SDK. First you need to create a session.

import "github.com/IBM-Cloud/bluemix-go/session"

func main(){

    s := session.New()
    .....
}

Creating session in this way creates a default configuration which reads the value from the environment variables. You must export the following environment variables.

  • IBMID - This is the IBM ID
  • IBMID_PASSWORD - This is the password for the above ID

OR

  • IC_API_KEY/IBMCLOUD_API_KEY - This is the Bluemix API Key. Login to IBMCloud to create one if you don't already have one. See instructions below for creating an API Key.

The default region is us_south. You can override it in the Config struct. You can also provide the value via environment variables; either via IC_REGION or IBMCLOUD_REGION. Valid regions are -

  • us-south
  • us-east
  • eu-gb
  • eu-de
  • au-syd
  • jp-tok

The maximum retries is 3. You can override it in the Config struct. You can also provide the value via environment variable; via MAX_RETRIES

Creating an IBM Cloud API Key

First, navigate to the IBM Cloud console and use the Manage toolbar to access IAM.

Access IAM from the Manage toolbar

On the left, click "IBM Cloud API Keys"

Click IBM Cloud API Keys

Press "Create API Key"

Press Create API Key

Pick a name and description for your key

Set name and description

You have created a key! Press the eyeball to show the key. Copy or save it because keys can't be displayed or downloaded twice.

Your key is now created

Documentation

Index

Constants

View Source
const (
	//ErrMissingRegionCode ..
	ErrMissingRegionCode = "MissingRegion"

	//ErrInvalidConfigurationCode ..
	ErrInvalidConfigurationCode = "InvalidConfiguration"

	//ErrInsufficientCredentials ..
	ErrInsufficientCredentials = "InsufficientCredentials"
)
View Source
const Version = "0.1"

Version is the SDK version

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	IBMID string

	IBMIDPassword string

	BluemixAPIKey string

	IAMAccessToken  string
	IAMRefreshToken string
	UAAAccessToken  string
	UAARefreshToken string

	//Region is optional. If region is not provided then endpoint must be provided
	Region string
	//ResourceGroupID
	ResourceGroup string
	//Endpoint is optional. If endpoint is not provided then endpoint must be obtained from region via EndpointLocator
	Endpoint *string
	//TokenProviderEndpoint is optional. If endpoint is not provided then endpoint must be obtained from region via EndpointLocator
	TokenProviderEndpoint *string
	EndpointLocator       endpoints.EndpointLocator
	MaxRetries            *int
	RetryDelay            *time.Duration

	HTTPTimeout time.Duration

	Debug bool

	HTTPClient *http.Client

	SSLDisable bool
}

Config ...

func (*Config) Copy

func (c *Config) Copy(mccpgs ...*Config) *Config

Copy allows the configuration to be overriden or added Typically the endpoints etc

func (*Config) ValidateConfigForService

func (c *Config) ValidateConfigForService(svc ServiceName) error

ValidateConfigForService ...

type ServiceName

type ServiceName string

ServiceName ..

const (
	//AccountService ...
	AccountService ServiceName = ServiceName("account")
	//AccountServicev1 ...
	AccountServicev1 ServiceName = ServiceName("accountv1")
	//CisService ...
	CisService ServiceName = ServiceName("cis")
	//ContainerService ...
	ContainerService ServiceName = ServiceName("container")
	//RegistryService ...
	ContainerRegistryService ServiceName = ServiceName("container-registry")
	//GlobalSearchService ...
	GlobalSearchService ServiceName = ServiceName("global-search")
	//GlobalTaggingService ...
	GlobalTaggingService ServiceName = ServiceName("global-tagging")
	//IAMService ...
	IAMService ServiceName = ServiceName("iam")
	//IAMPAPService
	IAMPAPService ServiceName = ServiceName("iampap")
	//IAMUUMService ...
	IAMUUMService ServiceName = ServiceName("iamuum")
	//ICDService ...
	ICDService ServiceName = ServiceName("icd")
	//MccpService ...
	MccpService ServiceName = ServiceName("mccp")
	//resourceManagementService
	ResourceManagementService ServiceName = ServiceName("resource-management")
	//resourceControllerService
	ResourceControllerService ServiceName = ServiceName("resource-controller")
	//resourceCatalogService
	ResourceCatalogrService ServiceName = ServiceName("resource-catalog ")
	//UAAService ...
	UAAService ServiceName = ServiceName("uaa")
	//CSEService
	CseService ServiceName = ServiceName("cse")
)

Directories

Path Synopsis
api
Package client provides a generic client to be used by all services
Package client provides a generic client to be used by all services
examples
Sending request: client := NewClient() var foo = struct { Bar string }{} var apiErr = struct { Message string }{} resp, err := client.Do(request, &foo, &apiErr)
Sending request: client := NewClient() var foo = struct { Bar string }{} var apiErr = struct { Message string }{} resp, err := client.Do(request, &foo, &apiErr)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL