mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-09-20 14:56:20 +08:00
7fd6a74e0c
Co-authored-by: Josh Zhang <jzhang1@stackoverflow.com>
107 lines
2.3 KiB
Go
107 lines
2.3 KiB
Go
package cloudflare_test
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"log"
|
|
|
|
cloudflare "github.com/cloudflare/cloudflare-go"
|
|
)
|
|
|
|
func ExampleAPI_ListZoneAccessRules_all() {
|
|
api, err := cloudflare.New("deadbeef", "test@example.org")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
zoneID, err := api.ZoneIDByName("example.com")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Fetch all access rules for a zone
|
|
response, err := api.ListZoneAccessRules(context.Background(), zoneID, cloudflare.AccessRule{}, 1)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, r := range response.Result {
|
|
fmt.Printf("%s: %s\n", r.Configuration.Value, r.Mode)
|
|
}
|
|
}
|
|
|
|
func ExampleAPI_ListZoneAccessRules_filterByIP() {
|
|
api, err := cloudflare.New("deadbeef", "test@example.org")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
zoneID, err := api.ZoneIDByName("example.com")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Fetch only access rules whose target is 198.51.100.1
|
|
localhost := cloudflare.AccessRule{
|
|
Configuration: cloudflare.AccessRuleConfiguration{Target: "198.51.100.1"},
|
|
}
|
|
response, err := api.ListZoneAccessRules(context.Background(), zoneID, localhost, 1)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, r := range response.Result {
|
|
fmt.Printf("%s: %s\n", r.Configuration.Value, r.Mode)
|
|
}
|
|
}
|
|
|
|
func ExampleAPI_ListZoneAccessRules_filterByMode() {
|
|
api, err := cloudflare.New("deadbeef", "test@example.org")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
zoneID, err := api.ZoneIDByName("example.com")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Fetch access rules with an action of "block"
|
|
foo := cloudflare.AccessRule{
|
|
Mode: "block",
|
|
}
|
|
response, err := api.ListZoneAccessRules(context.Background(), zoneID, foo, 1)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, r := range response.Result {
|
|
fmt.Printf("%s: %s\n", r.Configuration.Value, r.Mode)
|
|
}
|
|
}
|
|
|
|
func ExampleAPI_ListZoneAccessRules_filterByNote() {
|
|
api, err := cloudflare.New("deadbeef", "test@example.org")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
zoneID, err := api.ZoneIDByName("example.com")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Fetch only access rules with notes containing "example"
|
|
foo := cloudflare.AccessRule{
|
|
Notes: "example",
|
|
}
|
|
response, err := api.ListZoneAccessRules(context.Background(), zoneID, foo, 1)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, r := range response.Result {
|
|
fmt.Printf("%s: %s\n", r.Configuration.Value, r.Mode)
|
|
}
|
|
}
|