@@ -22,7 +22,6 @@ func (s *state) patch(j *job) error {
22
22
Path string
23
23
Value interface {}
24
24
OkIfExists bool `json:"ok_if_exists"`
25
- IPV6 * bool
26
25
}
27
26
getParams (j , & p )
28
27
c := change {val : p .Value , okIfExists : p .OkIfExists }
@@ -31,19 +30,13 @@ func (s *state) patch(j *job) error {
31
30
if len (p .Path ) == 0 {
32
31
return fmt .Errorf ("Invalid empty path" )
33
32
}
34
- var ipv6 bool
35
- if p .IPV6 != nil {
36
- ipv6 = * p .IPV6
37
- } else {
38
- ipv6 = s .IPV6
39
- }
40
33
path := strings .Split (p .Path , "," )
41
- top , names , err := s .findToplevel (path , ipv6 , c )
34
+ top , names , err := s .findToplevel (path , c )
42
35
if err != nil {
43
36
return err
44
37
}
45
38
if top == nil {
46
- return s .addToplevel (path [0 ], ipv6 , c )
39
+ return s .addToplevel (path [0 ], c )
47
40
}
48
41
process := func () error {
49
42
if len (names ) == 0 {
@@ -99,9 +92,8 @@ func (s *state) patch(j *job) error {
99
92
return err
100
93
}
101
94
102
- func (s * state ) findToplevel (names []string , ipv6 bool , c change ,
95
+ func (s * state ) findToplevel (names []string , c change ,
103
96
) (ast.Toplevel , []string , error ) {
104
-
105
97
topName := names [0 ]
106
98
var top ast.Toplevel
107
99
if strings .HasPrefix (topName , "host:" ) {
@@ -139,21 +131,15 @@ func (s *state) findToplevel(names []string, ipv6 bool, c change,
139
131
}
140
132
return top , names , nil
141
133
} else {
142
- isRouter := strings .HasPrefix (topName , "router:" )
143
134
names = names [1 :]
144
135
s .Modify (func (t ast.Toplevel ) bool {
145
- if t .GetName () == topName && ( ! isRouter || t . GetIPV6 () == ipv6 ) {
136
+ if t .GetName () == topName {
146
137
top = t
147
138
return true // Mark as modified.
148
139
}
149
140
return false
150
141
})
151
142
if top == nil && len (names ) > 0 {
152
- if isRouter {
153
- ipvx := getIPvX (ipv6 )
154
- return nil , nil , fmt .Errorf (
155
- "Can't modify unknown %s '%s'" , ipvx , topName )
156
- }
157
143
return nil , nil , fmt .Errorf (
158
144
"Can't modify unknown toplevel object '%s'" , topName )
159
145
}
@@ -389,7 +375,7 @@ func newAttribute(l *[]*ast.Attribute, name string, c change) error {
389
375
return nil
390
376
}
391
377
392
- func (s * state ) addToplevel (name string , ipv6 bool , c change ) error {
378
+ func (s * state ) addToplevel (name string , c change ) error {
393
379
if c .method == "delete" {
394
380
return fmt .Errorf ("Can't %s unknown toplevel node '%s'" , c .method , name )
395
381
}
@@ -398,7 +384,7 @@ func (s *state) addToplevel(name string, ipv6 bool, c change) error {
398
384
if err != nil {
399
385
return err
400
386
}
401
- s .AddTopLevel (a , ipv6 )
387
+ s .AddTopLevel (a )
402
388
return nil
403
389
}
404
390
@@ -485,11 +471,7 @@ func (s *state) patchToplevel(n ast.Toplevel, c change) error {
485
471
if c .okIfExists {
486
472
return nil
487
473
}
488
- ipvx := ""
489
- if r , ok := n .(* ast.Router ); ok {
490
- ipvx = getIPvX (r .IPV6 ) + " "
491
- }
492
- return fmt .Errorf ("%s'%s' already exists" , ipvx , n .GetName ())
474
+ return fmt .Errorf ("'%s' already exists" , n .GetName ())
493
475
}
494
476
495
477
func getTopList (name string , m map [string ]interface {}) (ast.Toplevel , error ) {
@@ -730,10 +712,3 @@ func getElementList(val interface{}) ([]ast.Element, error) {
730
712
}
731
713
return elements , nil
732
714
}
733
-
734
- func getIPvX (v6 bool ) string {
735
- if v6 {
736
- return "IPv6"
737
- }
738
- return "IPv4"
739
- }
0 commit comments