Compare commits

...

11 Commits

Author SHA1 Message Date
deed8eb64d Handle 201 Created as 200 OK 2025-04-18 21:13:57 +02:00
32e66e46da more omit 2025-04-18 19:58:47 +02:00
9a6bf18774 more omit 2025-04-18 19:31:40 +02:00
c4acd30bfb More omitempty 2025-04-18 11:38:50 +02:00
3a991266a1 More omitempty 2025-04-18 11:35:19 +02:00
ad412ef42b More omitempty 2025-04-18 11:29:17 +02:00
e72621290e More omitempty 2025-04-18 11:19:41 +02:00
42434bf718 omitempty for NetworkIDs in destination 2025-04-18 11:17:01 +02:00
abe6ce09b2 omitempty for NetworkIDs in destination 2025-04-18 11:12:52 +02:00
d008cac359 typo 2025-04-17 11:57:05 +02:00
96cf5ac987 follow casing conventions 2025-04-17 10:35:49 +02:00
2 changed files with 25 additions and 25 deletions

View File

@@ -7,42 +7,42 @@ import (
type FirewallDestination struct { type FirewallDestination struct {
IPGroupID string `json:"ip_group_id"` IPGroupID string `json:"ip_group_id"`
Ips []string `json:"ips"` IPs []string `json:"ips,omitempty"`
MatchOppositeIps bool `json:"match_opposite_ips"` MatchOppositeIPs bool `json:"match_opposite_ips"`
MatchOppositePorts bool `json:"match_opposite_ports"` MatchOppositePorts bool `json:"match_opposite_ports"`
MatchingTarget string `json:"matching_target"` MatchingTarget string `json:"matching_target"`
MatchingTargetType string `json:"matching_target_type"` MatchingTargetType string `json:"matching_target_type"`
NetworkIDs [] string `json:"network_ids"` NetworkIDs [] string `json:"network_ids,omitempty"`
Port string `json:"port"` Port string `json:"port,omitempty"`
PortGroupID string `json:"port_group_id"` PortGroupID string `json:"port_group_id"`
PortMatchingType string `json:"port_matching_type"` PortMatchingType string `json:"port_matching_type"`
Regions []string `json:"regions"` Regions []string `json:"regions,omitempty"`
ZoneID string `json:"zone_id"` ZoneID string `json:"zone_id"`
} }
type FirewallSource struct { type FirewallSource struct {
ClientMacs []string `json:"client_macs"` ClientMacs []string `json:"client_macs,omitempty"`
Ips []string `json:"ips"` IPs []string `json:"ips,omitempty"`
MatchMac bool `json:"match_mac"` MatchMac bool `json:"match_mac"`
MatchOppositeIps bool `json:"match_opposite_ips"` MatchOppositeIPs bool `json:"match_opposite_ips"`
MatchOppositeNetworks bool `json:"match_opposite_networks"` MatchOppositeNetworks bool `json:"match_opposite_networks"`
MatchOppositePorts bool `json:"match_opposite_ports"` MatchOppositePorts bool `json:"match_opposite_ports"`
MatchingTarget string `json:"matching_target"` MatchingTarget string `json:"matching_target,omitempty"`
MatchingTargetType string `json:"matching_target_type"` MatchingTargetType string `json:"matching_target_type,omitempty"`
NetworkIDs []string `json:"network_ids"` NetworkIDs []string `json:"network_ids,omitempty"`
Port string `json:"port"` Port string `json:"port,omitempty"`
PortMatchingType string `json:"port_matching_type"` PortMatchingType string `json:"port_matching_type,omitempty"`
ZoneID string `json:"zone_id"` ZoneID string `json:"zone_id,omitempty"`
} }
type FirewallSchedule struct { type FirewallSchedule struct {
Mode string `json:"mode"` Mode string `json:"mode"`
DateStart string `json:"date_start"` DateStart string `json:"date_start,omitempty"`
DateEnd string `json:"date_end"` DateEnd string `json:"date_end,omitempty"`
RepeatOnDays []string `json:"repeat_on_days"` RepeatOnDays []string `json:"repeat_on_days"`
TimeAllDay bool `json:"time_all_day"` TimeAllDay bool `json:"time_all_day"`
TimeRangeStart string `json:"time_range_start"` TimeRangeStart string `json:"time_range_start,omitempty"`
TimeRangeEnd string `json:"time_range_end"` TimeRangeEnd string `json:"time_range_end,omitempty"`
} }
type FirewallPolicy struct { type FirewallPolicy struct {
@@ -60,17 +60,17 @@ type FirewallPolicy struct {
Description string `json:"description"` Description string `json:"description"`
Destination FirewallDestination `json:"destination"` Destination FirewallDestination `json:"destination"`
Enabled bool `json:"enabled"` Enabled bool `json:"enabled"`
IcmpTypename string `json:"icmp_typename"` ICMPTypename string `json:"icmp_typename"`
IcmpV6Typename string `json:"icmp_v6_typename"` ICMPV6Typename string `json:"icmp_v6_typename"`
Index int64 `json:"index"` Index int64 `json:"index"`
IPVersion string `json:"ip_version"` IPVersion string `json:"ip_version"`
Logging bool `json:"logging"` Logging bool `json:"logging"`
MatchIPSec bool `json:"match_ip_sec"` MatchIPSec bool `json:"match_ip_sec"`
MatchIPSecType string `json:"match_ip_sec_type"` MatchIPSecType string `json:"match_ip_sec_type,omitempty"`
MatchOppositeProtocol bool `json:"match_opposite_protocol"` MatchOppositeProtocol bool `json:"match_opposite_protocol"`
Name string `json:"name"` Name string `json:"name"`
OriginID string `json:"origin_id"` OriginID string `json:"origin_id,omitempty"`
OriginType string `json:"origin_type"` OriginType string `json:"origin_type,omitempty"`
Predefined bool `json:"predefined"` Predefined bool `json:"predefined"`
Protocol string `json:"protocol"` Protocol string `json:"protocol"`
Schedule FirewallSchedule `json:"schedule"` Schedule FirewallSchedule `json:"schedule"`
@@ -112,7 +112,7 @@ func (c *Client) DeleteFirewallPolicy(ctx context.Context, site, id string) erro
return nil return nil
} }
func (c *Client) CreaateFirewallPolicy(ctx context.Context, site string, d *FirewallPolicy) (*FirewallPolicy, error) { func (c *Client) CreateFirewallPolicy(ctx context.Context, site string, d *FirewallPolicy) (*FirewallPolicy, error) {
var respBody FirewallPolicy var respBody FirewallPolicy
err := c.do_versioned(ctx, "V2", "POST", fmt.Sprintf("site/%s/firewall-policies", site), d, &respBody) err := c.do_versioned(ctx, "V2", "POST", fmt.Sprintf("site/%s/firewall-policies", site), d, &respBody)

View File

@@ -255,7 +255,7 @@ func (c *Client) do_versioned(ctx context.Context, version, method, relativeURL
c.csrf = resp.Header.Get("X-Csrf-Token") c.csrf = resp.Header.Get("X-Csrf-Token")
} }
if resp.StatusCode != http.StatusOK { if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {
errBody := struct { errBody := struct {
Meta meta `json:"meta"` Meta meta `json:"meta"`
Data []struct { Data []struct {