~juju-qa/ubuntu/xenial/juju/2.0-rc2

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/core/description/linklayerdevice.go

  • Committer: Nicholas Skaggs
  • Date: 2016-09-30 14:39:30 UTC
  • mfrom: (1.8.1)
  • Revision ID: nicholas.skaggs@canonical.com-20160930143930-vwwhrefh6ftckccy
import upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
 
11
11
type linklayerdevices struct {
12
12
        Version           int                `yaml:"version"`
13
 
        LinkLayerDevices_ []*linklayerdevice `yaml:"linklayerdevices"`
 
13
        LinkLayerDevices_ []*linklayerdevice `yaml:"link-layer-devices"`
14
14
}
15
15
 
16
16
type linklayerdevice struct {
17
17
        Name_        string `yaml:"name"`
18
18
        MTU_         uint   `yaml:"mtu"`
19
19
        ProviderID_  string `yaml:"provider-id,omitempty"`
20
 
        MachineID_   string `yaml:"machineid"`
 
20
        MachineID_   string `yaml:"machine-id"`
21
21
        Type_        string `yaml:"type"`
22
 
        MACAddress_  string `yaml:"macaddress"`
23
 
        IsAutoStart_ bool   `yaml:"isautostart"`
24
 
        IsUp_        bool   `yaml:"isup"`
25
 
        ParentName_  string `yaml:"parentname"`
 
22
        MACAddress_  string `yaml:"mac-address"`
 
23
        IsAutoStart_ bool   `yaml:"is-autostart"`
 
24
        IsUp_        bool   `yaml:"is-up"`
 
25
        ParentName_  string `yaml:"parent-name"`
26
26
}
27
27
 
28
28
// ProviderID implements LinkLayerDevice.
99
99
}
100
100
 
101
101
func importLinkLayerDevices(source map[string]interface{}) ([]*linklayerdevice, error) {
102
 
        checker := versionedChecker("linklayerdevices")
 
102
        checker := versionedChecker("link-layer-devices")
103
103
        coerced, err := checker.Coerce(source, nil)
104
104
        if err != nil {
105
 
                return nil, errors.Annotatef(err, "linklayerdevices version schema check failed")
 
105
                return nil, errors.Annotatef(err, "link-layer-devices version schema check failed")
106
106
        }
107
107
        valid := coerced.(map[string]interface{})
108
108
 
111
111
        if !ok {
112
112
                return nil, errors.NotValidf("version %d", version)
113
113
        }
114
 
        sourceList := valid["linklayerdevices"].([]interface{})
 
114
        sourceList := valid["link-layer-devices"].([]interface{})
115
115
        return importLinkLayerDeviceList(sourceList, importFunc)
116
116
}
117
117
 
120
120
        for i, value := range sourceList {
121
121
                source, ok := value.(map[string]interface{})
122
122
                if !ok {
123
 
                        return nil, errors.Errorf("unexpected value for linklayerdevice %d, %T", i, value)
 
123
                        return nil, errors.Errorf("unexpected value for link-layer-device %d, %T", i, value)
124
124
                }
125
125
                linklayerdevice, err := importFunc(source)
126
126
                if err != nil {
127
 
                        return nil, errors.Annotatef(err, "linklayerdevice %d", i)
 
127
                        return nil, errors.Annotatef(err, "link-layer-device %d", i)
128
128
                }
129
129
                result = append(result, linklayerdevice)
130
130
        }
139
139
 
140
140
func importLinkLayerDeviceV1(source map[string]interface{}) (*linklayerdevice, error) {
141
141
        fields := schema.Fields{
142
 
                "provider-id": schema.String(),
143
 
                "machineid":   schema.String(),
144
 
                "name":        schema.String(),
145
 
                "mtu":         schema.Int(),
146
 
                "type":        schema.String(),
147
 
                "macaddress":  schema.String(),
148
 
                "isautostart": schema.Bool(),
149
 
                "isup":        schema.Bool(),
150
 
                "parentname":  schema.String(),
 
142
                "provider-id":  schema.String(),
 
143
                "machine-id":   schema.String(),
 
144
                "name":         schema.String(),
 
145
                "mtu":          schema.Int(),
 
146
                "type":         schema.String(),
 
147
                "mac-address":  schema.String(),
 
148
                "is-autostart": schema.Bool(),
 
149
                "is-up":        schema.Bool(),
 
150
                "parent-name":  schema.String(),
151
151
        }
152
152
        // Some values don't have to be there.
153
153
        defaults := schema.Defaults{
162
162
        valid := coerced.(map[string]interface{})
163
163
        return &linklayerdevice{
164
164
                ProviderID_:  valid["provider-id"].(string),
165
 
                MachineID_:   valid["machineid"].(string),
 
165
                MachineID_:   valid["machine-id"].(string),
166
166
                Name_:        valid["name"].(string),
167
167
                MTU_:         uint(valid["mtu"].(int64)),
168
168
                Type_:        valid["type"].(string),
169
 
                MACAddress_:  valid["macaddress"].(string),
170
 
                IsAutoStart_: valid["isautostart"].(bool),
171
 
                IsUp_:        valid["isup"].(bool),
172
 
                ParentName_:  valid["parentname"].(string),
 
169
                MACAddress_:  valid["mac-address"].(string),
 
170
                IsAutoStart_: valid["is-autostart"].(bool),
 
171
                IsUp_:        valid["is-up"].(bool),
 
172
                ParentName_:  valid["parent-name"].(string),
173
173
        }, nil
174
174
}