File: requests.go

package info (click to toggle)
golang-github-gophercloud-gophercloud 0.0~git20180917.45f1c769-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,768 kB
  • sloc: sh: 98; makefile: 14
file content (43 lines) | stat: -rw-r--r-- 1,221 bytes parent folder | download | duplicates (3)
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
39
40
41
42
43
package routerinsertion

import (
	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/firewalls"
)

// CreateOptsExt adds the RouterIDs option to the base CreateOpts.
type CreateOptsExt struct {
	firewalls.CreateOptsBuilder
	RouterIDs []string `json:"router_ids"`
}

// ToFirewallCreateMap adds router_ids to the base firewall creation options.
func (opts CreateOptsExt) ToFirewallCreateMap() (map[string]interface{}, error) {
	base, err := opts.CreateOptsBuilder.ToFirewallCreateMap()
	if err != nil {
		return nil, err
	}

	firewallMap := base["firewall"].(map[string]interface{})
	firewallMap["router_ids"] = opts.RouterIDs

	return base, nil
}

// UpdateOptsExt adds the RouterIDs option to the base UpdateOpts.
type UpdateOptsExt struct {
	firewalls.UpdateOptsBuilder
	RouterIDs []string `json:"router_ids"`
}

// ToFirewallUpdateMap adds router_ids to the base firewall update options.
func (opts UpdateOptsExt) ToFirewallUpdateMap() (map[string]interface{}, error) {
	base, err := opts.UpdateOptsBuilder.ToFirewallUpdateMap()
	if err != nil {
		return nil, err
	}

	firewallMap := base["firewall"].(map[string]interface{})
	firewallMap["router_ids"] = opts.RouterIDs

	return base, nil
}