on 88441d2 help sign in
186 lines 5.5 kB history raw
1{-# LANGUAGE DataKinds #-}
2{-# LANGUAGE DeriveDataTypeable #-}
3{-# LANGUAGE DeriveGeneric #-}
4{-# LANGUAGE RecordWildCards #-}
5{-# LANGUAGE TypeFamilies #-}
6{-# LANGUAGE TypeOperators #-}
8{-# OPTIONS_GHC -fno-warn-unused-imports #-}
9{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
11-- |
12-- Module : Network.Google.API.Taskqueue.Tasks.Delete
13-- Copyright : (c) 2015 Brendan Hay
14-- License : Mozilla Public License, v. 2.0.
15-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
16-- Stability : auto-generated
17-- Portability : non-portable (GHC extensions)
18--
19-- | Delete a task from a TaskQueue.
20--
21-- /See:/ <https://developers.google.com/appengine/docs/python/taskqueue/rest TaskQueue API Reference> for @taskqueue.tasks.delete@.
22module Network.Google.API.Taskqueue.Tasks.Delete
23 (
24 -- * REST Resource
25 TasksDeleteAPI
27 -- * Creating a Request
28 , tasksDelete'
29 , TasksDelete'
31 -- * Request Lenses
32 , tdTaskqueue
33 , tdQuotaUser
34 , tdPrettyPrint
35 , tdProject
36 , tdUserIp
37 , tdKey
38 , tdTask
39 , tdOauthToken
40 , tdFields
41 , tdAlt
42 ) where
44import Network.Google.AppEngine.TaskQueue.Types
45import Network.Google.Prelude
47-- | A resource alias for taskqueue.tasks.delete which the
48-- 'TasksDelete'' request conforms to.
49type TasksDeleteAPI =
50 Capture "project" Text :>
51 "taskqueues" :>
52 Capture "taskqueue" Text :>
53 "tasks" :>
54 Capture "task" Text :>
55 QueryParam "quotaUser" Text :>
56 QueryParam "prettyPrint" Bool :>
57 QueryParam "userIp" Text :>
58 QueryParam "key" Text :>
59 QueryParam "oauth_token" Text :>
60 QueryParam "fields" Text :>
61 QueryParam "alt" Alt :> Delete '[JSON] ()
63-- | Delete a task from a TaskQueue.
64--
65-- /See:/ 'tasksDelete'' smart constructor.
66data TasksDelete' = TasksDelete'
67 { _tdTaskqueue :: !Text
68 , _tdQuotaUser :: !(Maybe Text)
69 , _tdPrettyPrint :: !Bool
70 , _tdProject :: !Text
71 , _tdUserIp :: !(Maybe Text)
72 , _tdKey :: !(Maybe Text)
73 , _tdTask :: !Text
74 , _tdOauthToken :: !(Maybe Text)
75 , _tdFields :: !(Maybe Text)
76 , _tdAlt :: !Alt
77 } deriving (Eq,Read,Show,Data,Typeable,Generic)
79-- | Creates a value of 'TasksDelete'' with the minimum fields required to make a request.
80--
81-- Use one of the following lenses to modify other fields as desired:
82--
83-- * 'tdTaskqueue'
84--
85-- * 'tdQuotaUser'
86--
87-- * 'tdPrettyPrint'
88--
89-- * 'tdProject'
90--
91-- * 'tdUserIp'
92--
93-- * 'tdKey'
94--
95-- * 'tdTask'
96--
97-- * 'tdOauthToken'
98--
99-- * 'tdFields'
100--
101-- * 'tdAlt'
102tasksDelete'
103 :: Text -- ^ 'taskqueue'
104 -> Text -- ^ 'project'
105 -> Text -- ^ 'task'
106 -> TasksDelete'
107tasksDelete' pTdTaskqueue_ pTdProject_ pTdTask_ =
108 TasksDelete'
109 { _tdTaskqueue = pTdTaskqueue_
110 , _tdQuotaUser = Nothing
111 , _tdPrettyPrint = True
112 , _tdProject = pTdProject_
113 , _tdUserIp = Nothing
114 , _tdKey = Nothing
115 , _tdTask = pTdTask_
116 , _tdOauthToken = Nothing
117 , _tdFields = Nothing
118 , _tdAlt = JSON
119 }
121-- | The taskqueue to delete a task from.
122tdTaskqueue :: Lens' TasksDelete' Text
123tdTaskqueue
124 = lens _tdTaskqueue (\ s a -> s{_tdTaskqueue = a})
126-- | Available to use for quota purposes for server-side applications. Can be
127-- any arbitrary string assigned to a user, but should not exceed 40
128-- characters. Overrides userIp if both are provided.
129tdQuotaUser :: Lens' TasksDelete' (Maybe Text)
130tdQuotaUser
131 = lens _tdQuotaUser (\ s a -> s{_tdQuotaUser = a})
133-- | Returns response with indentations and line breaks.
134tdPrettyPrint :: Lens' TasksDelete' Bool
135tdPrettyPrint
136 = lens _tdPrettyPrint
137 (\ s a -> s{_tdPrettyPrint = a})
139-- | The project under which the queue lies.
140tdProject :: Lens' TasksDelete' Text
141tdProject
142 = lens _tdProject (\ s a -> s{_tdProject = a})
144-- | IP address of the site where the request originates. Use this if you
145-- want to enforce per-user limits.
146tdUserIp :: Lens' TasksDelete' (Maybe Text)
147tdUserIp = lens _tdUserIp (\ s a -> s{_tdUserIp = a})
149-- | API key. Your API key identifies your project and provides you with API
150-- access, quota, and reports. Required unless you provide an OAuth 2.0
151-- token.
152tdKey :: Lens' TasksDelete' (Maybe Text)
153tdKey = lens _tdKey (\ s a -> s{_tdKey = a})
155-- | The id of the task to delete.
156tdTask :: Lens' TasksDelete' Text
157tdTask = lens _tdTask (\ s a -> s{_tdTask = a})
159-- | OAuth 2.0 token for the current user.
160tdOauthToken :: Lens' TasksDelete' (Maybe Text)
161tdOauthToken
162 = lens _tdOauthToken (\ s a -> s{_tdOauthToken = a})
164-- | Selector specifying which fields to include in a partial response.
165tdFields :: Lens' TasksDelete' (Maybe Text)
166tdFields = lens _tdFields (\ s a -> s{_tdFields = a})
168-- | Data format for the response.
169tdAlt :: Lens' TasksDelete' Alt
170tdAlt = lens _tdAlt (\ s a -> s{_tdAlt = a})
172instance GoogleRequest TasksDelete' where
173 type Rs TasksDelete' = ()
174 request
175 = requestWithRoute defReq appEngineTaskQueueURL
176 requestWithRoute r u TasksDelete'{..}
177 = go _tdTaskqueue _tdQuotaUser (Just _tdPrettyPrint)
178 _tdProject
179 _tdUserIp
180 _tdKey
181 _tdTask
182 _tdOauthToken
183 _tdFields
184 (Just _tdAlt)
185 where go
186 = clientWithRoute (Proxy :: Proxy TasksDeleteAPI) r u