api

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2021 License: MIT Imports: 16 Imported by: 15

Documentation

Index

Constants

View Source
const DefaultEndpoint = "https://api.dns-platform.jp/dpf/v1"

Variables

This section is empty.

Functions

func IsAuthError

func IsAuthError(err error) bool

func IsErrorCode

func IsErrorCode(err error, code string) (bool, string)

func IsErrorCodeAttribute

func IsErrorCodeAttribute(err error, code string, attribute string) bool

func IsInvalidSchema

func IsInvalidSchema(err error) bool

func IsNotFound

func IsNotFound(err error) (bool, string)

func MarshalApply

func MarshalApply(body interface{}) ([]byte, error)

func MarshalCreate

func MarshalCreate(body interface{}) ([]byte, error)

func MarshalMap

func MarshalMap(body interface{}) ([]byte, error)

func MarshalOutput

func MarshalOutput(spec Spec) ([]byte, error)

func MarshalUpdate

func MarshalUpdate(body interface{}) ([]byte, error)

func UnMarshalInput

func UnMarshalInput(bs []byte, spec Spec) error

func UnmarshalRead

func UnmarshalRead(bs []byte, o interface{}) error

Types

type Action

type Action string
var (
	ActionCreate Action = "Create"
	ActionRead   Action = "Read"
	ActionList   Action = "List"
	ActionUpdate Action = "Update"
	ActionDelete Action = "Delete"
	ActionCount  Action = "Count"
	ActionCancel Action = "Cancel"
	ActionApply  Action = "Apply"

	Actions = []Action{
		ActionCreate,
		ActionRead,
		ActionList,
		ActionUpdate,
		ActionDelete,
		ActionCount,
		ActionCancel,
		ActionApply,
	}
)

func (Action) ToMethod

func (a Action) ToMethod() string

type AsyncResponse

type AsyncResponse struct {
	ResponseCommon `read:",inline"`
	JobsUrl        string `read:"jobs_url"`
}

type BadResponse

type BadResponse struct {
	ResponseCommon `read:",inline"`
	ErrorType      string       `read:"error_type"`
	ErrorMessage   string       `read:"error_message"`
	ErrorDetails   ErrorDetails `read:"error_details"`
}

func (*BadResponse) Error

func (r *BadResponse) Error() string

type Client

type Client struct {
	Endpoint string
	Token    string

	LastRequest  *RequestInfo
	LastResponse *ResponseInfo
	// contains filtered or unexported fields
}

func NewClient

func NewClient(token string, endpoint string, logger Logger) *Client

func (*Client) Apply

func (c *Client) Apply(s Spec, body interface{}) (requestId string, err error)

func (*Client) Cancel

func (c *Client) Cancel(s Spec) (requestId string, err error)

func (*Client) Count

func (c *Client) Count(s CountableListSpec, keywords SearchParams) (requestId string, err error)

func (*Client) Create

func (c *Client) Create(s Spec, body interface{}) (requestId string, err error)

func (*Client) Delete

func (c *Client) Delete(s Spec) (requestId string, err error)

func (*Client) Do

func (c *Client) Do(spec Spec, action Action, body interface{}, params SearchParams) (requestId string, err error)

func (*Client) List

func (c *Client) List(s ListSpec, keywords SearchParams) (requestId string, err error)

func (*Client) ListALL

func (c *Client) ListALL(s CountableListSpec, keywords SearchParams) (requestId string, err error)

func (*Client) Read

func (c *Client) Read(s Spec) (requestId string, err error)

func (*Client) SetLogger

func (c *Client) SetLogger(l Logger) *Client

func (*Client) SetWatchInterval

func (c *Client) SetWatchInterval(d time.Duration) error

func (*Client) SetWatchTimeout

func (c *Client) SetWatchTimeout(d time.Duration) error

func (*Client) Update

func (c *Client) Update(s Spec, body interface{}) (requestId string, err error)

func (*Client) Watch

func (c *Client) Watch(ctx context.Context, f func() (keep bool, err error)) error

func (*Client) WatchList

func (c *Client) WatchList(ctx context.Context, s ListSpec, keyword SearchParams) error

func (*Client) WatchListAll

func (c *Client) WatchListAll(ctx context.Context, s CountableListSpec, keyword SearchParams) error

func (*Client) WatchRead

func (c *Client) WatchRead(ctx context.Context, s Spec) error

type CommonSearchParams

type CommonSearchParams struct {
	Type   SearchType `url:"type,omitempty"`
	Offset int32      `url:"offset,omitempty"`
	Limit  int32      `url:"limit,omitempty"`
}

func (*CommonSearchParams) GetLimit

func (k *CommonSearchParams) GetLimit() int32

func (*CommonSearchParams) GetOffset

func (k *CommonSearchParams) GetOffset() int32

func (*CommonSearchParams) GetType

func (k *CommonSearchParams) GetType() SearchType

func (*CommonSearchParams) GetValues

func (s *CommonSearchParams) GetValues() (url.Values, error)

func (*CommonSearchParams) SetLimit

func (k *CommonSearchParams) SetLimit(limit int32)

func (*CommonSearchParams) SetOffset

func (k *CommonSearchParams) SetOffset(offset int32)

func (*CommonSearchParams) SetType

func (k *CommonSearchParams) SetType(t SearchType)

type Count

type Count struct {
	Count int32 `read:"count" json:"-"`
}

func (*Count) GetCount

func (c *Count) GetCount() int32

func (*Count) SetCount

func (c *Count) SetCount(v int32)

type CountResponse

type CountResponse struct {
	ResponseCommon `read:",inline"`
	Result         Count `read:"result"`
}

type CountableListSpec

type CountableListSpec interface {
	ListSpec
	SetCount(int32)
	GetCount() int32
	GetMaxLimit() int32
	AddItem(interface{}) bool
	ClearItems()
}

type ErrorDetail

type ErrorDetail struct {
	Code      string `read:"code"`
	Attribute string `read:"attribute"`
}

func (ErrorDetail) Error

func (e ErrorDetail) Error() string

type ErrorDetails

type ErrorDetails []ErrorDetail

func (ErrorDetails) Error

func (e ErrorDetails) Error() string

type Initializer

type Initializer interface {
	Init()
}

type KeywordsBoolean

type KeywordsBoolean []types.Boolean

+k8s:deepcopy-gen=false

func (KeywordsBoolean) EncodeValues

func (c KeywordsBoolean) EncodeValues(key string, v *url.Values) error

type KeywordsFavorite

type KeywordsFavorite []types.Favorite

+k8s:deepcopy-gen=false

func (KeywordsFavorite) EncodeValues

func (c KeywordsFavorite) EncodeValues(key string, v *url.Values) error

type KeywordsId

type KeywordsId []int64

+k8s:deepcopy-gen=false

func (KeywordsId) Validate

func (s KeywordsId) Validate() bool

type KeywordsState

type KeywordsState []types.State

+k8s:deepcopy-gen=false

func (KeywordsState) EncodeValues

func (c KeywordsState) EncodeValues(key string, v *url.Values) error

type KeywordsString

type KeywordsString []string

+k8s:deepcopy-gen=false

func (KeywordsString) Validate

func (s KeywordsString) Validate() bool

type ListSpec

type ListSpec interface {
	Spec
	Initializer
	GetItems() interface{}
	Len() int
	Index(int) interface{}
}

type Logger

type Logger interface {
	Tracef(format string, args ...interface{})
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Errorf(format string, args ...interface{})
}

type Object

type Object interface {
	DeepCopyObject() Object
}

type OutputFrame

type OutputFrame struct {
	meta.KindVersion `json:",inline"`
	Spec             Spec `json:"spec"`
}

type RawResponse

type RawResponse struct {
	ResponseCommon `read:",inline"`
	Result         json.RawMessage `read:"result"`
	Results        json.RawMessage `read:"results"`
}

type RequestInfo

type RequestInfo struct {
	Method string
	Url    string
	Body   []byte
}

type ResponseCommon

type ResponseCommon struct {
	RequestId string `read:"request_id"`
}

type ResponseInfo

type ResponseInfo struct {
	Response *http.Response
	Body     []byte
}

type RowSearchParams

type RowSearchParams struct {
	url.Values
}

func NewRowSearchParams

func NewRowSearchParams(queryString string) (*RowSearchParams, error)

func (RowSearchParams) GetLimit

func (r RowSearchParams) GetLimit() int32

func (RowSearchParams) GetOffset

func (r RowSearchParams) GetOffset() int32

func (*RowSearchParams) GetValues

func (r *RowSearchParams) GetValues() (url.Values, error)

func (RowSearchParams) SetLimit

func (r RowSearchParams) SetLimit(limit int32)

func (RowSearchParams) SetOffset

func (r RowSearchParams) SetOffset(offset int32)

type SearchDate

type SearchDate time.Time

+k8s:deepcopy-gen=false

type SearchLimit

type SearchLimit int32

+k8s:deepcopy-gen=false

func (SearchLimit) Validate

func (s SearchLimit) Validate() bool

type SearchOffset

type SearchOffset int32

+k8s:deepcopy-gen=false

func (SearchOffset) Validate

func (s SearchOffset) Validate() bool

type SearchOrder

type SearchOrder string

+k8s:deepcopy-gen=false

var (
	SearchOrderASC  SearchOrder = "ASC"
	SearchOrderDESC SearchOrder = "DESC"
)

func (SearchOrder) Validate

func (s SearchOrder) Validate() bool

type SearchParams

type SearchParams interface {
	GetValues() (url.Values, error)
	GetOffset() int32
	SetOffset(int32)
	GetLimit() int32
	SetLimit(int32)
}

type SearchTimeZone

type SearchTimeZone string

+k8s:deepcopy-gen=false

func (SearchTimeZone) Sec

func (s SearchTimeZone) Sec() int

func (SearchTimeZone) Validate

func (s SearchTimeZone) Validate() bool

type SearchType

type SearchType string

+k8s:deepcopy-gen=false

var (
	SearchTypeAND SearchType = "AND"
	SearchTypeOR  SearchType = "OR"
)

func (SearchType) Validate

func (s SearchType) Validate() bool

type Spec

type Spec interface {
	Object
	GetName() string
	GetGroup() string
	GetPathMethod(Action) (string, string)
}

type StdLogger

type StdLogger struct {
	LogLevel int
}

func (*StdLogger) Debugf

func (s *StdLogger) Debugf(format string, args ...interface{})

func (*StdLogger) Errorf

func (s *StdLogger) Errorf(format string, args ...interface{})

func (*StdLogger) Infof

func (s *StdLogger) Infof(format string, args ...interface{})

func (*StdLogger) Tracef

func (s *StdLogger) Tracef(format string, args ...interface{})

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL