pagerduty-0.0.1.1: Client library for PagerDuty Integration and REST APIs.

Safe HaskellNone
LanguageHaskell2010

Network.PagerDuty.REST.Users

Contents

Description

Access and manipulate user data for your PagerDuty account. When a user is shown inlined in other resources, a deleted user will have its html_url attribute set to null.

See: http://developer.pagerduty.com/documentation/rest/users

Synopsis

List Users

data ListUsers

Instances

ToJSON ListUsers 
HasDatatypeInfo ListUsers 
Generic ListUsers 
QueryLike ListUsers 
Paginate ListUsers 
type Code ListUsers = (:) [*] ((:) * (Maybe Text) ([] *)) ([] [*]) 

listUsers :: Request ListUsers s [User]

List users of your PagerDuty account, optionally filtered by a search query.

GET /users

See: http://developer.pagerduty.com/documentation/rest/users/list

luQuery :: Lens' (Request ListUsers s b) (Maybe Text)

Filters the result, showing only the users whose names or email addresses match the query.

List On Call Users

listOnCallUsers :: Request ListUsers s [User]

List all the existing escalation policies with currently on-call users.

If the start and end of an on-call object are null, then the user is always on-call for an escalation policy level.

GET /escalation_policies/on_call

See: http://developer.pagerduty.com/documentation/rest/escalation_policies/on_call

Create User

data CreateUser

Instances

Eq CreateUser 
Show CreateUser 
ToJSON CreateUser 
FromJSON CreateUser 
QueryLike CreateUser 

createUser

Create a new user for your account. An invite email will be sent asking the user to choose a password.

POST /users

See: http://developer.pagerduty.com/documentation/rest/users/create

cuName :: Lens' (Request CreateUser s b) Text

The name of the user.

cuEmail :: Lens' (Request CreateUser s b) Address

The email of the user. The newly created user will receive an email asking to confirm the subscription.

cuRole :: Lens' (Request CreateUser s b) (Maybe Role)

The user's role.

cuJobTitle :: Lens' (Request CreateUser s b) (Maybe Text)

The job title of the user.

cuTimeZone :: Lens' (Request CreateUser s b) (Maybe TimeZone)

The time zone the user is in. If not specified, the time zone of the account making the API call will be used.

Get User

getUser :: UserId -> Request Empty s User

Get information about an existing user.

GET /users/:id

See: http://developer.pagerduty.com/documentation/rest/users/show

Get User On Call

getUserOnCall :: UserId -> Request Empty s User

Get a user object with that user's current on-call status. If the on-call object is an empty list, the user is never on-call.

If the start and end of an on-call object are null, then the user is always on-call for an escalation policy level.

GET /users/:id/on_call

See: http://developer.pagerduty.com/documentation/rest/users/show_on_call

Update User

data UpdateUser

Instances

Eq UpdateUser 
Show UpdateUser 
ToJSON UpdateUser 
FromJSON UpdateUser 
QueryLike UpdateUser 

uuName :: Lens' (Request UpdateUser s b) (Maybe Text)

The name of the user.

uuEmail :: Lens' (Request UpdateUser s b) (Maybe Address)

The email of the user. The newly created user will receive an email asking to confirm the subscription.

uuRole :: Lens' (Request UpdateUser s b) (Maybe Role)

The user's role.

uuJobTitle :: Lens' (Request UpdateUser s b) (Maybe Text)

The job title of the user.

uuTimeZone :: Lens' (Request UpdateUser s b) (Maybe TimeZone)

The time zone the user is in. If not specified, the time zone of the account making the API call will be used.

Delete User

Types

data PolicyInfo

Instances

piName :: Lens' PolicyInfo Text

data OnCall

Instances

Eq OnCall 
Show OnCall 
ToJSON OnCall 
FromJSON OnCall 

ocLevel :: Lens' OnCall Int

ocStart :: Lens' OnCall (Maybe Date)

ocEnd :: Lens' OnCall (Maybe Date)

data Role

Instances

Eq Role 
Show Role 
ToJSON Role 
FromJSON Role 
Default Role 

class HasUserInfo a where

Minimal complete definition

userInfo

Methods

userInfo :: Lens' a UserInfo

uId :: Lens' a UserId

The id of the user.

uName :: Lens' a Text

The name of the user.

uEmail :: Lens' a Address

The user's email address.

uColor :: Lens' a Text

The color used to represent the user in schedules.

uTimeZone :: Lens' a TimeZone

The user's personal time zone.

Instances

data User

Instances

Eq User 
Show User 
ToJSON User 
FromJSON User 
HasUserInfo User 

uRole :: Lens' User Role

uAvatarUrl :: Lens' User Text

uUserUrl :: Lens' User Text

uJobTitle :: Lens' User (Maybe Text)