@@ -7,37 +7,61 @@ import (
7
7
"net/http"
8
8
)
9
9
10
+ // NetworkIPServiceResponse represents the response structure for Network IP service operations.
11
+ type NetworkIPServiceResponse struct {
12
+ Name string `json:"name"`
13
+ Description string `json:"description"`
14
+ NetworkItemType string `json:"networkItemType"`
15
+ NetworkItemID string `json:"networkItemId"`
16
+ ID string `json:"id"`
17
+ Type string `json:"type"`
18
+ Config * IPServiceConfig `json:"config"`
19
+ Routes []* Route `json:"routes"`
20
+ }
21
+
22
+ // NetworkIPServicePageResponse represents a paginated response from the CloudConnexa API
23
+ // containing a list of IP services and pagination metadata.
24
+ type NetworkIPServicePageResponse struct {
25
+ Content []NetworkIPServiceResponse `json:"content"`
26
+ NumberOfElements int `json:"numberOfElements"`
27
+ Page int `json:"page"`
28
+ Size int `json:"size"`
29
+ Success bool `json:"success"`
30
+ TotalElements int `json:"totalElements"`
31
+ TotalPages int `json:"totalPages"`
32
+ }
33
+
10
34
// NetworkIPServicesService handles communication with the CloudConnexa IP Services API
11
35
type NetworkIPServicesService service
12
36
13
37
// GetIPByPage retrieves a page of IP services with pagination
14
38
// page: The page number to retrieve
15
39
// pageSize: The number of items per page
16
40
// Returns a page of IP services and any error that occurred
17
- func (c * NetworkIPServicesService ) GetIPByPage (page int , pageSize int ) (IPServicePageResponse , error ) {
41
+ func (c * NetworkIPServicesService ) GetIPByPage (page int , pageSize int ) (NetworkIPServicePageResponse , error ) {
18
42
endpoint := fmt .Sprintf ("%s/networks/ip-services?page=%d&size=%d" , c .client .GetV1Url (), page , pageSize )
19
43
req , err := http .NewRequest (http .MethodGet , endpoint , nil )
20
44
if err != nil {
21
- return IPServicePageResponse {}, err
45
+ return NetworkIPServicePageResponse {}, err
22
46
}
23
47
24
48
body , err := c .client .DoRequest (req )
25
49
if err != nil {
26
- return IPServicePageResponse {}, err
50
+ return NetworkIPServicePageResponse {}, err
27
51
}
28
52
29
- var response IPServicePageResponse
53
+ var response NetworkIPServicePageResponse
30
54
err = json .Unmarshal (body , & response )
31
55
if err != nil {
32
- return IPServicePageResponse {}, err
56
+ return NetworkIPServicePageResponse {}, err
33
57
}
34
58
return response , nil
35
59
}
36
60
37
61
// List retrieves all IP services by paginating through all available pages
38
62
// Returns a slice of IP services and any error that occurred
39
- func (c * NetworkIPServicesService ) List () ([]IPServiceResponse , error ) {
40
- var allIPServices []IPServiceResponse
63
+ func (c * NetworkIPServicesService ) List () ([]NetworkIPServiceResponse , error ) {
64
+ var allIPServices []NetworkIPServiceResponse
41
65
page := 0
42
66
pageSize := 10
43
67
@@ -59,7 +83,7 @@ func (c *NetworkIPServicesService) List() ([]IPServiceResponse, error) {
59
83
// Get retrieves a specific IP service by its ID
60
84
// id: The ID of the IP service to retrieve
61
85
// Returns the IP service and any error that occurred
62
- func (c * NetworkIPServicesService ) Get (id string ) (* IPServiceResponse , error ) {
86
+ func (c * NetworkIPServicesService ) Get (id string ) (* NetworkIPServiceResponse , error ) {
63
87
endpoint := fmt .Sprintf ("%s/networks/ip-services/%s" , c .client .GetV1Url (), id )
64
88
req , err := http .NewRequest (http .MethodGet , endpoint , nil )
65
89
if err != nil {
@@ -71,7 +95,7 @@ func (c *NetworkIPServicesService) Get(id string) (*IPServiceResponse, error) {
71
95
return nil , err
72
96
}
73
97
74
- var service IPServiceResponse
98
+ var service NetworkIPServiceResponse
75
99
err = json .Unmarshal (body , & service )
76
100
if err != nil {
77
101
return nil , err
@@ -82,7 +106,7 @@ func (c *NetworkIPServicesService) Get(id string) (*IPServiceResponse, error) {
82
106
// Create creates a new IP service
83
107
// ipService: The IP service configuration to create
84
108
// Returns the created IP service and any error that occurred
85
- func (c * NetworkIPServicesService ) Create (ipService * IPService ) (* IPServiceResponse , error ) {
109
+ func (c * NetworkIPServicesService ) Create (ipService * IPService ) (* NetworkIPServiceResponse , error ) {
86
110
ipServiceJSON , err := json .Marshal (ipService )
87
111
if err != nil {
88
112
return nil , err
@@ -100,7 +124,7 @@ func (c *NetworkIPServicesService) Create(ipService *IPService) (*IPServiceRespo
100
124
return nil , err
101
125
}
102
126
103
- var s IPServiceResponse
127
+ var s NetworkIPServiceResponse
104
128
err = json .Unmarshal (body , & s )
105
129
if err != nil {
106
130
return nil , err
@@ -112,7 +136,7 @@ func (c *NetworkIPServicesService) Create(ipService *IPService) (*IPServiceRespo
112
136
// id: The ID of the IP service to update
113
137
// service: The updated IP service configuration
114
138
// Returns the updated IP service and any error that occurred
115
- func (c * NetworkIPServicesService ) Update (id string , service * IPService ) (* IPServiceResponse , error ) {
139
+ func (c * NetworkIPServicesService ) Update (id string , service * IPService ) (* NetworkIPServiceResponse , error ) {
116
140
serviceJSON , err := json .Marshal (service )
117
141
if err != nil {
118
142
return nil , err
@@ -130,7 +154,7 @@ func (c *NetworkIPServicesService) Update(id string, service *IPService) (*IPSer
130
154
return nil , err
131
155
}
132
156
133
- var s IPServiceResponse
157
+ var s NetworkIPServiceResponse
134
158
err = json .Unmarshal (body , & s )
135
159
if err != nil {
136
160
return nil , err
0 commit comments