Documentation
¶
Index ¶
- Variables
- func DeviceEventStreamer(ctx context.Context, log *logrus.Entry, grpcAddress, grpcToken string, ...) error
- func New(token string, log logrus.FieldLogger, opts ...ClientOption) *client
- type Cache
- type Check
- type Client
- type ClientInterceptor
- type ClientOption
- type Device
- type DeviceFailure
- type DeviceOwner
- type FakeClient
- func (f *FakeClient) Build() Client
- func (f *FakeClient) GetChecks(ctx context.Context) ([]*Check, error)
- func (f *FakeClient) GetDeviceIssues(ctx context.Context, deviceID string) ([]*DeviceFailure, error)
- func (f *FakeClient) GetDevices(ctx context.Context) ([]*Device, error)
- func (f *FakeClient) GetIssues(ctx context.Context) ([]*DeviceFailure, error)
- type PaginatedResponse
- type Pagination
- type Transport
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrMaxRetriesExceeded = errors.New("max retries exceeded")
Functions ¶
func DeviceEventStreamer ¶
func New ¶
func New(token string, log logrus.FieldLogger, opts ...ClientOption) *client
Types ¶
type Cache ¶
type Cache[K comparable, V any] struct { // contains filtered or unexported fields }
func (*Cache[K, V]) MarshalJSON ¶
type ClientInterceptor ¶
func (*ClientInterceptor) GetRequestMetadata ¶
func (*ClientInterceptor) RequireTransportSecurity ¶
func (c *ClientInterceptor) RequireTransportSecurity() bool
type ClientOption ¶
type ClientOption func(*client)
func WithBaseUrl ¶
func WithBaseUrl(baseUrl string) ClientOption
type Device ¶
type Device struct {
ID int64 `json:"id"`
Name string `json:"name"`
OwnedBy string `json:"owned_by"`
Platform string `json:"platform"`
LastSeenAt *time.Time `json:"last_seen_at"`
FailureCount int `json:"failure_count"`
PrimaryUserName string `json:"primary_user_name"`
Serial string `json:"serial"`
AssignedOwner DeviceOwner `json:"assigned_owner"`
Failures []DeviceFailure `json:"failures"`
}
type DeviceFailure ¶
type DeviceFailure struct {
ID int64 `json:"id"`
CheckID int64 `json:"check_id"`
Value map[string]interface{} `json:"value"`
Title string `json:"title"`
Timestamp *time.Time `json:"timestamp"`
ResolvedAt *time.Time `json:"resolved_at"`
LastUpdated time.Time `json:"-"`
Ignored bool `json:"ignored"`
Check Check `json:"check"`
Device Device `json:"device"`
}
type DeviceOwner ¶
type DeviceOwner struct {
Email string `json:"email"`
}
type FakeClient ¶
type FakeClient struct {
Devices []Device
}
func (*FakeClient) Build ¶
func (f *FakeClient) Build() Client
func (*FakeClient) GetChecks ¶
func (f *FakeClient) GetChecks(ctx context.Context) ([]*Check, error)
GetChecks implements Client.
func (*FakeClient) GetDeviceIssues ¶
func (f *FakeClient) GetDeviceIssues(ctx context.Context, deviceID string) ([]*DeviceFailure, error)
GetDeviceIssues implements Client.
func (*FakeClient) GetDevices ¶
func (f *FakeClient) GetDevices(ctx context.Context) ([]*Device, error)
GetDevices implements Client.
func (*FakeClient) GetIssues ¶
func (f *FakeClient) GetIssues(ctx context.Context) ([]*DeviceFailure, error)
GetIssues implements Client.
type PaginatedResponse ¶
type PaginatedResponse struct {
Data []json.RawMessage `json:"data"`
Pagination Pagination `json:"pagination"`
}
type Pagination ¶
type Transport ¶
type Transport struct {
Token string
Transport http.RoundTripper
DefaultRetryAfter time.Duration
MaxHttpRetries int
}
func NewTransport ¶
Click to show internal directories.
Click to hide internal directories.