forked from fleetssl/cpanelgo
/
servicessl.go
67 lines (55 loc) · 1.58 KB
/
servicessl.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package whm
import "github.com/arzahs/cpanelgo"
func (a WhmApi) InstallServiceSslCertificate(service, crt, key, cabundle string) (BaseWhmApiResponse, error) {
var out BaseWhmApiResponse
err := a.WHMAPI1("install_service_ssl_certificate", cpanelgo.Args{
"service": service,
"crt": crt,
"key": key,
"cabundle": cabundle,
}, &out)
if err == nil {
err = out.Error()
}
return out, err
}
type FetchServiceSslComponentsAPIResponse struct {
BaseWhmApiResponse
Data struct {
Services []struct {
Service string `json:"service"`
Certificate string `json:"certificate"`
CABundle string `json:"cabundle"`
CertificateInfo struct {
IsSelfSigned int `json:"is_self_signed"`
NotAfter cpanelgo.MaybeInt64 `json:"not_after"`
Domains []string `json:"domains"`
} `json:"certificate_info"`
} `json:"services"`
} `json:"data"`
}
func (r FetchServiceSslComponentsAPIResponse) Services() []string {
out := []string{}
for _, v := range r.Data.Services {
out = append(out, v.Service)
}
return out
}
func (a WhmApi) FetchServiceSslComponents() (FetchServiceSslComponentsAPIResponse, error) {
var out FetchServiceSslComponentsAPIResponse
err := a.WHMAPI1("fetch_service_ssl_components", cpanelgo.Args{}, &out)
if err == nil {
err = out.Error()
}
return out, err
}
func (a WhmApi) RestartService(name string) (BaseWhmApiResponse, error) {
var out BaseWhmApiResponse
err := a.WHMAPI1("restartservice", cpanelgo.Args{
"service": name,
}, &out)
if err == nil {
err = out.Error()
}
return out, err
}