Skip to content

Commit dc969f9

Browse files
authored
Merge pull request #66 from OpenVPN/add-av-dns-log-settings
Add settings for AV and DNS Log
2 parents 4808bd9 + e4e6711 commit dc969f9

File tree

1 file changed

+82
-40
lines changed

1 file changed

+82
-40
lines changed

cloudconnexa/settings.go

Lines changed: 82 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -42,27 +42,27 @@ type SettingsService service
4242

4343
// GetTrustedDevicesAllowed retrieves whether trusted devices are allowed
4444
func (c *SettingsService) GetTrustedDevicesAllowed() (bool, error) {
45-
return c.getBool("/auth/trusted-devices-allowed")
45+
return c.getBool("%s/settings/auth/trusted-devices-allowed")
4646
}
4747

4848
// SetTrustedDevicesAllowed sets whether trusted devices are allowed
4949
func (c *SettingsService) SetTrustedDevicesAllowed(value bool) (bool, error) {
50-
return c.setBool("/auth/trusted-devices-allowed", value)
50+
return c.setBool("%s/settings/auth/trusted-devices-allowed", value)
5151
}
5252

5353
// GetTwoFactorAuthEnabled retrieves whether two-factor authentication is enabled
5454
func (c *SettingsService) GetTwoFactorAuthEnabled() (bool, error) {
55-
return c.getBool("/auth/two-factor-auth")
55+
return c.getBool("%s/settings/auth/two-factor-auth")
5656
}
5757

5858
// SetTwoFactorAuthEnabled sets whether two-factor authentication is enabled
5959
func (c *SettingsService) SetTwoFactorAuthEnabled(value bool) (bool, error) {
60-
return c.setBool("/auth/two-factor-auth", value)
60+
return c.setBool("%s/settings/auth/two-factor-auth", value)
6161
}
6262

6363
// GetDNSServers retrieves the current DNS server configuration
6464
func (c *SettingsService) GetDNSServers() (*DNSServers, error) {
65-
body, err := c.get("/dns/custom-servers")
65+
body, err := c.get("%s/settings/dns/custom-servers")
6666
if err != nil {
6767
return nil, err
6868
}
@@ -86,7 +86,7 @@ func (c *SettingsService) SetDNSServers(value *DNSServers) (*DNSServers, error)
8686
if err != nil {
8787
return nil, err
8888
}
89-
body, err := c.set("/dns/custom-servers", jsonValue)
89+
body, err := c.set("%s/settings/dns/custom-servers", jsonValue)
9090
if err != nil {
9191
return nil, err
9292
}
@@ -104,27 +104,27 @@ func (c *SettingsService) SetDNSServers(value *DNSServers) (*DNSServers, error)
104104

105105
// GetDefaultDNSSuffix retrieves the default DNS suffix
106106
func (c *SettingsService) GetDefaultDNSSuffix() (string, error) {
107-
return c.getString("/dns/default-suffix")
107+
return c.getString("%s/settings/dns/default-suffix")
108108
}
109109

110110
// SetDefaultDNSSuffix sets the default DNS suffix
111111
func (c *SettingsService) SetDefaultDNSSuffix(value string) (string, error) {
112-
return c.setString("/dns/default-suffix", value)
112+
return c.setString("%s/settings/dns/default-suffix", value)
113113
}
114114

115115
// GetDNSProxyEnabled retrieves whether DNS proxy is enabled
116116
func (c *SettingsService) GetDNSProxyEnabled() (bool, error) {
117-
return c.getBool("/dns/proxy-enabled")
117+
return c.getBool("%s/settings/dns/proxy-enabled")
118118
}
119119

120120
// SetDNSProxyEnabled sets whether DNS proxy is enabled
121121
func (c *SettingsService) SetDNSProxyEnabled(value bool) (bool, error) {
122-
return c.setBool("/dns/proxy-enabled", value)
122+
return c.setBool("%s/settings/dns/proxy-enabled", value)
123123
}
124124

125125
// GetDNSZones retrieves the current DNS zones configuration
126126
func (c *SettingsService) GetDNSZones() ([]DNSZone, error) {
127-
body, err := c.get("/dns/zones")
127+
body, err := c.get("%s/settings/dns/zones")
128128
if err != nil {
129129
return nil, err
130130
}
@@ -143,7 +143,7 @@ func (c *SettingsService) SetDNSZones(value []DNSZone) ([]DNSZone, error) {
143143
if err != nil {
144144
return nil, err
145145
}
146-
body, err := c.set("/dns/zones", jsonValue)
146+
body, err := c.set("%s/settings/dns/zones", jsonValue)
147147
if err != nil {
148148
return nil, err
149149
}
@@ -157,67 +157,67 @@ func (c *SettingsService) SetDNSZones(value []DNSZone) ([]DNSZone, error) {
157157

158158
// GetDefaultConnectAuth retrieves the default connection authentication method
159159
func (c *SettingsService) GetDefaultConnectAuth() (string, error) {
160-
return c.getString("/user/connect-auth")
160+
return c.getString("%s/settings/user/connect-auth")
161161
}
162162

163163
// SetDefaultConnectAuth sets the default connection authentication method
164164
func (c *SettingsService) SetDefaultConnectAuth(value string) (string, error) {
165-
return c.setString("/user/connect-auth", value)
165+
return c.setString("%s/settings/user/connect-auth", value)
166166
}
167167

168168
// GetDefaultDeviceAllowancePerUser retrieves the default device allowance per user
169169
func (c *SettingsService) GetDefaultDeviceAllowancePerUser() (int, error) {
170-
return c.getInt("/user/device-allowance")
170+
return c.getInt("%s/settings/user/device-allowance")
171171
}
172172

173173
// SetDefaultDeviceAllowancePerUser sets the default device allowance per user
174174
func (c *SettingsService) SetDefaultDeviceAllowancePerUser(value int) (int, error) {
175-
return c.setInt("/user/device-allowance", value)
175+
return c.setInt("%s/settings/user/device-allowance", value)
176176
}
177177

178178
// GetForceUpdateDeviceAllowanceEnabled retrieves whether force update device allowance is enabled
179179
func (c *SettingsService) GetForceUpdateDeviceAllowanceEnabled() (bool, error) {
180-
return c.getBool("/user/device-allowance-force-update")
180+
return c.getBool("%s/settings/user/device-allowance-force-update")
181181
}
182182

183183
// SetForceUpdateDeviceAllowanceEnabled sets whether force update device allowance is enabled
184184
func (c *SettingsService) SetForceUpdateDeviceAllowanceEnabled(value bool) (bool, error) {
185-
return c.setBool("/user/device-allowance-force-update", value)
185+
return c.setBool("%s/settings/user/device-allowance-force-update", value)
186186
}
187187

188188
// GetDeviceEnforcement retrieves the device enforcement policy
189189
func (c *SettingsService) GetDeviceEnforcement() (string, error) {
190-
return c.getString("/user/device-enforcement")
190+
return c.getString("%s/settings/user/device-enforcement")
191191
}
192192

193193
// SetDeviceEnforcement sets the device enforcement policy
194194
func (c *SettingsService) SetDeviceEnforcement(value string) (string, error) {
195-
return c.setString("/user/device-enforcement", value)
195+
return c.setString("%s/settings/user/device-enforcement", value)
196196
}
197197

198198
// GetProfileDistribution retrieves the profile distribution method
199199
func (c *SettingsService) GetProfileDistribution() (string, error) {
200-
return c.getString("/user/profile-distribution")
200+
return c.getString("%s/settings/user/profile-distribution")
201201
}
202202

203203
// SetProfileDistribution sets the profile distribution method
204204
func (c *SettingsService) SetProfileDistribution(value string) (string, error) {
205-
return c.setString("/user/profile-distribution", value)
205+
return c.setString("%s/settings/user/profile-distribution", value)
206206
}
207207

208208
// GetConnectionTimeout retrieves the connection timeout value
209209
func (c *SettingsService) GetConnectionTimeout() (int, error) {
210-
return c.getInt("/users/connection-timeout")
210+
return c.getInt("%s/settings/users/connection-timeout")
211211
}
212212

213213
// SetConnectionTimeout sets the connection timeout value
214214
func (c *SettingsService) SetConnectionTimeout(value int) (int, error) {
215-
return c.setInt("/users/connection-timeout", value)
215+
return c.setInt("%s/settings/users/connection-timeout", value)
216216
}
217217

218218
// GetClientOptions retrieves the client options configuration
219219
func (c *SettingsService) GetClientOptions() ([]string, error) {
220-
body, err := c.get("/wpc/client-options")
220+
body, err := c.get("%s/settings/wpc/client-options")
221221
if err != nil {
222222
return nil, err
223223
}
@@ -236,7 +236,7 @@ func (c *SettingsService) SetClientOptions(value []string) ([]string, error) {
236236
if err != nil {
237237
return nil, err
238238
}
239-
body, err := c.set("/wpc/client-options", jsonValue)
239+
body, err := c.set("%s/settings/wpc/client-options", jsonValue)
240240
if err != nil {
241241
return nil, err
242242
}
@@ -250,17 +250,17 @@ func (c *SettingsService) SetClientOptions(value []string) ([]string, error) {
250250

251251
// GetDefaultRegion retrieves the default region setting
252252
func (c *SettingsService) GetDefaultRegion() (string, error) {
253-
return c.getString("/wpc/default-region")
253+
return c.getString("%s/settings/wpc/default-region")
254254
}
255255

256256
// SetDefaultRegion sets the default region
257257
func (c *SettingsService) SetDefaultRegion(value string) (string, error) {
258-
return c.setString("/wpc/default-region", value)
258+
return c.setString("%s/settings/wpc/default-region", value)
259259
}
260260

261261
// GetDomainRoutingSubnet retrieves the domain routing subnet configuration
262262
func (c *SettingsService) GetDomainRoutingSubnet() (*DomainRoutingSubnet, error) {
263-
body, err := c.get("/wpc/domain-routing-subnet")
263+
body, err := c.get("%s/settings/wpc/domain-routing-subnet")
264264
if err != nil {
265265
return nil, err
266266
}
@@ -279,7 +279,7 @@ func (c *SettingsService) SetDomainRoutingSubnet(value DomainRoutingSubnet) (*Do
279279
if err != nil {
280280
return nil, err
281281
}
282-
body, err := c.set("/wpc/domain-routing-subnet", jsonValue)
282+
body, err := c.set("%s/settings/wpc/domain-routing-subnet", jsonValue)
283283
if err != nil {
284284
return nil, err
285285
}
@@ -293,17 +293,17 @@ func (c *SettingsService) SetDomainRoutingSubnet(value DomainRoutingSubnet) (*Do
293293

294294
// GetSnatEnabled retrieves whether SNAT is enabled
295295
func (c *SettingsService) GetSnatEnabled() (bool, error) {
296-
return c.getBool("/wpc/snat")
296+
return c.getBool("%s/settings/wpc/snat")
297297
}
298298

299299
// SetSnatEnabled sets whether SNAT is enabled
300300
func (c *SettingsService) SetSnatEnabled(value bool) (bool, error) {
301-
return c.setBool("/wpc/snat", value)
301+
return c.setBool("%s/settings/wpc/snat", value)
302302
}
303303

304304
// GetSubnet retrieves the subnet configuration
305305
func (c *SettingsService) GetSubnet() (*Subnet, error) {
306-
body, err := c.get("/wpc/subnet")
306+
body, err := c.get("%s/settings/wpc/subnet")
307307
if err != nil {
308308
return nil, err
309309
}
@@ -322,7 +322,7 @@ func (c *SettingsService) SetSubnet(value Subnet) (*Subnet, error) {
322322
if err != nil {
323323
return nil, err
324324
}
325-
body, err := c.set("/wpc/subnet", jsonValue)
325+
body, err := c.set("%s/settings/wpc/subnet", jsonValue)
326326
if err != nil {
327327
return nil, err
328328
}
@@ -336,12 +336,54 @@ func (c *SettingsService) SetSubnet(value Subnet) (*Subnet, error) {
336336

337337
// GetTopology retrieves the network topology setting
338338
func (c *SettingsService) GetTopology() (string, error) {
339-
return c.getString("/wpc/topology")
339+
return c.getString("%s/settings/wpc/topology")
340340
}
341341

342342
// SetTopology sets the network topology
343343
func (c *SettingsService) SetTopology(value string) (string, error) {
344-
return c.setString("/wpc/topology", value)
344+
return c.setString("%s/settings/wpc/topology", value)
345+
}
346+
347+
// GetDNSLogEnabled retrieves whether DNS Log is enabled
348+
func (c *SettingsService) GetDNSLogEnabled() (bool, error) {
349+
return c.getBool("%s/dns-log/user-dns-resolutions/enabled")
350+
}
351+
352+
// SetDNSLogEnabled sets whether DNS Log is enabled
353+
func (c *SettingsService) SetDNSLogEnabled(value bool) error {
354+
if value {
355+
_, err := c.set("%s/dns-log/user-dns-resolutions/enable", []byte(strconv.FormatBool(value)))
356+
if err != nil {
357+
return err
358+
}
359+
} else {
360+
_, err := c.set("%s/dns-log/user-dns-resolutions/disable", []byte(strconv.FormatBool(value)))
361+
if err != nil {
362+
return err
363+
}
364+
}
365+
return nil
366+
}
367+
368+
// GetAccessVisibilityEnabled retrieves whether Access Visibility is enabled
369+
func (c *SettingsService) GetAccessVisibilityEnabled() (bool, error) {
370+
return c.getBool("%s/access-visibility/enabled")
371+
}
372+
373+
// SetAccessVisibilityEnabled sets whether Access Visibility is enabled
374+
func (c *SettingsService) SetAccessVisibilityEnabled(value bool) error {
375+
if value {
376+
_, err := c.set("%s/access-visibility/enable", []byte(strconv.FormatBool(value)))
377+
if err != nil {
378+
return err
379+
}
380+
} else {
381+
_, err := c.set("%s/access-visibility/disable", []byte(strconv.FormatBool(value)))
382+
if err != nil {
383+
return err
384+
}
385+
}
386+
return nil
345387
}
346388

347389
// getBool retrieves a boolean value from the specified path
@@ -375,7 +417,7 @@ func (c *SettingsService) setBool(path string, value bool) (bool, error) {
375417

376418
// getString retrieves a string value from the specified path
377419
func (c *SettingsService) getString(path string) (string, error) {
378-
endpoint := fmt.Sprintf("%s/settings"+path, c.client.GetV1Url())
420+
endpoint := fmt.Sprintf(path, c.client.GetV1Url())
379421
req, err := http.NewRequest(http.MethodGet, endpoint, nil)
380422
if err != nil {
381423
return "", err
@@ -389,7 +431,7 @@ func (c *SettingsService) getString(path string) (string, error) {
389431

390432
// setString sets a string value at the specified path
391433
func (c *SettingsService) setString(path string, value string) (string, error) {
392-
endpoint := fmt.Sprintf("%s/settings"+path, c.client.GetV1Url())
434+
endpoint := fmt.Sprintf(path, c.client.GetV1Url())
393435
req, err := http.NewRequest(http.MethodPut, endpoint, bytes.NewBuffer([]byte(value)))
394436
if err != nil {
395437
return "", err
@@ -422,7 +464,7 @@ func (c *SettingsService) setInt(path string, value int) (int, error) {
422464

423465
// get performs a GET request to the specified path
424466
func (c *SettingsService) get(path string) ([]byte, error) {
425-
endpoint := fmt.Sprintf("%s/settings"+path, c.client.GetV1Url())
467+
endpoint := fmt.Sprintf(path, c.client.GetV1Url())
426468
req, err := http.NewRequest(http.MethodGet, endpoint, nil)
427469
if err != nil {
428470
return nil, err
@@ -436,7 +478,7 @@ func (c *SettingsService) get(path string) ([]byte, error) {
436478

437479
// set performs a PUT request to the specified path with the given value
438480
func (c *SettingsService) set(path string, value []byte) ([]byte, error) {
439-
endpoint := fmt.Sprintf("%s/settings"+path, c.client.GetV1Url())
481+
endpoint := fmt.Sprintf(path, c.client.GetV1Url())
440482
req, err := http.NewRequest(http.MethodPut, endpoint, bytes.NewBuffer(value))
441483
if err != nil {
442484
return nil, err

0 commit comments

Comments
 (0)