cliient.go raw
1 package apiutils
2
3 import (
4 "context"
5 "time"
6
7 "github.com/mimuret/golang-iij-dpf/pkg/api"
8 "github.com/mimuret/golang-iij-dpf/pkg/apis/dpf/v1/core"
9 )
10
11 func SyncUpdate(ctx context.Context, cl api.ClientInterface, s api.Spec, body interface{}) (string, *core.Job, error) {
12 requestID, err := cl.Update(ctx, s, body)
13 if err != nil {
14 return requestID, nil, err
15 }
16 job, err := WaitJob(ctx, cl, requestID, time.Second)
17 return requestID, job, err
18 }
19
20 func SyncCreate(ctx context.Context, cl api.ClientInterface, s api.Spec, body interface{}) (string, *core.Job, error) {
21 requestID, err := cl.Create(ctx, s, body)
22 if err != nil {
23 return requestID, nil, err
24 }
25 job, err := WaitJob(ctx, cl, requestID, time.Second)
26 return requestID, job, err
27 }
28
29 func SyncApply(ctx context.Context, cl api.ClientInterface, s api.Spec, body interface{}) (string, *core.Job, error) {
30 requestID, err := cl.Apply(ctx, s, body)
31 if err != nil {
32 return requestID, nil, err
33 }
34 job, err := WaitJob(ctx, cl, requestID, time.Second)
35 return requestID, job, err
36 }
37
38 func SyncDelete(ctx context.Context, cl api.ClientInterface, s api.Spec) (string, *core.Job, error) {
39 requestID, err := cl.Delete(ctx, s)
40 if err != nil {
41 return requestID, nil, err
42 }
43 job, err := WaitJob(ctx, cl, requestID, time.Second)
44 return requestID, job, err
45 }
46
47 func SyncCancel(ctx context.Context, cl api.ClientInterface, s api.Spec) (string, *core.Job, error) {
48 requestID, err := cl.Cancel(ctx, s)
49 if err != nil {
50 return requestID, nil, err
51 }
52 job, err := WaitJob(ctx, cl, requestID, time.Second)
53 return requestID, job, err
54 }
55