in src/terraform/providers/terraform-provider-avere/averevfxt.go [1161:1206]
func (a *AvereVfxt) CreateAzureStorageFiler(azureStorageFiler *AzureStorageFiler) error {
credentials, err := a.AvereCommand(a.getListCredentialsCommand())
if err != nil {
return err
}
type Credentials struct {
Name string `json:"name"`
}
var resultsRaw []Credentials
if err := json.Unmarshal([]byte(credentials), &resultsRaw); err != nil {
return err
}
credentialsFound := false
for _, credential := range resultsRaw {
if credential.Name == azureStorageFiler.GetCloudFilerName() {
credentialsFound = true
break
}
}
if !credentialsFound {
createCredentialsCommand, err := a.getCreateAzureStorageCredentialsCommand(azureStorageFiler)
if err != nil {
return err
}
if _, err := a.AvereCommand(createCredentialsCommand); err != nil {
return err
}
}
// ensure the filer has a container
if err = azureStorageFiler.PrepareForFilerCreation(a); err != nil {
return err
}
// create the storage core filer
createAzureStorageFilerCommand, err := a.getCreateAzureStorageFilerCommand(azureStorageFiler)
if err != nil {
return err
}
if _, err := a.AvereCommand(createAzureStorageFilerCommand); err != nil {
return err
}
log.Printf("[INFO] vfxt: ensure stable cluster after adding storage filer")
if err := a.EnsureClusterStable(); err != nil {
return err
}
return nil
}