Skip to content

Commit

Permalink
distinct package naming
Browse files Browse the repository at this point in the history
  • Loading branch information
m-terra committed Sep 28, 2022
1 parent 9189fc4 commit a1bd7d9
Show file tree
Hide file tree
Showing 18 changed files with 117 additions and 115 deletions.
10 changes: 5 additions & 5 deletions example/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"log"

"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver/port"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver/virtualserverport"
"github.com/ureuzy/acos-client-go/pkg/client"
)

Expand All @@ -25,10 +25,10 @@ func main() {
log.Fatal(err)
}

_, err = c.Slb.VirtualServerPort.CreateList(&port.ListBody{
ListObjects: port.ListObjects{
port.Object{PortNumber: 80, Protocol: "http"},
port.Object{PortNumber: 443, Protocol: "https"},
_, err = c.Slb.VirtualServerPort.CreateList(&virtualserverport.ListBody{
ListObjects: virtualserverport.ListObjects{
virtualserverport.Object{PortNumber: 80, Protocol: "http"},
virtualserverport.Object{PortNumber: 443, Protocol: "https"},
},
}, virtualServer.Name)
if err != nil {
Expand Down
12 changes: 6 additions & 6 deletions pkg/axapi/gslb/gslb.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/policy"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/serviceip"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/site"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/site/ipserver"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/site/siteipserver"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/zone"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/zone/service"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/zone/zoneservice"
"github.com/ureuzy/acos-client-go/pkg/rest"
"github.com/ureuzy/acos-client-go/utils"
)
Expand All @@ -17,18 +17,18 @@ type Operator struct {
Policy rest.Operator[policy.Body, policy.ListBody]
ServiceIP rest.Operator[serviceip.Body, serviceip.ListBody]
Site rest.Operator[site.Body, site.ListBody]
SiteIPServer rest.Operator[ipserver.Body, ipserver.ListBody]
SiteIPServer rest.Operator[siteipserver.Body, siteipserver.ListBody]
Zone rest.Operator[zone.Body, zone.ListBody]
ZoneService rest.Operator[service.Body, service.ListBody]
ZoneService rest.Operator[zoneservice.Body, zoneservice.ListBody]
}

func New(c utils.HTTPClient) *Operator {
return &Operator{
Policy: policy.New(c, path),
ServiceIP: serviceip.New(c, path),
Site: site.New(c, path),
SiteIPServer: ipserver.New(c, path),
SiteIPServer: siteipserver.New(c, path),
Zone: zone.New(c, path),
ZoneService: service.New(c, path),
ZoneService: zoneservice.New(c, path),
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package port
package serviceipport

import (
"fmt"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package port
package serviceipport

import "github.com/ureuzy/acos-client-go/pkg/axapi/shared"

Expand Down
4 changes: 2 additions & 2 deletions pkg/axapi/gslb/serviceip/types.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package serviceip

import (
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/serviceip/port"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/serviceip/serviceipport"
"github.com/ureuzy/acos-client-go/pkg/axapi/shared"
)

Expand All @@ -19,5 +19,5 @@ type Object struct {
HealthCheckProtocolDisable shared.Boolean `json:"health-check-protocol-disable,omitempty"`
HealthCheckDisable shared.Boolean `json:"health-check-disable,omitempty"`
SamplingEnable []shared.SamplingEnable `json:"sampling-enable,omitempty"` //"enum":["all","hits","recent"]
PortList []port.Port `json:"port-list,omitempty"`
PortList []serviceipport.Port `json:"port-list,omitempty"`
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ipserver
package siteipserver

import (
"fmt"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ipserver
package siteipserver

import "github.com/ureuzy/acos-client-go/pkg/axapi/shared"

Expand Down
34 changes: 17 additions & 17 deletions pkg/axapi/gslb/site/types.go
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
package site

import (
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/site/ipserver"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/site/siteipserver"
"github.com/ureuzy/acos-client-go/pkg/axapi/shared"
)

// Object Docs: https://acos.docs.a10networks.com/axapi/521p2/axapiv3/gslb_site.html#site-attributes
type Object struct {
shared.AxaBase `json:",inline"`
SiteName string `json:"site-name,omitempty"`
AutoMap shared.Boolean `json:"auto-map,omitempty"`
Disable shared.Boolean `json:"disable,omitempty"`
Weight int `json:"weight,omitempty"`
MultipleGeoLocations []string `json:"multiple-geo-locations,omitempty"`
Template string `json:"template,omitempty"`
BwCost int `json:"bw-cost,omitempty"`
Limit int `json:"limit,omitempty"`
Threshold int `json:"threshold,omitempty"`
ProtoAgingTime int `json:"proto-aging-time,omitempty"`
ProtoAgingFast shared.Boolean `json:"proto-aging-fast,omitempty"`
Controller string `json:"controller,omitempty"`
IPServerList []ipserver.IPServer `json:"ip-server-list,omitempty"`
ActiveRdt ActiveRdt `json:"active-rdt,omitempty"`
EasyRdt EasyRdt `json:"easy-rdt,omitempty"`
SlbDevList []SlbDevList `json:"slb-dev-list,omitempty"`
SiteName string `json:"site-name,omitempty"`
AutoMap shared.Boolean `json:"auto-map,omitempty"`
Disable shared.Boolean `json:"disable,omitempty"`
Weight int `json:"weight,omitempty"`
MultipleGeoLocations []string `json:"multiple-geo-locations,omitempty"`
Template string `json:"template,omitempty"`
BwCost int `json:"bw-cost,omitempty"`
Limit int `json:"limit,omitempty"`
Threshold int `json:"threshold,omitempty"`
ProtoAgingTime int `json:"proto-aging-time,omitempty"`
ProtoAgingFast shared.Boolean `json:"proto-aging-fast,omitempty"`
Controller string `json:"controller,omitempty"`
IPServerList []siteipserver.IPServer `json:"ip-server-list,omitempty"`
ActiveRdt ActiveRdt `json:"active-rdt,omitempty"`
EasyRdt EasyRdt `json:"easy-rdt,omitempty"`
SlbDevList []SlbDevList `json:"slb-dev-list,omitempty"`
}

type ActiveRdt struct {
Expand Down
24 changes: 12 additions & 12 deletions pkg/axapi/gslb/zone/types.go
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
package zone

import (
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/zone/service"
"github.com/ureuzy/acos-client-go/pkg/axapi/gslb/zone/zoneservice"
"github.com/ureuzy/acos-client-go/pkg/axapi/shared"
)

// Object Docs: https://acos.docs.a10networks.com/axapi/521p2/axapiv3/gslb_zone.html#zone-attributes
type Object struct {
shared.AxaBase `json:",inline"`
Name string `json:"name,omitempty"`
Disable shared.Boolean `json:"disable,omitempty"`
Policy string `json:"policy,omitempty"`
Template Template `json:"template,omitempty"`
TTL int `json:"ttl,omitempty"`
UseServerTTL shared.Boolean `json:"use-server-ttl,omitempty"`
DNSSOARecord service.DNSSOARecord `json:"dns-soa-record,omitempty"`
SamplingEnable []shared.SamplingEnable `json:"sampling-enable,omitempty"` //"enum":[ "all", "received-query", "sent-response", "proxy-mode-response", "cache-mode-response", "server-mode-response", "sticky-mode-response", "backup-mode-response"]
DNSMXRecordList []service.DNSMXRecord `json:"dns-mx-record-list,omitempty"`
DNSNSRecordList []service.DNSNSRecord `json:"dns-ns-record-list,omitempty"`
ServiceList []service.Service `json:"service-list,omitempty"`
Name string `json:"name,omitempty"`
Disable shared.Boolean `json:"disable,omitempty"`
Policy string `json:"policy,omitempty"`
Template Template `json:"template,omitempty"`
TTL int `json:"ttl,omitempty"`
UseServerTTL shared.Boolean `json:"use-server-ttl,omitempty"`
DNSSOARecord zoneservice.DNSSOARecord `json:"dns-soa-record,omitempty"`
SamplingEnable []shared.SamplingEnable `json:"sampling-enable,omitempty"` //"enum":[ "all", "received-query", "sent-response", "proxy-mode-response", "cache-mode-response", "server-mode-response", "sticky-mode-response", "backup-mode-response"]
DNSMXRecordList []zoneservice.DNSMXRecord `json:"dns-mx-record-list,omitempty"`
DNSNSRecordList []zoneservice.DNSNSRecord `json:"dns-ns-record-list,omitempty"`
ServiceList []zoneservice.Service `json:"service-list,omitempty"`
}

type Template struct {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package service
package zoneservice

import (
"fmt"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package service
package zoneservice

import (
"github.com/ureuzy/acos-client-go/pkg/axapi/shared"
Expand Down
6 changes: 3 additions & 3 deletions pkg/axapi/health/health.go
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package health

import (
"github.com/ureuzy/acos-client-go/pkg/axapi/health/monitor"
"github.com/ureuzy/acos-client-go/pkg/axapi/health/healthmonitor"
"github.com/ureuzy/acos-client-go/pkg/rest"
"github.com/ureuzy/acos-client-go/utils"
)

const path = "health"

type Operator struct {
Montitor rest.Operator[monitor.Body, monitor.ListBody]
Montitor rest.Operator[healthmonitor.Body, healthmonitor.ListBody]
}

func New(c utils.HTTPClient) *Operator {
return &Operator{
Montitor: monitor.New(c, path),
Montitor: healthmonitor.New(c, path),
}
}
25 changes: 25 additions & 0 deletions pkg/axapi/health/healthmonitor/monitor.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package healthmonitor

import (
"fmt"

"github.com/ureuzy/acos-client-go/pkg/rest"
"github.com/ureuzy/acos-client-go/utils"
)

// Docs: https://acos.docs.a10networks.com/axapi/521p2/axapiv3/health_monitor.html

func New(c utils.HTTPClient, basePath string) rest.Operator[Body, ListBody] {
const path = "monitor"
return rest.Rest[Body, ListBody](c, fmt.Sprintf("%s/%s", basePath, path))
}

type ListBody struct {
ListObjects `json:"monitor-list,omitempty"`
}

type Body struct {
Object `json:"monitor,omitempty"`
}

type ListObjects []Object
Original file line number Diff line number Diff line change
@@ -1,29 +1,6 @@
package monitor
package healthmonitor

import (
"fmt"

"github.com/ureuzy/acos-client-go/pkg/axapi/shared"
"github.com/ureuzy/acos-client-go/pkg/rest"
"github.com/ureuzy/acos-client-go/utils"
)

// Docs: https://acos.docs.a10networks.com/axapi/521p2/axapiv3/health_monitor.html

func New(c utils.HTTPClient, basePath string) rest.Operator[Body, ListBody] {
const path = "monitor"
return rest.Rest[Body, ListBody](c, fmt.Sprintf("%s/%s", basePath, path))
}

type ListBody struct {
ListObjects `json:"monitor-list,omitempty"`
}

type Body struct {
Object `json:"monitor,omitempty"`
}

type ListObjects []Object
import "github.com/ureuzy/acos-client-go/pkg/axapi/shared"

type Object struct {
shared.AxaBase `json:",inline"`
Expand Down
6 changes: 3 additions & 3 deletions pkg/axapi/slb/slb.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package slb
import (
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/server"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver/port"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver/virtualserverport"
"github.com/ureuzy/acos-client-go/pkg/rest"
"github.com/ureuzy/acos-client-go/utils"
)
Expand All @@ -13,13 +13,13 @@ const path = "slb"
type Operator struct {
Server rest.Operator[server.Body, server.ListBody]
VirtualServer rest.Operator[virtualserver.Body, virtualserver.ListBody]
VirtualServerPort rest.Operator[port.Body, port.ListBody]
VirtualServerPort rest.Operator[virtualserverport.Body, virtualserverport.ListBody]
}

func New(c utils.HTTPClient) *Operator {
return &Operator{
Server: server.New(c, path),
VirtualServer: virtualserver.New(c, path),
VirtualServerPort: port.New(c, path),
VirtualServerPort: virtualserverport.New(c, path),
}
}
52 changes: 26 additions & 26 deletions pkg/axapi/slb/virtualserver/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,37 @@ package virtualserver

import (
"github.com/ureuzy/acos-client-go/pkg/axapi/shared"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver/port"
"github.com/ureuzy/acos-client-go/pkg/axapi/slb/virtualserver/virtualserverport"
)

// Object Docs: https://documentation.a10networks.com/ACOS/414x/ACOS_4_1_4-P1/html/axapiv3/slb_virtual_server.html#virtual-server-attributes
type Object struct {
shared.AxaBase `json:",inline"`
ACLID int `json:"acl-id,omitempty"`
ACLName string `json:"acl-name,omitempty"`
ArpDisable shared.Boolean `json:"arp-disable,omitempty"`
Description string `json:"description,omitempty"`
DisableVipAdv shared.Boolean `json:"disable-vip-adv,omitempty"`
EnableDisableAction string `json:"enable-disable-action,omitempty"`
Ethernet int `json:"ethernet,omitempty"`
ExtendedStats shared.Boolean `json:"extended-stats,omitempty"`
HADynamic int `json:"ha-dynamic,omitempty"`
IPAddress string `json:"ip-address"`
IPv6ACL string `json:"ipv6-acl,omitempty"`
IPv6Address string `json:"ipv6-address,omitempty"`
MigrateVIP *MigrateVip `json:"migrate-vip,omitempty"`
Name string `json:"name"`
Netmask string `json:"netmask,omitempty"`
PortList *port.ListObjects `json:"port-list,omitempty"`
RedistributeRouteMap string `json:"redistribute-route-map,omitempty"`
RedistributionFlagged shared.Boolean `json:"redistribution-flagged,omitempty"`
StatsDataAction string `json:"stats-data-action,omitempty"`
TemplateLogging string `json:"template-logging,omitempty"`
TemplatePolicy string `json:"template-policy,omitempty"`
TemplateScaleout string `json:"template-scaleout,omitempty"`
TemplateVirtualServer string `json:"template-virtual-server,omitempty"`
UseIfIP shared.Boolean `json:"use-if-ip,omitempty"`
VRID int `json:"vrid,omitempty"`
ACLID int `json:"acl-id,omitempty"`
ACLName string `json:"acl-name,omitempty"`
ArpDisable shared.Boolean `json:"arp-disable,omitempty"`
Description string `json:"description,omitempty"`
DisableVipAdv shared.Boolean `json:"disable-vip-adv,omitempty"`
EnableDisableAction string `json:"enable-disable-action,omitempty"`
Ethernet int `json:"ethernet,omitempty"`
ExtendedStats shared.Boolean `json:"extended-stats,omitempty"`
HADynamic int `json:"ha-dynamic,omitempty"`
IPAddress string `json:"ip-address"`
IPv6ACL string `json:"ipv6-acl,omitempty"`
IPv6Address string `json:"ipv6-address,omitempty"`
MigrateVIP *MigrateVip `json:"migrate-vip,omitempty"`
Name string `json:"name"`
Netmask string `json:"netmask,omitempty"`
PortList *virtualserverport.ListObjects `json:"port-list,omitempty"`
RedistributeRouteMap string `json:"redistribute-route-map,omitempty"`
RedistributionFlagged shared.Boolean `json:"redistribution-flagged,omitempty"`
StatsDataAction string `json:"stats-data-action,omitempty"`
TemplateLogging string `json:"template-logging,omitempty"`
TemplatePolicy string `json:"template-policy,omitempty"`
TemplateScaleout string `json:"template-scaleout,omitempty"`
TemplateVirtualServer string `json:"template-virtual-server,omitempty"`
UseIfIP shared.Boolean `json:"use-if-ip,omitempty"`
VRID int `json:"vrid,omitempty"`
}
type ListObjects []Object

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package port
package virtualserverport

import (
"fmt"
Expand All @@ -15,3 +15,11 @@ func New(c utils.HTTPClient, basePath string) rest.Operator[Body, ListBody] {
const path = "virtual-server/%s/port"
return rest.Rest[Body, ListBody](c, fmt.Sprintf("%s/%s", basePath, path))
}

type ListBody struct {
ListObjects `json:"port-list"`
}

type Body struct {
Object `json:"port"`
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
package port
package virtualserverport

import "github.com/ureuzy/acos-client-go/pkg/axapi/shared"

type ListBody struct {
ListObjects `json:"port-list"`
}

type Body struct {
Object `json:"port"`
}

// Object Docs: https://documentation.a10networks.com/ACOS/414x/ACOS_4_1_4-P1/html/axapiv3/slb_virtual_server_port.html#port-attributes
type Object struct {
shared.AxaBase `json:",inline"`
Expand Down

0 comments on commit a1bd7d9

Please sign in to comment.