README
¶
IBM Cloud SDK for Go
bluemix-go provides the Go implementation for operating the IBM Cloud platform, which is based on the Cloud Foundry API.
Installing
- Install the SDK using the following command
go get github.com/IBM-Cloud/bluemix-go
- 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.
On the left, click "IBM Cloud API Keys"
Press "Create API Key"
Pick a name and description for your key
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.
Documentation
¶
Index ¶
Constants ¶
const ( //ErrMissingRegionCode .. ErrMissingRegionCode = "MissingRegion" //ErrInvalidConfigurationCode .. ErrInvalidConfigurationCode = "InvalidConfiguration" //ErrInsufficientCredentials .. ErrInsufficientCredentials = "InsufficientCredentials" )
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 ¶
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") //CertificateManager ... CertificateManager ServiceName = ServiceName("certificate-manager") //CisService ... CisService ServiceName = ServiceName("cis") //ContainerService ... ContainerService ServiceName = ServiceName("container") //ContainerService ... VpcContainerService ServiceName = ServiceName("containerv2") //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") //IAMUUMServicev2 ... IAMUUMServicev2 ServiceName = ServiceName("iamuumv2") //IAMPAPServicev2 ... IAMPAPServicev2 ServiceName = ServiceName("iampapv2") //ICDService ... ICDService ServiceName = ServiceName("icd") //MccpService ... MccpService ServiceName = ServiceName("mccp") //resourceManagementService ResourceManagementService ServiceName = ServiceName("resource-management") //resourceManagementService ResourceManagementServicev2 ServiceName = ServiceName("resource-managementv2") //resourceControllerService ResourceControllerService ServiceName = ServiceName("resource-controller") //resourceControllerServicev2 ResourceControllerServicev2 ServiceName = ServiceName("resource-controllerv2") //resourceCatalogService ResourceCatalogrService ServiceName = ServiceName("resource-catalog ") //UAAService ... UAAService ServiceName = ServiceName("uaa") //CSEService CseService ServiceName = ServiceName("cse") //SchematicsService ... SchematicsService ServiceName = ServiceName("schematics") //UserManagement ... UserManagement ServiceName = ServiceName("user-management") //HPCService ... HPCService ServiceName = ServiceName("hpcs") )
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) |