// GetTestClient returns a management Client for testing. Expects // AZSUBSCRIPTIONID and AZCERTDATA to be present in the environment. AZCERTDATA // is the base64encoded binary representation of the PEM certificate data. func GetTestClient(t *testing.T) management.Client { subid := os.Getenv("AZSUBSCRIPTIONID") certdata := os.Getenv("AZCERTDATA") if subid == "" || certdata == "" { t.Skip("AZSUBSCRIPTIONID or AZCERTDATA not set, skipping test") } cert, err := base64.StdEncoding.DecodeString(certdata) if err != nil { t.Fatal(err) } client, err := management.NewClient(subid, cert) if err != nil { t.Fatal(err) } return testClient{client, t} }
// NewClient returns a new Azure management client created // using a subscription ID and certificate. func (c *Config) NewClient() (*Client, error) { mc, err := management.NewClient(c.SubscriptionID, c.Certificate) if err != nil { return nil, nil } return &Client{ mgmtClient: mc, affinityGroupClient: affinitygroup.NewClient(mc), hostedServiceClient: hostedservice.NewClient(mc), secGroupClient: networksecuritygroup.NewClient(mc), osImageClient: osimage.NewClient(mc), sqlClient: sql.NewClient(mc), storageServiceClient: storageservice.NewClient(mc), vmClient: virtualmachine.NewClient(mc), vmDiskClient: virtualmachinedisk.NewClient(mc), vmImageClient: virtualmachineimage.NewClient(mc), vnetClient: virtualnetwork.NewClient(mc), mutex: &sync.Mutex{}, }, nil }