-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.go
40 lines (33 loc) · 1021 Bytes
/
client.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
package scwaudittrail
import (
audit_trail "github.com/scaleway/scaleway-sdk-go/api/audit_trail/v1alpha1"
"github.com/scaleway/scaleway-sdk-go/scw"
)
const (
userAgent = "OpenTelemetry-Collector AuditTrail Receiver"
)
//go:generate mockgen -destination client_mock.go -package scwaudittrail . Client
type Client interface {
ListEvents(*audit_trail.ListEventsRequest) (*audit_trail.ListEventsResponse, error)
}
type scwClient struct {
adtAPI *audit_trail.API
}
func newScalewayClient(cfg *Config) (Client, error) {
client, err := scw.NewClient(
scw.WithAPIURL(cfg.APIURL),
scw.WithDefaultOrganizationID(cfg.OrganizationID),
scw.WithAuth(cfg.AccessKey, cfg.SecretKey),
scw.WithDefaultRegion(scw.Region(cfg.Region)),
scw.WithUserAgent(userAgent),
)
if err != nil {
return nil, err
}
return &scwClient{
adtAPI: audit_trail.NewAPI(client),
}, nil
}
func (c *scwClient) ListEvents(req *audit_trail.ListEventsRequest) (*audit_trail.ListEventsResponse, error) {
return c.adtAPI.ListEvents(req)
}