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