~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/Azure/azure-sdk-for-go/management/vmutils/configurationset.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package vmutils
 
2
 
 
3
import (
 
4
        vm "github.com/Azure/azure-sdk-for-go/management/virtualmachine"
 
5
)
 
6
 
 
7
func updateOrAddConfig(configs []vm.ConfigurationSet, configType vm.ConfigurationSetType, update func(*vm.ConfigurationSet)) []vm.ConfigurationSet {
 
8
        config := findConfig(configs, configType)
 
9
        if config == nil {
 
10
                configs = append(configs, vm.ConfigurationSet{ConfigurationSetType: configType})
 
11
                config = findConfig(configs, configType)
 
12
        }
 
13
        update(config)
 
14
 
 
15
        return configs
 
16
}
 
17
 
 
18
func findConfig(configs []vm.ConfigurationSet, configType vm.ConfigurationSetType) *vm.ConfigurationSet {
 
19
        for i, config := range configs {
 
20
                if config.ConfigurationSetType == configType {
 
21
                        // need to return a pointer to the original set in configs,
 
22
                        // not the copy made by the range iterator
 
23
                        return &configs[i]
 
24
                }
 
25
        }
 
26
 
 
27
        return nil
 
28
}