func (env *azureEnviron) getStorageAccountLocked(refresh bool) (*storage.Account, error) { if !refresh && env.storageAccount != nil { return env.storageAccount, nil } client := storage.AccountsClient{env.storage} var account storage.Account if err := env.callAPI(func() (autorest.Response, error) { var err error account, err = client.GetProperties(env.resourceGroup, env.storageAccountName) return account.Response, err }); err != nil { if account.Response.Response != nil && account.Response.StatusCode == http.StatusNotFound { return nil, errors.NewNotFound(err, fmt.Sprintf("storage account not found")) } return nil, errors.Annotate(err, "getting storage account") } env.storageAccount = &account return env.storageAccount, nil }