@@ -1,12 +1,13 @@
1−{-# LANGUAGE DataKinds #-}
1+{-# LANGUAGE DataKinds #-}
2−{-# LANGUAGE ExtendedDefaultRules #-}
2+{-# LANGUAGE ExtendedDefaultRules #-}
3−{-# LANGUAGE OverloadedStrings #-}
3+{-# LANGUAGE OverloadedStrings #-}
4−{-# LANGUAGE TemplateHaskell #-}
4+{-# LANGUAGE TemplateHaskell #-}
5+{-# LANGUAGE TypeFamilies #-}
6{-# OPTIONS_GHC -fno-warn-type-defaults #-}
7{-# OPTIONS_GHC -fno-warn-type-defaults #-}
8-- Module : Network.PagerDuty.REST.Services
9-- Module : Network.PagerDuty.REST.Services
9−-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
10+-- Copyright : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>
10-- License : This Source Code Form is subject to the terms of
11-- License : This Source Code Form is subject to the terms of
11-- the Mozilla Public License, v. 2.0.
12-- the Mozilla Public License, v. 2.0.
12-- A copy of the MPL can be found in the LICENSE file or
13-- A copy of the MPL can be found in the LICENSE file or
@@ -23,14 +24,16 @@
23-- When a service is shown inlined in other resources, a deleted service will
24-- When a service is shown inlined in other resources, a deleted service will
24-- have its @html_url@ attribute set to 'Nothing'.
25-- have its @html_url@ attribute set to 'Nothing'.
26−-- See: <http://developer.pagerduty.com/documentation/rest/services>
27+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services>
27module Network.PagerDuty.REST.Services
28module Network.PagerDuty.REST.Services
29 -- * List Services
30 -- * List Services
30− listServices
32+ , listServices
31 , lsTimeZone
33 , lsTimeZone
33 -- * Create Service
35 -- * Create Service
34 , createService
37 , createService
36 , csDescription
39 , csDescription
@@ -45,6 +48,7 @@ module Network.PagerDuty.REST.Services
45 , getService
48 , getService
47 -- * Update Service
50 -- * Update Service
48 , updateService
52 , updateService
50 , usEscalationPolicyId
54 , usEscalationPolicyId
@@ -68,7 +72,6 @@ module Network.PagerDuty.REST.Services
68 -- * Types
72 -- * Types
69 , EmailFilterMode (..)
73 , EmailFilterMode (..)
70 , EmailIncidentCreation (..)
74 , EmailIncidentCreation (..)
72 , ServiceStatus (..)
75 , ServiceStatus (..)
73 , ServiceType (..)
76 , ServiceType (..)
74 , SeverityFilter (..)
77 , SeverityFilter (..)
@@ -79,15 +82,6 @@ module Network.PagerDuty.REST.Services
79 , cntResolved
82 , cntResolved
80 , cntTotal
83 , cntTotal
91 , PolicyInfo
85 , PolicyInfo
93 , pinfoName
87 , pinfoName
@@ -112,16 +106,16 @@ module Network.PagerDuty.REST.Services
112 , svcSeverityFilter
106 , svcSeverityFilter
115−import Control.Lens
109+import Control.Lens hiding (Empty)
116−import Data.Aeson.Lens
110+import Data.Aeson.Lens
117−import Data.ByteString.Builder (Builder)
118−import Data.Text (Text)
111+import Data.Text (Text)
119−import Data.Time
112+import Data.Time
120−import Network.HTTP.Types
113+import Network.HTTP.Types
121−import Network.PagerDuty.TH
114+import Network.PagerDuty.Internal.TH
122−import Network.PagerDuty.Types
115+import Network.PagerDuty.Internal.Types
116+import Network.PagerDuty.REST.Services.EmailFilters
124−default (Builder)
118+default (Path)
126services :: Path
120services :: Path
127services = "services"
121services = "services"
@@ -139,8 +133,7 @@ data IncidentCounts = IncidentCounts
139 , _cntTotal :: !Int
133 , _cntTotal :: !Int
140 } deriving (Eq, Show)
134 } deriving (Eq, Show)
142−deriveJSON ''IncidentCounts
143−makeLenses ''IncidentCounts
136+deriveRecord ''IncidentCounts
145data EmailIncidentCreation
138data EmailIncidentCreation
146 = OnNewEmail
139 = OnNewEmail
@@ -151,7 +144,7 @@ data EmailIncidentCreation
151 -- ^ Open a new incident only if an open incident does not already exist.
144 -- ^ Open a new incident only if an open incident does not already exist.
152 deriving (Eq, Show)
145 deriving (Eq, Show)
154−deriveJSON ''EmailIncidentCreation
147+deriveNullary ''EmailIncidentCreation
156data EmailFilterMode
149data EmailFilterMode
157 = AllEmail
150 = AllEmail
@@ -162,7 +155,7 @@ data EmailFilterMode
162 -- ^ Accept email only if it matches ALL of the rules below
155 -- ^ Accept email only if it matches ALL of the rules below
163 deriving (Eq, Show)
156 deriving (Eq, Show)
165−deriveJSONWith hyphenated ''EmailFilterMode
158+deriveNullaryWith hyphenated ''EmailFilterMode
167data ServiceStatus
160data ServiceStatus
@@ -178,7 +171,7 @@ data ServiceStatus
178 -- ^ The service is disabled and will not have any new triggered incidents.
171 -- ^ The service is disabled and will not have any new triggered incidents.
179 deriving (Eq, Show)
172 deriving (Eq, Show)
181−deriveJSON ''ServiceStatus
174+deriveNullary ''ServiceStatus
183data ServiceType
176data ServiceType
184 = CloudKick
177 = CloudKick
@@ -191,72 +184,14 @@ data ServiceType
191 | SqlMonitor
184 | SqlMonitor
192 deriving (Eq, Show)
185 deriving (Eq, Show)
194−deriveJSON ''ServiceType
187+deriveNullary ''ServiceType
196data PolicyInfo = PolicyInfo
189data PolicyInfo = PolicyInfo
197− { _pinfoId :: PolicyId
190+ { _pinfoId :: EscalationPolicyId
198 , _pinfoName :: Text
191 , _pinfoName :: Text
199 } deriving (Eq, Show)
192 } deriving (Eq, Show)
201−makeLenses ''PolicyInfo
194+deriveRecord ''PolicyInfo
202−deriveJSON ''PolicyInfo
210−deriveJSONWith hyphenated ''MatchMode
212−-- FIXME: Tighten up this type! Make the regex required for match/no-match.
213−data EmailFilters = EmailFilters
214− { _efsId :: EmailFilterId
215− , _efsSubjectMode :: Maybe MatchMode
216− , _efsSubjectRegex :: Maybe Text
217− , _efsBodyMode :: Maybe MatchMode
218− , _efsBodyRegex :: Maybe Text
219− , _efsFromEmailMode :: Maybe MatchMode
220− , _efsFromEmailRegex :: Maybe Text
221− } deriving (Eq, Show)
223−deriveJSON ''EmailFilters
225−-- | The email filter ID.
226−makeLens "_efsId" ''EmailFilters
228−-- | One of always, match, no-match, which, respectively, means to not filter
229−-- the email trigger by subject, filter it if the email subject matches the
230−-- given regex, or filter if it doesn't match the given regex.
232−-- Defaults to always.
233−makeLens "_efsSubjectMode" ''EmailFilters
235−-- | The regex to be used when subject_mode is match or no-match.
236−-- It is a required parameter on such cases.
237−makeLens "_efsSubjectRegex" ''EmailFilters
239−-- | One of always, match, no-match, which, respectively, means to not filter
240−-- the email trigger by body, filter it if the body email matches the given regex,
241−-- or filter if it doesn't match the given regex.
243−-- Defaults to always.
244−makeLens "_efsBodyMode" ''EmailFilters
246−-- | The regex to be used when body_mode is match or no-match.
247−-- It is a required parameter on such cases.
248−makeLens "_efsBodyRegex" ''EmailFilters
250−-- | One of always, match, no-match, which, respectively, means to not filter
251−-- the email trigger by its from address, filter it if the email from address
252−-- matches the given regex, or filter if it doesn't match the given regex.
254−-- Defaults to always.
255−makeLens "_efsFromEmailMode" ''EmailFilters
257−-- | The regex to be used when from_email_mode is match or no-match.
258−-- It is a required parameter on such cases.
259−makeLens "_efsFromEmailRegex" ''EmailFilters
261data SeverityFilter
196data SeverityFilter
262 = SevCritical
197 = SevCritical
@@ -271,7 +206,7 @@ data SeverityFilter
271 -- ^ SQL Monitor: Incidents are created for with high or medium severity
206 -- ^ SQL Monitor: Incidents are created for with high or medium severity
272 deriving (Eq, Show)
207 deriving (Eq, Show)
274−deriveJSONWith (dropped 3 underscored) ''SeverityFilter
209+deriveNullaryWith (dropped 3 underscored) ''SeverityFilter
276data Service = Service
211data Service = Service
277 { _svcId :: ServiceId
212 { _svcId :: ServiceId
@@ -288,8 +223,8 @@ data Service = Service
288 , _svcIncidentCounts :: IncidentCounts
223 , _svcIncidentCounts :: IncidentCounts
289 , _svcEmailFilterMode :: EmailFilterMode
224 , _svcEmailFilterMode :: EmailFilterMode
290 , _svcType :: ServiceType
225 , _svcType :: ServiceType
291− , _svcEscalationPolicy :: Maybe PolicyInfo -- FIXME: extract from inline.
226+ , _svcEscalationPolicy :: Maybe PolicyInfo -- FIXME: extract from inline.
292− , _svcEmailFilters :: Maybe EmailFilters -- FIXME: extract from inline.
227+ , _svcEmailFilters :: Maybe [EmailFilterInfo] -- FIXME: extract from inline.
293 , _svcSeverityFilter :: Maybe SeverityFilter
228 , _svcSeverityFilter :: Maybe SeverityFilter
294 } deriving (Eq, Show)
229 } deriving (Eq, Show)
@@ -321,13 +256,17 @@ makeLens "_svcAutoResolveTimeout" ''Service
321makeLens "_svcAcknowledgementTimeout" ''Service
256makeLens "_svcAcknowledgementTimeout" ''Service
323-- | The date/time when this service was created.
258-- | The date/time when this service was created.
324−makeLens "_svcCreatedAt" ''Service
259+svcCreatedAt :: Lens' Service UTCTime
260+svcCreatedAt = lens _svcCreatedAt (\s x -> s { _svcCreatedAt = x }) . _D
326-- | The current state of the Service.
262-- | The current state of the Service.
327makeLens "_svcStatus" ''Service
263makeLens "_svcStatus" ''Service
329-- | The date/time when the most recent incident was created for this service.
265-- | The date/time when the most recent incident was created for this service.
330−makeLens "_svcLastIncidentTimestamp" ''Service
266+svcLastIncidentTimestamp :: Lens' Service (Maybe UTCTime)
267+svcLastIncidentTimestamp =
268+ lens _svcLastIncidentTimestamp
269+ (\s x -> s { _svcLastIncidentTimestamp = x }) . mapping _D
332-- | If the service is a Generic Email service, this describes what kind of
271-- | If the service is a Generic Email service, this describes what kind of
333-- emails create an incident.
272-- emails create an incident.
@@ -360,14 +299,19 @@ newtype ListServices = ListServices
361instance Paginate ListServices
300instance Paginate ListServices
363−deriveJSON ''ListServices
302+queryRequest ''ListServices
364−makeLenses ''ListServices
303+
304+-- | Time zone in which dates in the result will be rendered.
306+-- /Default:/ account default time zone.
307+lsTimeZone :: Lens' (Request ListServices s r) (Maybe TimeZone)
308+lsTimeZone = upd.lsTimeZone'.mapping _TZ
366-- | List existing services.
310-- | List existing services.
368-- @GET \/services@
312-- @GET \/services@
370−-- See: <http://developer.pagerduty.com/documentation/rest/services/list>
314+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/list>
371listServices :: Request ListServices s [Service]
315listServices :: Request ListServices s [Service]
372listServices =
316listServices =
373 mk ListServices
317 mk ListServices
@@ -376,15 +320,9 @@ listServices =
376 & query .~ includes
320 & query .~ includes
377 & unwrap .~ key "escalation_policies"
321 & unwrap .~ key "escalation_policies"
379−-- | Time zone in which dates in the result will be rendered.
381−-- Defaults to account default time zone.
382−lsTimeZone :: Lens' (Request ListServices s r) (Maybe TimeZone)
383−lsTimeZone = upd.lsTimeZone'._TZ
385data CreateService = CreateService
323data CreateService = CreateService
386 { _csName' :: Text
324 { _csName' :: Text
387− , _csEscalationPolicyId' :: PolicyId
325+ , _csEscalationPolicyId' :: EscalationPolicyId
388 , _csType' :: !ServiceType
326 , _csType' :: !ServiceType
389 , _csVendorId' :: Maybe VendorId
327 , _csVendorId' :: Maybe VendorId
390 , _csDescription' :: Maybe Text
328 , _csDescription' :: Maybe Text
@@ -393,30 +331,7 @@ data CreateService = CreateService
393 , _csSeverityFilter' :: Maybe SeverityFilter
331 , _csSeverityFilter' :: Maybe SeverityFilter
394 } deriving (Eq, Show)
332 } deriving (Eq, Show)
396−deriveJSON ''CreateService
397−makeLenses ''CreateService
334+jsonRequest ''CreateService
399−-- | Creates a new service.
403−-- See: <http://developer.pagerduty.com/documentation/rest/services/create>
404−createService :: Text
407− -> Request CreateService s Service
408−createService n p t =
411− , _csEscalationPolicyId' = p
413− , _csVendorId' = Nothing
414− , _csDescription' = Nothing
415− , _csAcknowledgementTimeout' = Nothing
416− , _csAutoResolveTimeout' = Nothing
417− , _csSeverityFilter' = Nothing
418− } & path .~ services
419− & unwrap .~ key "service"
421-- | The name of the service.
336-- | The name of the service.
422csName :: Lens' (Request CreateService s r) Text
337csName :: Lens' (Request CreateService s r) Text
@@ -436,19 +351,19 @@ csVendorId :: Lens' (Request CreateService s r) (Maybe VendorId)
436csVendorId = upd.csVendorId'
351csVendorId = upd.csVendorId'
438-- | The id of the escalation policy to be used by this service.
353-- | The id of the escalation policy to be used by this service.
439−csEscalationPolicyId :: Lens' (Request CreateService s r) PolicyId
354+csEscalationPolicyId :: Lens' (Request CreateService s r) EscalationPolicyId
440csEscalationPolicyId = upd.csEscalationPolicyId'
355csEscalationPolicyId = upd.csEscalationPolicyId'
442-- | The duration in seconds before an incidents acknowledged in this service
357-- | The duration in seconds before an incidents acknowledged in this service
443-- become triggered again.
358-- become triggered again.
445−-- Defaults to 30 minutes.
360+-- /Default:/ 30 minutes.
446csAcknowledgementTimeout :: Lens' (Request CreateService s r) (Maybe Int)
361csAcknowledgementTimeout :: Lens' (Request CreateService s r) (Maybe Int)
447csAcknowledgementTimeout = upd.csAcknowledgementTimeout'
362csAcknowledgementTimeout = upd.csAcknowledgementTimeout'
449-- | The duration in seconds before a triggered incident auto-resolves itself.
364-- | The duration in seconds before a triggered incident auto-resolves itself.
451−-- Defaults to 4 hours.
366+-- /Default:/ 4 hours.
452csAutoResolveTimeout :: Lens' (Request CreateService s r) (Maybe Int)
367csAutoResolveTimeout :: Lens' (Request CreateService s r) (Maybe Int)
453csAutoResolveTimeout = upd.csAutoResolveTimeout'
368csAutoResolveTimeout = upd.csAutoResolveTimeout'
@@ -456,11 +371,33 @@ csAutoResolveTimeout = upd.csAutoResolveTimeout'
456csSeverityFilter :: Lens' (Request CreateService s r) (Maybe SeverityFilter)
371csSeverityFilter :: Lens' (Request CreateService s r) (Maybe SeverityFilter)
457csSeverityFilter = upd.csSeverityFilter'
372csSeverityFilter = upd.csSeverityFilter'
374+-- | Creates a new service.
378+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/create>
379+createService :: Text
380+ -> EscalationPolicyId
382+ -> Request CreateService s Service
383+createService n p t =
386+ , _csEscalationPolicyId' = p
388+ , _csVendorId' = Nothing
389+ , _csDescription' = Nothing
390+ , _csAcknowledgementTimeout' = Nothing
391+ , _csAutoResolveTimeout' = Nothing
392+ , _csSeverityFilter' = Nothing
393+ } & path .~ services
394+ & unwrap .~ key "service"
459-- | Get details about an existing service.
396-- | Get details about an existing service.
461-- @GET services\/\:id@
398-- @GET services\/\:id@
463−-- See: <http://developer.pagerduty.com/documentation/rest/services/show>
400+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/show>
464getService :: ServiceId -> Request Empty s Service
401getService :: ServiceId -> Request Empty s Service
465getService i = empty
402getService i = empty
466 & path .~ services % i
403 & path .~ services % i
@@ -470,32 +407,13 @@ getService i = empty
470data UpdateService = UpdateService
407data UpdateService = UpdateService
471 { _usName' :: Maybe Text
408 { _usName' :: Maybe Text
472 , _usDescription' :: Maybe Text
409 , _usDescription' :: Maybe Text
473− , _usEscalationPolicyId' :: Maybe PolicyId
410+ , _usEscalationPolicyId' :: Maybe EscalationPolicyId
474 , _usAcknowledgementTimeout' :: Maybe Int
411 , _usAcknowledgementTimeout' :: Maybe Int
475 , _usAutoResolveTimeout' :: Maybe Int
412 , _usAutoResolveTimeout' :: Maybe Int
476 , _usSeverityFilter' :: Maybe SeverityFilter
413 , _usSeverityFilter' :: Maybe SeverityFilter
477 } deriving (Eq, Show)
414 } deriving (Eq, Show)
479−deriveJSON ''UpdateService
480−makeLenses ''UpdateService
416+jsonRequest ''UpdateService
482−-- | Update an existing service.
484−-- @PUT services\/\:id@
486−-- See: <http://developer.pagerduty.com/documentation/rest/services/update>
487−updateService :: ServiceId -> Request UpdateService s Service
490− { _usName' = Nothing
491− , _usEscalationPolicyId' = Nothing
492− , _usDescription' = Nothing
493− , _usAcknowledgementTimeout' = Nothing
494− , _usAutoResolveTimeout' = Nothing
495− , _usSeverityFilter' = Nothing
497− & path .~ services % i
498− & unwrap .~ key "service"
500-- | The name of the service.
418-- | The name of the service.
501usName :: Lens' (Request UpdateService s r) (Maybe Text)
419usName :: Lens' (Request UpdateService s r) (Maybe Text)
@@ -506,19 +424,19 @@ usDescription :: Lens' (Request UpdateService s r) (Maybe Text)
506usDescription = upd.usDescription'
424usDescription = upd.usDescription'
508-- | The id of the escalation policy to be used by this service.
426-- | The id of the escalation policy to be used by this service.
509−usEscalationPolicyId :: Lens' (Request UpdateService s r) (Maybe PolicyId)
427+usEscalationPolicyId :: Lens' (Request UpdateService s r) (Maybe EscalationPolicyId)
510usEscalationPolicyId = upd.usEscalationPolicyId'
428usEscalationPolicyId = upd.usEscalationPolicyId'
512-- | The duration in seconds before an incidents acknowledged in this service
430-- | The duration in seconds before an incidents acknowledged in this service
513-- become triggered again.
431-- become triggered again.
515−-- Defaults to 30 minutes.
433+-- /Default:/ 30 minutes.
516usAcknowledgementTimeout :: Lens' (Request UpdateService s r) (Maybe Int)
434usAcknowledgementTimeout :: Lens' (Request UpdateService s r) (Maybe Int)
517usAcknowledgementTimeout = upd.usAcknowledgementTimeout'
435usAcknowledgementTimeout = upd.usAcknowledgementTimeout'
519-- | The duration in seconds before a triggered incident auto-resolves itself.
437-- | The duration in seconds before a triggered incident auto-resolves itself.
521−-- Defaults to 4 hours.
439+-- /Default:/ 4 hours.
522usAutoResolveTimeout :: Lens' (Request UpdateService s r) (Maybe Int)
440usAutoResolveTimeout :: Lens' (Request UpdateService s r) (Maybe Int)
523usAutoResolveTimeout = upd.usAutoResolveTimeout'
441usAutoResolveTimeout = upd.usAutoResolveTimeout'
@@ -526,13 +444,31 @@ usAutoResolveTimeout = upd.usAutoResolveTimeout'
526usSeverityFilter :: Lens' (Request UpdateService s r) (Maybe SeverityFilter)
444usSeverityFilter :: Lens' (Request UpdateService s r) (Maybe SeverityFilter)
527usSeverityFilter = upd.usSeverityFilter'
445usSeverityFilter = upd.usSeverityFilter'
447+-- | Update an existing service.
449+-- @PUT services\/\:id@
451+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/update>
452+updateService :: ServiceId -> Request UpdateService s Service
455+ { _usName' = Nothing
456+ , _usEscalationPolicyId' = Nothing
457+ , _usDescription' = Nothing
458+ , _usAcknowledgementTimeout' = Nothing
459+ , _usAutoResolveTimeout' = Nothing
460+ , _usSeverityFilter' = Nothing
462+ & path .~ services % i
463+ & unwrap .~ key "service"
529-- | Delete an existing service. Once the service is deleted, it will not be
465-- | Delete an existing service. Once the service is deleted, it will not be
530-- accessible from the web UI and new incidents won't be able to be created
466-- accessible from the web UI and new incidents won't be able to be created
531-- for this service.
467-- for this service.
533-- @DELETE \/services/:id@
469-- @DELETE \/services/:id@
535−-- See: <http://developer.pagerduty.com/documentation/rest/services/delete>
471+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/delete>
536deleteService :: ServiceId -> Request Empty s Empty
472deleteService :: ServiceId -> Request Empty s Empty
537deleteService i = empty & meth .~ DELETE & path .~ services % i
473deleteService i = empty & meth .~ DELETE & path .~ services % i
@@ -540,13 +476,14 @@ deleteService i = empty & meth .~ DELETE & path .~ services % i
541-- @PUT services\/\:id\/enable@
477-- @PUT services\/\:id\/enable@
543−-- See: <http://developer.pagerduty.com/documentation/rest/services/enable>
479+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/enable>
544enableService :: RequesterId -> ServiceId -> Request Empty s Empty
480enableService :: RequesterId -> ServiceId -> Request Empty s Empty
545−enableService r i = auth (enableServiceBasic i) & query .~ [("requester_id", r)]
482+ auth (enableServiceBasic i) & query .~ [("requester_id", r)]
547-- | A version of 'enableService' which uses HTTP Basic authentication and
484-- | A version of 'enableService' which uses HTTP Basic authentication and
548-- doesn't require a 'RequesterId'.
485-- doesn't require a 'RequesterId'.
549−enableServiceBasic :: ServiceId -> Request Empty Basic Empty
486+enableServiceBasic :: ServiceId -> Request Empty 'Basic Empty
550enableServiceBasic i = empty & meth .~ PUT & path .~ services % i % "enable"
487enableServiceBasic i = empty & meth .~ PUT & path .~ services % i % "enable"
552-- | Disable a service. Once a service is disabled, it will not be able to
489-- | Disable a service. Once a service is disabled, it will not be able to
@@ -554,13 +491,14 @@ enableServiceBasic i = empty & meth .~ PUT & path .~ services % i % "enable"
555-- @PUT services\/\:id\/disable@
492-- @PUT services\/\:id\/disable@
557−-- See: <http://developer.pagerduty.com/documentation/rest/services/disable>
494+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/disable>
558disableService :: RequesterId -> ServiceId -> Request Empty s Empty
495disableService :: RequesterId -> ServiceId -> Request Empty s Empty
559−disableService r i = auth (disableServiceBasic i) & query .~ [("requester_id", r)]
497+ auth (disableServiceBasic i) & query .~ [("requester_id", r)]
561-- | A version of 'disableService' which uses HTTP Basic authentication and
499-- | A version of 'disableService' which uses HTTP Basic authentication and
562-- doesn't require a 'RequesterId'.
500-- doesn't require a 'RequesterId'.
563−disableServiceBasic :: ServiceId -> Request Empty Basic Empty
501+disableServiceBasic :: ServiceId -> Request Empty 'Basic Empty
564disableServiceBasic i = empty & meth .~ PUT & path .~ services % i % "disable"
502disableServiceBasic i = empty & meth .~ PUT & path .~ services % i % "disable"
566-- | Regenerate a new service key for an existing service.
504-- | Regenerate a new service key for an existing service.
@@ -570,6 +508,6 @@ disableServiceBasic i = empty & meth .~ PUT & path .~ services % i % "disable"
571-- @POST services\/\:id\/regenerate_key@
509-- @POST services\/\:id\/regenerate_key@
573−-- See: <http://developer.pagerduty.com/documentation/rest/services/regenerate_key>
511+-- /See:/ <http://developer.pagerduty.com/documentation/rest/services/regenerate_key>
574regenerateKey :: ServiceId -> Request Empty s Service
512regenerateKey :: ServiceId -> Request Empty s Service
575regenerateKey i = empty & meth .~ POST & path .~ services % i % "regenerate_key"
513regenerateKey i = empty & meth .~ POST & path .~ services % i % "regenerate_key"