dutyme

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2016 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dutyme

type Dutyme struct {
	PD PagerDuty
	UI *input.UI
}

func (*Dutyme) GetOverride

func (d *Dutyme) GetOverride(scheduleID string, user *User, since, until time.Time) (string, error)

func (*Dutyme) GetSchedule

func (d *Dutyme) GetSchedule(defaultQuery string) (string, string, error)

func (*Dutyme) GetUser

func (d *Dutyme) GetUser(defaultEmail string) (*User, error)

func (*Dutyme) Override

func (d *Dutyme) Override(scheduleID string, user *User, start, end time.Time, force bool) (*pagerduty.Override, error)

type PDClient

type PDClient struct {
	*pagerduty.Client
}

PDClient is actual pagerduty client which implements PagerDuty interface.

func (*PDClient) DeleteOverride

func (c *PDClient) DeleteOverride(scheduleID, overrideID string) error

func (*PDClient) GetOverrides

func (c *PDClient) GetOverrides(scheduleID string, since, until time.Time) ([]pagerduty.Override, error)

func (*PDClient) GetSchedules

func (c *PDClient) GetSchedules(name string) ([]pagerduty.Schedule, error)

GetSchecules finds Pagerduty schedules by querying the given name. If any or found nothing, returns error.

func (*PDClient) GetUser

func (c *PDClient) GetUser(email string) (*User, error)

GetUser gets a user by the given email address and returns its APIObject (it represents user).

FindUser assumes one email belongs to one user. If it finds more than two, it fails.

func (*PDClient) Override

func (c *PDClient) Override(scheduleID string, user *User, start, end time.Time) (*pagerduty.Override, error)

type PagerDuty

type PagerDuty interface {
	GetUser(email string) (*User, error)
	GetSchedules(name string) ([]pagerduty.Schedule, error)
	GetOverrides(scheduleID string, since, until time.Time) ([]pagerduty.Override, error)
	Override(scheduleID string, user *User, start, end time.Time) (*pagerduty.Override, error)
	DeleteOverride(scheduleID, overrideID string) error
}

func NewPDClient

func NewPDClient(token string) (PagerDuty, error)

NewPDClient creates new PagerDuty client

type User

type User struct {
	Email string
	Obj   *pagerduty.APIObject
}

User represents pagerduty user

Jump to

Keyboard shortcuts

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