/
traffic_management.go
38 lines (33 loc) · 1.08 KB
/
traffic_management.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package provider
import "github.com/get-bridge/terraform-provider-spinnaker/client"
type trafficManagement struct {
Enabled bool `mapstructure:"enabled"`
Options *[]*trafficManagementOptions `mapstructure:"options"`
}
func newTrafficManagement() *trafficManagement {
return &trafficManagement{
Enabled: false,
Options: &[]*trafficManagementOptions{},
}
}
func toClientTrafficManagement(trafficeManagement *[]*trafficManagement) *client.TrafficManagement {
if trafficeManagement != nil {
for _, t := range *trafficeManagement {
newTM := client.NewTrafficManagement()
newTM.Enabled = t.Enabled
newTM.Options = toClientTrafficManagementOptions(t.Options)
return newTM
}
}
return nil
}
func fromClientTrafficManagement(clientTrafficManagement *client.TrafficManagement) *[]*trafficManagement {
if clientTrafficManagement == nil {
return nil
}
t := newTrafficManagement()
t.Enabled = clientTrafficManagement.Enabled
t.Options = fromClientTrafficManagementOptions(clientTrafficManagement.Options)
newArray := []*trafficManagement{t}
return &newArray
}