Skip to content

Instantly share code, notes, and snippets.

@jacobbednarz
Created November 17, 2023 01:41
Show Gist options
  • Save jacobbednarz/57245ff4c77be94127294a761fd9d00f to your computer and use it in GitHub Desktop.
Save jacobbednarz/57245ff4c77be94127294a761fd9d00f to your computer and use it in GitHub Desktop.
From 05322a4c5aa8aa1296eac64c8ccdcd95c75f8092 Mon Sep 17 00:00:00 2001
From: Jacob Bednarz <jacob.bednarz@gmail.com>
Date: Fri, 17 Nov 2023 11:36:06 +1100
Subject: [PATCH 2/2] s/Ip/IP
---
.changelog/1428.txt | 2 +-
ip_access_rules.go | 54 ++++++++++++++---------------
ip_access_rules_test.go | 76 ++++++++++++++++++++---------------------
3 files changed, 65 insertions(+), 67 deletions(-)
diff --git a/.changelog/1428.txt b/.changelog/1428.txt
index 84a8a68..f0c3236 100644
--- a/.changelog/1428.txt
+++ b/.changelog/1428.txt
@@ -1,3 +1,3 @@
```release-note:enhancement
-ip_access_rules: Add ListIpAccessRules() to list IP Access Rules
+ip_access_rules: Add ListIPAccessRules() to list IP Access Rules
```
diff --git a/ip_access_rules.go b/ip_access_rules.go
index 7a7dd63..58d29cd 100644
--- a/ip_access_rules.go
+++ b/ip_access_rules.go
@@ -8,34 +8,33 @@ import (
"github.com/goccy/go-json"
)
-type ListIpAccessRulesOrderOption string
-type ListIpAccessRulesMatchOption string
+type ListIPAccessRulesOrderOption string
+type ListIPAccessRulesMatchOption string
type IPAccessRulesModeOption string
const (
- IpAccessRulesConfigurationTarget ListIpAccessRulesOrderOption = "configuration.target"
- IpAccessRulesConfigurationValue ListIpAccessRulesOrderOption = "configuration.value"
- IpAccessRulesMode ListIpAccessRulesOrderOption = "mode"
- MatchOptionAll ListIpAccessRulesMatchOption = "all"
- MatchOptionAny ListIpAccessRulesMatchOption = "any"
- IpAccessRulesModeBlock IPAccessRulesModeOption = "block"
- IpAccessRulesModeChallenge IPAccessRulesModeOption = "challenge"
- IpAccessRulesModeJsChallenge IPAccessRulesModeOption = "js_challenge"
- IpAccessRulesModeManagedChallenge IPAccessRulesModeOption = "managed_challenge"
- IpAccessRulesModeWhitelist IPAccessRulesModeOption = "whitelist"
+ IPAccessRulesConfigurationTarget ListIPAccessRulesOrderOption = "configuration.target"
+ IPAccessRulesConfigurationValue ListIPAccessRulesOrderOption = "configuration.value"
+ IPAccessRulesMatchOptionAll ListIPAccessRulesMatchOption = "all"
+ IPAccessRulesMatchOptionAny ListIPAccessRulesMatchOption = "any"
+ IPAccessRulesModeBlock IPAccessRulesModeOption = "block"
+ IPAccessRulesModeChallenge IPAccessRulesModeOption = "challenge"
+ IPAccessRulesModeJsChallenge IPAccessRulesModeOption = "js_challenge"
+ IPAccessRulesModeManagedChallenge IPAccessRulesModeOption = "managed_challenge"
+ IPAccessRulesModeWhitelist IPAccessRulesModeOption = "whitelist"
)
-type ListIpAccessRulesFilters struct {
+type ListIPAccessRulesFilters struct {
Configuration IPAccessRuleConfiguration `json:"configuration,omitempty"`
- Match ListIpAccessRulesMatchOption `json:"match,omitempty"`
+ Match ListIPAccessRulesMatchOption `json:"match,omitempty"`
Mode IPAccessRulesModeOption `json:"mode,omitempty"`
Notes string `json:"notes,omitempty"`
}
-type ListIpAccessRulesParams struct {
+type ListIPAccessRulesParams struct {
Direction string `url:"direction,omitempty"`
- Filters ListIpAccessRulesFilters `url:"filters,omitempty"`
- Order ListIpAccessRulesOrderOption `url:"order,omitempty"`
+ Filters ListIPAccessRulesFilters `url:"filters,omitempty"`
+ Order ListIPAccessRulesOrderOption `url:"order,omitempty"`
PaginationOptions
}
@@ -44,7 +43,7 @@ type IPAccessRuleConfiguration struct {
Value string `json:"value,omitempty"`
}
-type IpAccessRule struct {
+type IPAccessRule struct {
AllowedModes []IPAccessRulesModeOption `json:"allowed_modes"`
Configuration IPAccessRuleConfiguration `json:"configuration"`
CreatedOn string `json:"created_on"`
@@ -54,37 +53,36 @@ type IpAccessRule struct {
Notes string `json:"notes"`
}
-type ListIpAccessRulesResponse struct {
- Result []IpAccessRule `json:"result"`
+type ListIPAccessRulesResponse struct {
+ Result []IPAccessRule `json:"result"`
ResultInfo `json:"result_info"`
Response
}
-// ListIpAccessRules
-//
-// Fetches IP Access rules of a zone/user/account. You can filter the results using several optional parameters.
+// ListIPAccessRules fetches IP Access rules of a zone/user/account. You can
+// filter the results using several optional parameters.
//
// API references:
// - https://developers.cloudflare.com/api/operations/ip-access-rules-for-a-user-list-ip-access-rules
// - https://developers.cloudflare.com/api/operations/ip-access-rules-for-a-zone-list-ip-access-rules
// - https://developers.cloudflare.com/api/operations/ip-access-rules-for-an-account-list-ip-access-rules
-func (api *API) ListIpAccessRules(ctx context.Context, rc *ResourceContainer, params ListIpAccessRulesParams) ([]IpAccessRule, *ResultInfo, error) {
+func (api *API) ListIPAccessRules(ctx context.Context, rc *ResourceContainer, params ListIPAccessRulesParams) ([]IPAccessRule, *ResultInfo, error) {
if rc.Identifier == "" {
- return []IpAccessRule{}, &ResultInfo{}, ErrMissingResourceIdentifier
+ return []IPAccessRule{}, &ResultInfo{}, ErrMissingResourceIdentifier
}
uri := buildURI(fmt.Sprintf("/%s/%s/firewall/access_rules/rules", rc.Level, rc.Identifier), params)
res, err := api.makeRequestContext(ctx, http.MethodGet, uri, nil)
if err != nil {
- return []IpAccessRule{}, &ResultInfo{}, err
+ return []IPAccessRule{}, &ResultInfo{}, err
}
- result := ListIpAccessRulesResponse{}
+ result := ListIPAccessRulesResponse{}
err = json.Unmarshal(res, &result)
if err != nil {
- return []IpAccessRule{}, &ResultInfo{}, fmt.Errorf("%s: %w", errUnmarshalError, err)
+ return []IPAccessRule{}, &ResultInfo{}, fmt.Errorf("%s: %w", errUnmarshalError, err)
}
return result.Result, &result.ResultInfo, nil
diff --git a/ip_access_rules_test.go b/ip_access_rules_test.go
index e25ce27..4eba124 100644
--- a/ip_access_rules_test.go
+++ b/ip_access_rules_test.go
@@ -123,14 +123,14 @@ func TestListIPAccessRules(t *testing.T) {
}
mux.HandleFunc("/zones/d56084adb405e0b7e32c52321bf07be6/firewall/access_rules/rules", handler)
- want := []IpAccessRule{
+ want := []IPAccessRule{
{
AllowedModes: []IPAccessRulesModeOption{
- IpAccessRulesModeWhitelist,
- IpAccessRulesModeBlock,
- IpAccessRulesModeChallenge,
- IpAccessRulesModeJsChallenge,
- IpAccessRulesModeManagedChallenge,
+ IPAccessRulesModeWhitelist,
+ IPAccessRulesModeBlock,
+ IPAccessRulesModeChallenge,
+ IPAccessRulesModeJsChallenge,
+ IPAccessRulesModeManagedChallenge,
},
ID: "f2d427378e7542acb295380d352e2ebd",
Configuration: IPAccessRuleConfiguration{
@@ -144,11 +144,11 @@ func TestListIPAccessRules(t *testing.T) {
},
{
AllowedModes: []IPAccessRulesModeOption{
- IpAccessRulesModeWhitelist,
- IpAccessRulesModeBlock,
- IpAccessRulesModeChallenge,
- IpAccessRulesModeJsChallenge,
- IpAccessRulesModeManagedChallenge,
+ IPAccessRulesModeWhitelist,
+ IPAccessRulesModeBlock,
+ IPAccessRulesModeChallenge,
+ IPAccessRulesModeJsChallenge,
+ IPAccessRulesModeManagedChallenge,
},
ID: "92f17202ed8bd63d69a66b86a49a8f6b",
Configuration: IPAccessRuleConfiguration{
@@ -162,11 +162,11 @@ func TestListIPAccessRules(t *testing.T) {
},
{
AllowedModes: []IPAccessRulesModeOption{
- IpAccessRulesModeWhitelist,
- IpAccessRulesModeBlock,
- IpAccessRulesModeChallenge,
- IpAccessRulesModeJsChallenge,
- IpAccessRulesModeManagedChallenge,
+ IPAccessRulesModeWhitelist,
+ IPAccessRulesModeBlock,
+ IPAccessRulesModeChallenge,
+ IPAccessRulesModeJsChallenge,
+ IPAccessRulesModeManagedChallenge,
},
ID: "4ae338944d6143378c3cf05a7c77d983",
Configuration: IPAccessRuleConfiguration{
@@ -180,11 +180,11 @@ func TestListIPAccessRules(t *testing.T) {
},
{
AllowedModes: []IPAccessRulesModeOption{
- IpAccessRulesModeWhitelist,
- IpAccessRulesModeBlock,
- IpAccessRulesModeChallenge,
- IpAccessRulesModeJsChallenge,
- IpAccessRulesModeManagedChallenge,
+ IPAccessRulesModeWhitelist,
+ IPAccessRulesModeBlock,
+ IPAccessRulesModeChallenge,
+ IPAccessRulesModeJsChallenge,
+ IPAccessRulesModeManagedChallenge,
},
ID: "52161eb6af4241bb9d4b32394be72fdf",
Configuration: IPAccessRuleConfiguration{
@@ -198,11 +198,11 @@ func TestListIPAccessRules(t *testing.T) {
},
{
AllowedModes: []IPAccessRulesModeOption{
- IpAccessRulesModeWhitelist,
- IpAccessRulesModeBlock,
- IpAccessRulesModeChallenge,
- IpAccessRulesModeJsChallenge,
- IpAccessRulesModeManagedChallenge,
+ IPAccessRulesModeWhitelist,
+ IPAccessRulesModeBlock,
+ IPAccessRulesModeChallenge,
+ IPAccessRulesModeJsChallenge,
+ IPAccessRulesModeManagedChallenge,
},
ID: "cbf4b7a5a2a24e59a03044d6d44ceb09",
Configuration: IPAccessRuleConfiguration{
@@ -216,8 +216,8 @@ func TestListIPAccessRules(t *testing.T) {
},
}
- actual, _, err := client.ListIpAccessRules(context.Background(),
- ZoneIdentifier("d56084adb405e0b7e32c52321bf07be6"), ListIpAccessRulesParams{})
+ actual, _, err := client.ListIPAccessRules(context.Background(),
+ ZoneIdentifier("d56084adb405e0b7e32c52321bf07be6"), ListIPAccessRulesParams{})
if assert.NoError(t, err) {
assert.Equal(t, want, actual)
@@ -266,14 +266,14 @@ func TestListIPAccessRulesWithParams(t *testing.T) {
}
mux.HandleFunc("/zones/d56084adb405e0b7e32c52321bf07be6/firewall/access_rules/rules", handler)
- want := []IpAccessRule{
+ want := []IPAccessRule{
{
AllowedModes: []IPAccessRulesModeOption{
- IpAccessRulesModeWhitelist,
- IpAccessRulesModeBlock,
- IpAccessRulesModeChallenge,
- IpAccessRulesModeJsChallenge,
- IpAccessRulesModeManagedChallenge,
+ IPAccessRulesModeWhitelist,
+ IPAccessRulesModeBlock,
+ IPAccessRulesModeChallenge,
+ IPAccessRulesModeJsChallenge,
+ IPAccessRulesModeManagedChallenge,
},
ID: "cbf4b7a5a2a24e59a03044d6d44ceb09",
Configuration: IPAccessRuleConfiguration{
@@ -287,10 +287,10 @@ func TestListIPAccessRulesWithParams(t *testing.T) {
},
}
- actual, _, err := client.ListIpAccessRules(context.Background(),
- ZoneIdentifier("d56084adb405e0b7e32c52321bf07be6"), ListIpAccessRulesParams{
+ actual, _, err := client.ListIPAccessRules(context.Background(),
+ ZoneIdentifier("d56084adb405e0b7e32c52321bf07be6"), ListIPAccessRulesParams{
Direction: "asc",
- Filters: ListIpAccessRulesFilters{
+ Filters: ListIPAccessRulesFilters{
Configuration: IPAccessRuleConfiguration{
Target: "ip",
},
@@ -298,7 +298,7 @@ func TestListIPAccessRulesWithParams(t *testing.T) {
Mode: "manage_challenge",
Notes: "This rule is enabled because we like the challenge page.",
},
- Order: IpAccessRulesConfigurationTarget,
+ Order: IPAccessRulesConfigurationTarget,
PaginationOptions: PaginationOptions{
Page: 1,
PerPage: 100,
--
2.41.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment