RockyRoad 0.0.592__py3-none-any.whl → 0.0.602__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- from .module_imports import key
1
+ from .module_imports import get_key
2
2
  from uplink.retry.when import status_5xx
3
3
  from uplink import (
4
4
  Consumer,
@@ -6,6 +6,9 @@ from uplink import (
6
6
  retry,
7
7
  )
8
8
 
9
+ # Module configuration
10
+ USE_SERVICES_API = True
11
+ key = get_key(use_services_api=USE_SERVICES_API)
9
12
 
10
13
  @headers({"Ocp-Apim-Subscription-Key": key})
11
14
  @retry(max_attempts=20, when=status_5xx())
@@ -15,7 +18,9 @@ class _Calculators(Consumer):
15
18
 
16
19
  def __init__(self, Resource, *args, **kw):
17
20
  self._base_url = Resource._base_url
18
- super().__init__(base_url=Resource._base_url, *args, **kw)
21
+ self._services_base_url = Resource._services_base_url
22
+ base_url = Resource._services_base_url if USE_SERVICES_API else Resource._base_url
23
+ super().__init__(base_url=base_url, *args, **kw)
19
24
 
20
25
  def tco(self):
21
26
  return self._TCO(self)
@@ -0,0 +1,447 @@
1
+ from .module_imports import get_key
2
+ from uplink.retry.when import status_5xx
3
+ from uplink import (
4
+ Consumer,
5
+ delete,
6
+ get as http_get,
7
+ patch,
8
+ post,
9
+ returns,
10
+ headers,
11
+ retry,
12
+ Body,
13
+ json,
14
+ Query,
15
+ )
16
+
17
+ # Module configuration
18
+ USE_SERVICES_API = True
19
+ key = get_key(use_services_api=USE_SERVICES_API)
20
+
21
+
22
+ @headers({"Ocp-Apim-Subscription-Key": key})
23
+ @retry(max_attempts=20, when=status_5xx())
24
+ class Case_Management(Consumer):
25
+ """Interface to Case Management resource for the RockyRoad API."""
26
+
27
+ def __init__(self, Resource, *args, **kw):
28
+ self._base_url = Resource._services_base_url if USE_SERVICES_API else Resource._base_url
29
+ super().__init__(base_url=self._base_url, *args, **kw)
30
+
31
+ def cases(self):
32
+ return self.__Cases(self)
33
+
34
+ def case_types(self):
35
+ return self.__Case_Types(self)
36
+
37
+ def case_priorities(self):
38
+ return self.__Case_Priorities(self)
39
+
40
+ def case_statuses(self):
41
+ return self.__Case_Statuses(self)
42
+
43
+ def case_origins(self):
44
+ return self.__Case_Origins(self)
45
+
46
+ def team_members(self):
47
+ return self.__Team_Members(self)
48
+
49
+ def contacts(self):
50
+ return self.__Contacts(self)
51
+
52
+ def timelines(self):
53
+ return self.__Timelines(self)
54
+
55
+ def attachments(self):
56
+ return self.__Attachments(self)
57
+
58
+ @headers({"Ocp-Apim-Subscription-Key": key})
59
+ @retry(max_attempts=20, when=status_5xx())
60
+ class __Cases(Consumer):
61
+ """Interface to Cases resource for the RockyRoad API."""
62
+
63
+ def __init__(self, Resource, *args, **kw):
64
+ self._base_url = Resource._base_url
65
+ super().__init__(base_url=self._base_url, *args, **kw)
66
+
67
+ @returns.json
68
+ @http_get("case-management/cases")
69
+ def list(
70
+ self,
71
+ case_type_uid: Query = None,
72
+ priority_uid: Query = None,
73
+ status_uid: Query = None,
74
+ origin_uid: Query = None,
75
+ owner_team_member_uid: Query = None,
76
+ customer_contact_uid: Query = None,
77
+ customer_company_uid: Query = None,
78
+ machine_uid: Query = None,
79
+ is_escalated: Query = None,
80
+ ):
81
+ """This call will return detailed case information for the specified criteria."""
82
+
83
+ @returns.json
84
+ @http_get("case-management/cases/{uid}")
85
+ def get(
86
+ self,
87
+ uid: str,
88
+ ):
89
+ """This call will return detailed case information for the specified criteria."""
90
+
91
+ @delete("case-management/cases/{uid}")
92
+ def delete(self, uid: str):
93
+ """This call will delete the case for the specified uid."""
94
+
95
+ @returns.json
96
+ @json
97
+ @post("case-management/cases")
98
+ def insert(self, case: Body):
99
+ """This call will create a case with the specified parameters."""
100
+
101
+ @json
102
+ @patch("case-management/cases/{uid}")
103
+ def update(self, uid: str, case: Body):
104
+ """This call will update the case with the specified parameters."""
105
+
106
+ @headers({"Ocp-Apim-Subscription-Key": key})
107
+ @retry(max_attempts=20, when=status_5xx())
108
+ class __Case_Types(Consumer):
109
+ """Interface to Case Types resource for the RockyRoad API."""
110
+
111
+ def __init__(self, Resource, *args, **kw):
112
+ self._base_url = Resource._base_url
113
+ super().__init__(base_url=self._base_url, *args, **kw)
114
+
115
+ @returns.json
116
+ @http_get("case-management/case-types")
117
+ def list(
118
+ self,
119
+ is_active: Query = None,
120
+ ):
121
+ """This call will return detailed case information for the specified criteria."""
122
+
123
+ @returns.json
124
+ @http_get("case-management/case-types/{uid}")
125
+ def get(
126
+ self,
127
+ uid: str,
128
+ ):
129
+ """This call will return detailed case type information for the specified criteria."""
130
+
131
+ @delete("case-management/case-types/{uid}")
132
+ def delete(self, uid: str):
133
+ """This call will delete the case type for the specified uid."""
134
+
135
+ @returns.json
136
+ @json
137
+ @post("case-management/case-types")
138
+ def insert(self, case_type: Body):
139
+ """This call will create a case type with the specified parameters."""
140
+
141
+ @json
142
+ @patch("case-management/case-types/{uid}")
143
+ def update(self, uid: str, case_type: Body):
144
+ """This call will update the case type with the specified parameters."""
145
+
146
+ @headers({"Ocp-Apim-Subscription-Key": key})
147
+ @retry(max_attempts=20, when=status_5xx())
148
+ class __Case_Priorities(Consumer):
149
+ """Interface to Cases resource for the RockyRoad API."""
150
+
151
+ def __init__(self, Resource, *args, **kw):
152
+ self._base_url = Resource._base_url
153
+ super().__init__(base_url=self._base_url, *args, **kw)
154
+
155
+ @returns.json
156
+ @http_get("case-management/case-priorities")
157
+ def list(
158
+ self,
159
+ is_active: Query = None,
160
+ ):
161
+ """This call will return detailed case information for the specified criteria."""
162
+
163
+ @returns.json
164
+ @http_get("case-management/case-priorities/{uid}")
165
+ def get(
166
+ self,
167
+ uid: str,
168
+ ):
169
+ """This call will return detailed case priority information for the specified criteria."""
170
+
171
+ @delete("case-management/case-priorities/{uid}")
172
+ def delete(self, uid: str):
173
+ """This call will delete the case priority for the specified uid."""
174
+
175
+ @returns.json
176
+ @json
177
+ @post("case-management/case-priorities")
178
+ def insert(self, case_priority: Body):
179
+ """This call will create a case priority with the specified parameters."""
180
+
181
+ @json
182
+ @patch("case-management/case-priorities/{uid}")
183
+ def update(self, uid: str, case_priority: Body):
184
+ """This call will update the case priority with the specified parameters."""
185
+
186
+ @headers({"Ocp-Apim-Subscription-Key": key})
187
+ @retry(max_attempts=20, when=status_5xx())
188
+ class __Case_Origins(Consumer):
189
+ """Interface to Cases resource for the RockyRoad API."""
190
+
191
+ def __init__(self, Resource, *args, **kw):
192
+ self._base_url = Resource._base_url
193
+ super().__init__(base_url=self._base_url, *args, **kw)
194
+
195
+ @returns.json
196
+ @http_get("case-management/case-origins")
197
+ def list(
198
+ self,
199
+ is_active: Query = None,
200
+ ):
201
+ """This call will return detailed case origin information for the specified criteria."""
202
+
203
+ @returns.json
204
+ @http_get("case-management/case-origins/{uid}")
205
+ def get(
206
+ self,
207
+ uid: str,
208
+ ):
209
+ """This call will return detailed case origin information for the specified criteria."""
210
+
211
+ @delete("case-management/case-origins/{uid}")
212
+ def delete(self, uid: str):
213
+ """This call will delete the case origin for the specified uid."""
214
+
215
+ @returns.json
216
+ @json
217
+ @post("case-management/case-origins")
218
+ def insert(self, case_origin: Body):
219
+ """This call will create a case origin with the specified parameters."""
220
+
221
+ @json
222
+ @patch("case-management/case-origins/{uid}")
223
+ def update(self, uid: str, case_origin: Body):
224
+ """This call will update the case origin with the specified parameters."""
225
+
226
+ @headers({"Ocp-Apim-Subscription-Key": key})
227
+ @retry(max_attempts=20, when=status_5xx())
228
+ class __Case_Statuses(Consumer):
229
+ """Interface to Cases resource for the RockyRoad API."""
230
+
231
+ def __init__(self, Resource, *args, **kw):
232
+ self._base_url = Resource._base_url
233
+ super().__init__(base_url=self._base_url, *args, **kw)
234
+
235
+ @returns.json
236
+ @http_get("case-management/case-statuses")
237
+ def list(
238
+ self,
239
+ is_active: Query = None,
240
+ ):
241
+ """This call will return detailed case status information for the specified criteria."""
242
+
243
+ @returns.json
244
+ @http_get("case-management/case-statuses/{uid}")
245
+ def get(
246
+ self,
247
+ uid: str,
248
+ ):
249
+ """This call will return detailed case status information for the specified criteria."""
250
+
251
+ @delete("case-management/case-statuses/{uid}")
252
+ def delete(self, uid: str):
253
+ """This call will delete the case status for the specified uid."""
254
+
255
+ @returns.json
256
+ @json
257
+ @post("case-management/case-statuses")
258
+ def insert(self, case_status: Body):
259
+ """This call will create a case status with the specified parameters."""
260
+
261
+ @json
262
+ @patch("case-management/case-statuses/{uid}")
263
+ def update(self, uid: str, case_status: Body):
264
+ """This call will update the case status with the specified parameters."""
265
+
266
+ @headers({"Ocp-Apim-Subscription-Key": key})
267
+ @retry(max_attempts=20, when=status_5xx())
268
+ class __Team_Members(Consumer):
269
+ """Interface to Team Members resource for the RockyRoad API."""
270
+
271
+ def __init__(self, Resource, *args, **kw):
272
+ self._base_url = Resource._base_url
273
+ super().__init__(base_url=self._base_url, *args, **kw)
274
+
275
+ @returns.json
276
+ @http_get("case-management/team-members")
277
+ def list(
278
+ self,
279
+ is_active: Query = None,
280
+ ):
281
+ """This call will return detailed team member information for the specified criteria."""
282
+
283
+ @returns.json
284
+ @http_get("case-management/team-members/{uid}")
285
+ def get(
286
+ self,
287
+ uid: str,
288
+ ):
289
+ """This call will return detailed team member information for the specified criteria."""
290
+
291
+ @delete("case-management/team-members/{uid}")
292
+ def delete(self, uid: str):
293
+ """This call will delete the team member for the specified uid."""
294
+
295
+ @returns.json
296
+ @json
297
+ @post("case-management/team-members")
298
+ def insert(self, team_member: Body):
299
+ """This call will create a team member with the specified parameters."""
300
+
301
+ @json
302
+ @patch("case-management/team-members/{uid}")
303
+ def update(self, uid: str, team_member: Body):
304
+ """This call will update the team member with the specified parameters."""
305
+
306
+ @headers({"Ocp-Apim-Subscription-Key": key})
307
+ @retry(max_attempts=20, when=status_5xx())
308
+ class __Contacts(Consumer):
309
+ """Interface to Contacts resource for the RockyRoad API."""
310
+
311
+ def __init__(self, Resource, *args, **kw):
312
+ self._base_url = Resource._base_url
313
+ super().__init__(base_url=self._base_url, *args, **kw)
314
+
315
+ @returns.json
316
+ @http_get("case-management/contacts")
317
+ def list(
318
+ self,
319
+ is_active: Query = None,
320
+ ):
321
+ """This call will return detailed contact information for the specified criteria."""
322
+
323
+ @returns.json
324
+ @http_get("case-management/contacts/{uid}")
325
+ def get(
326
+ self,
327
+ uid: str,
328
+ ):
329
+ """This call will return detailed contact information for the specified criteria."""
330
+
331
+ @delete("case-management/contacts/{uid}")
332
+ def delete(self, uid: str):
333
+ """This call will delete the contact for the specified uid."""
334
+
335
+ @returns.json
336
+ @json
337
+ @post("case-management/contacts")
338
+ def insert(self, contact: Body):
339
+ """This call will create a contact with the specified parameters."""
340
+
341
+ @json
342
+ @patch("case-management/contacts/{uid}")
343
+ def update(self, uid: str, contact: Body):
344
+ """This call will update the contact with the specified parameters."""
345
+
346
+ @headers({"Ocp-Apim-Subscription-Key": key})
347
+ @retry(max_attempts=20, when=status_5xx())
348
+ class __Timelines(Consumer):
349
+ """Interface to Timelines resource for the RockyRoad API."""
350
+
351
+ def __init__(self, Resource, *args, **kw):
352
+ self._base_url = Resource._base_url
353
+ super().__init__(base_url=self._base_url, *args, **kw)
354
+
355
+ @returns.json
356
+ @http_get("case-management/timelines")
357
+ def list(
358
+ self,
359
+ is_active: Query = None,
360
+ ):
361
+ """This call will return detailed timeline information for the specified criteria."""
362
+
363
+ @returns.json
364
+ @http_get("case-management/timelines/{uid}")
365
+ def get(
366
+ self,
367
+ uid: str,
368
+ ):
369
+ """This call will return detailed timeline information for the specified criteria."""
370
+
371
+ @delete("case-management/timelines/{uid}")
372
+ def delete(self, uid: str):
373
+ """This call will delete the timeline for the specified uid."""
374
+
375
+ @returns.json
376
+ @json
377
+ @post("case-management/timelines")
378
+ def insert(self, timeline: Body):
379
+ """This call will create a timeline with the specified parameters."""
380
+
381
+ @json
382
+ @patch("case-management/timelines/{uid}")
383
+ def update(self, uid: str, timeline: Body):
384
+ """This call will update the timeline with the specified parameters."""
385
+
386
+ @headers({"Ocp-Apim-Subscription-Key": key})
387
+ @retry(max_attempts=20, when=status_5xx())
388
+ class __Attachments(Consumer):
389
+ """Interface to Attachments resource for the RockyRoad API."""
390
+
391
+ def __init__(self, Resource, *args, **kw):
392
+ self._base_url = Resource._base_url
393
+ super().__init__(base_url=self._base_url, *args, **kw)
394
+
395
+ @returns.json
396
+ @http_get("case-management/attachments")
397
+ def list(
398
+ self,
399
+ is_active: Query = None,
400
+ ):
401
+ """This call will return detailed attachment information for the specified criteria."""
402
+
403
+ @returns.json
404
+ @http_get("case-management/case/{case_uid}/attachments")
405
+ def list_by_case(
406
+ self,
407
+ case_uid: str,
408
+ is_internal: Query = None,
409
+ ):
410
+ """This call will return detailed attachment information for the specified criteria."""
411
+
412
+ @returns.json
413
+ @http_get("case-management/timeline/{timeline_uid}/attachments")
414
+ def list_by_timeline(
415
+ self,
416
+ timeline_uid: str,
417
+ is_internal: Query = None,
418
+ ):
419
+ """This call will return detailed attachment information for the specified criteria."""
420
+
421
+ @returns.json
422
+ @http_get("case-management/attachments/{uid}")
423
+ def get(
424
+ self,
425
+ uid: str,
426
+ ):
427
+ """This call will return detailed attachment information for the specified criteria."""
428
+
429
+ @delete("case-management/attachments/{uid}")
430
+ def delete(self, uid: str):
431
+ """This call will delete the attachment for the specified uid."""
432
+
433
+ @returns.json
434
+ @json
435
+ @post("case-management/case/{case_uid}/attachments")
436
+ def insert_by_case(self, case_uid: str, attachment: Body):
437
+ """This call will create an attachment with the specified parameters."""
438
+
439
+ @json
440
+ @post("case-management/timeline/{timeline_uid}/attachments")
441
+ def insert_by_timeline(self, timeline_uid: str, attachment: Body):
442
+ """This call will create an attachment with the specified parameters."""
443
+
444
+ @json
445
+ @patch("case-management/attachments/{uid}")
446
+ def update(self, uid: str, attachment: Body):
447
+ """This call will update the attachment with the specified parameters."""
@@ -0,0 +1,172 @@
1
+ from .module_imports import get_key
2
+ from uplink.retry.when import status_5xx
3
+ from uplink import (
4
+ Consumer,
5
+ delete,
6
+ get as http_get,
7
+ patch,
8
+ post,
9
+ returns,
10
+ headers,
11
+ retry,
12
+ Body,
13
+ json,
14
+ Query,
15
+ )
16
+
17
+ # Module configuration
18
+ USE_SERVICES_API = True
19
+ key = get_key(use_services_api=USE_SERVICES_API)
20
+
21
+
22
+ @headers({"Ocp-Apim-Subscription-Key": key})
23
+ @retry(max_attempts=20, when=status_5xx())
24
+ class Price_Reviews(Consumer):
25
+ """Interface to Price Reviews resource for the RockyRoad API."""
26
+
27
+ def __init__(self, Resource, *args, **kw):
28
+ self._base_url = Resource._services_base_url if USE_SERVICES_API else Resource._base_url
29
+ super().__init__(base_url=self._base_url, *args, **kw)
30
+
31
+ def requests(self):
32
+ return self.__Requests(self)
33
+
34
+ def parts(self):
35
+ return self.__Parts(self)
36
+
37
+ def logs(self):
38
+ return self.__Logs(self)
39
+
40
+ @headers({"Ocp-Apim-Subscription-Key": key})
41
+ @retry(max_attempts=20, when=status_5xx())
42
+ class __Requests(Consumer):
43
+ """Interface to Price Review Requests resource for the RockyRoad API."""
44
+
45
+ def __init__(self, Resource, *args, **kw):
46
+ self._base_url = Resource._base_url
47
+ super().__init__(base_url=self._base_url, *args, **kw)
48
+
49
+ @returns.json
50
+ @http_get("price-reviews/requests")
51
+ def list(
52
+ self,
53
+ company_uid: Query = None,
54
+ status: Query = None,
55
+ created_date_from: Query = None,
56
+ created_date_to: Query = None,
57
+ part_number: Query = None,
58
+ company_name: Query = None,
59
+ ):
60
+ """This call will return detailed price review requests information for the specified criteria."""
61
+
62
+ @returns.json
63
+ @http_get("price-reviews/requests/{uid}")
64
+ def get(
65
+ self,
66
+ uid: str,
67
+ ):
68
+ """This call will return detailed price review requests information for the specified criteria."""
69
+
70
+ @delete("price-reviews/requests/{uid}")
71
+ def delete(self, uid: str):
72
+ """This call will delete the price review requests for the specified uid."""
73
+
74
+ @returns.json
75
+ @json
76
+ @post("price-reviews/requests")
77
+ def insert(self, price_review_request: Body):
78
+ """This call will create a price review requests with the specified parameters."""
79
+
80
+ @json
81
+ @patch("price-reviews/requests/{uid}")
82
+ def update(self, uid: str, price_review_request: Body):
83
+ """This call will update the price review requests with the specified parameters."""
84
+
85
+ @headers({"Ocp-Apim-Subscription-Key": key})
86
+ @retry(max_attempts=20, when=status_5xx())
87
+ class __Parts(Consumer):
88
+ """Interface to Price Review Parts resource for the RockyRoad API."""
89
+
90
+ def __init__(self, Resource, *args, **kw):
91
+ self._base_url = Resource._base_url
92
+ super().__init__(base_url=self._base_url, *args, **kw)
93
+
94
+ @returns.json
95
+ @http_get("price-reviews/parts")
96
+ def list(
97
+ self,
98
+ ):
99
+ """This call will return detailed price review parts information for the specified criteria."""
100
+
101
+ @returns.json
102
+ @http_get("price-reviews/requests/{request_uid}/parts")
103
+ def list_by_request(
104
+ self,
105
+ request_uid: str,
106
+ ):
107
+ """This call will return detailed price review parts information for the specified criteria."""
108
+
109
+ @returns.json
110
+ @http_get("price-reviews/parts/{uid}")
111
+ def get(
112
+ self,
113
+ uid: str,
114
+ ):
115
+ """This call will return detailed price review parts information for the specified criteria."""
116
+
117
+ @delete("price-reviews/parts/{uid}")
118
+ def delete(self, uid: str):
119
+ """This call will delete the price review parts for the specified uid."""
120
+
121
+ @returns.json
122
+ @json
123
+ @post("price-reviews/requests/{request_uid}/parts")
124
+ def insert(self, request_uid: str, price_review_part: Body):
125
+ """This call will create a price review parts with the specified parameters."""
126
+
127
+ @json
128
+ @patch("price-reviews/parts/{uid}")
129
+ def update(self, uid: str, price_review_part: Body):
130
+ """This call will update the price review parts with the specified parameters."""
131
+
132
+ @headers({"Ocp-Apim-Subscription-Key": key})
133
+ @retry(max_attempts=20, when=status_5xx())
134
+ class __Logs(Consumer):
135
+ """Interface to Price Review Logs resource for the RockyRoad API."""
136
+
137
+ def __init__(self, Resource, *args, **kw):
138
+ self._base_url = Resource._base_url
139
+ super().__init__(base_url=self._base_url, *args, **kw)
140
+
141
+ @returns.json
142
+ @http_get("price-reviews/logs")
143
+ def list(
144
+ self,
145
+ ):
146
+ """This call will return detailed price review logs information for the specified criteria."""
147
+
148
+ @returns.json
149
+ @http_get("price-reviews/requests/{request_uid}/logs")
150
+ def list_by_request(
151
+ self,
152
+ request_uid: str,
153
+ ):
154
+ """This call will return detailed price review logs information for the specified criteria."""
155
+
156
+ @returns.json
157
+ @http_get("price-reviews/logs/{uid}")
158
+ def get(
159
+ self,
160
+ uid: str,
161
+ ):
162
+ """This call will return detailed price review logs information for the specified criteria."""
163
+
164
+ @delete("price-reviews/logs/{uid}")
165
+ def delete(self, uid: str):
166
+ """This call will delete the price review logs for the specified uid."""
167
+
168
+ @returns.json
169
+ @json
170
+ @post("price-reviews/requests/{request_uid}/logs")
171
+ def insert(self, request_uid: str, price_review_log: Body):
172
+ """This call will create a price review log with the specified parameters."""
@@ -39,6 +39,9 @@ class _TCO(Consumer):
39
39
  def parts(self):
40
40
  return self._Parts(self)
41
41
 
42
+ def logs(self):
43
+ return self._Logs(self)
44
+
42
45
  @headers({"Ocp-Apim-Subscription-Key": key})
43
46
  @retry(max_attempts=20, when=status_5xx())
44
47
  class _Cost_Model(Consumer):
@@ -52,28 +55,28 @@ class _TCO(Consumer):
52
55
  return self._Machines(self)
53
56
 
54
57
  @returns.json
55
- @http_get("calculators/tco/cost-model")
58
+ @http_get("calculators/tco/cost-models")
56
59
  def list(
57
60
  self, is_validated: Query = None, is_maintenance_calculator: Query = None):
58
61
  """This call will return list of TCO Cost Model."""
59
62
 
60
63
  @returns.json
61
- @http_get("calculators/tco/cost-model/{uid}")
64
+ @http_get("calculators/tco/cost-models/{uid}")
62
65
  def get(self, uid: str):
63
66
  """This call will return the specified TCO Cost Model."""
64
67
 
65
- @delete("calculators/tco/cost-model/{uid}")
68
+ @delete("calculators/tco/cost-models/{uid}")
66
69
  def delete(self, uid: str):
67
70
  """This call will delete the TCO Cost Model."""
68
71
 
69
72
  @returns.json
70
73
  @json
71
- @post("calculators/tco/cost-model")
74
+ @post("calculators/tco/cost-models")
72
75
  def insert(self, tco_part: Body):
73
76
  """This call will create the TCO Cost Model."""
74
77
 
75
78
  @json
76
- @patch("calculators/tco/cost-model/{uid}")
79
+ @patch("calculators/tco/cost-models/{uid}")
77
80
  def update(self, uid: str, tco_part: Body):
78
81
  """This call will update the TCO Cost Model."""
79
82
 
@@ -99,7 +102,7 @@ class _TCO(Consumer):
99
102
  super().__init__(base_url=Resource._base_url, *args, **kw)
100
103
 
101
104
  @returns.json
102
- @http_get("calculators/tco/cost-model/machines/catalogs/{uid}")
105
+ @http_get("calculators/tco/cost-models/machines/catalogs/{uid}")
103
106
  def get(self, uid: str):
104
107
  """This call will return the TCO cost model for the specified machine catalog uid."""
105
108
 
@@ -114,9 +117,12 @@ class _TCO(Consumer):
114
117
 
115
118
  @returns.json
116
119
  @http_get("calculators/tco/maintenance")
117
- def list(
118
- self, tco_cost_model_uid: Query = None,
119
- ):
120
+ def list(self):
121
+ """This call will return list of TCO Maintenances."""
122
+
123
+ @returns.json
124
+ @http_get("calculators/tco/cost-models/{tco_cost_model_uid}/maintenance")
125
+ def list_by_cost_model(self, tco_cost_model_uid: str):
120
126
  """This call will return list of TCO Maintenances."""
121
127
 
122
128
  @returns.json
@@ -130,8 +136,8 @@ class _TCO(Consumer):
130
136
 
131
137
  @returns.json
132
138
  @json
133
- @post("calculators/tco/maintenance")
134
- def insert(self, tco_part: Body):
139
+ @post("calculators/tco/cost-models/{tco_cost_model_uid}/maintenance")
140
+ def insert(self, tco_cost_model_uid: str, tco_part: Body):
135
141
  """This call will create the TCO Maintenance."""
136
142
 
137
143
  @json
@@ -159,6 +165,14 @@ class _TCO(Consumer):
159
165
  ):
160
166
  """This call will return list of TCO Parts."""
161
167
 
168
+ @returns.json
169
+ @http_get("calculators/tco/tasks/{tco_task_uid}/parts")
170
+ def list_by_task(
171
+ self,
172
+ tco_task_uid: str
173
+ ):
174
+ """This call will return list of TCO Parts."""
175
+
162
176
  @returns.json
163
177
  @http_get("calculators/tco/parts/{uid}")
164
178
  def get(self, uid: str):
@@ -170,8 +184,8 @@ class _TCO(Consumer):
170
184
 
171
185
  @returns.json
172
186
  @json
173
- @post("calculators/tco/parts")
174
- def insert(self, tco_part: Body):
187
+ @post("calculators/tco/tasks/{tco_task_uid}/parts")
188
+ def insert(self, tco_task_uid: str, tco_part: Body):
175
189
  """This call will create the TCO Part."""
176
190
 
177
191
  @json
@@ -194,6 +208,11 @@ class _TCO(Consumer):
194
208
  def list(self, tco_cost_model_uid: Query = None):
195
209
  """This call will return list of TCO Tasks."""
196
210
 
211
+ @returns.json
212
+ @http_get("calculators/tco/cost-models/{tco_cost_model_uid}/tasks")
213
+ def list_by_cost_model(self, tco_cost_model_uid: str):
214
+ """This call will return list of TCO Tasks."""
215
+
197
216
  @returns.json
198
217
  @http_get("calculators/tco/tasks/{uid}")
199
218
  def get(self, uid: str):
@@ -205,16 +224,52 @@ class _TCO(Consumer):
205
224
 
206
225
  @returns.json
207
226
  @json
208
- @post("calculators/tco/tasks")
209
- def insert(self, tco_task: Body):
227
+ @post("calculators/tco/cost-models/{tco_cost_model_uid}/tasks")
228
+ def insert(self, tco_cost_model_uid: str, tco_task: Body):
210
229
  """This call will create the TCO Task."""
211
230
 
212
231
  @json
213
- @post("calculators/tco/tasks/batch")
214
- def insert_batch(self, tco_tasks: Body):
232
+ @post("calculators/tco/cost-models/{tco_cost_model_uid}/tasks/batch")
233
+ def insert_batch(self, tco_cost_model_uid: str, tco_tasks: Body):
215
234
  """This call will create multiple TCO Tasks."""
216
235
 
217
236
  @json
218
237
  @patch("calculators/tco/tasks/{uid}")
219
238
  def update(self, uid: str, tco_task: Body):
220
239
  """This call will update the TCO Task."""
240
+
241
+ @headers({"Ocp-Apim-Subscription-Key": key})
242
+ @retry(max_attempts=20, when=status_5xx())
243
+ class _Logs(Consumer):
244
+ """Interface to TCO Logs resource for the RockyRoad API."""
245
+
246
+ def __init__(self, Resource, *args, **kw):
247
+ self._base_url = Resource._base_url
248
+ super().__init__(base_url=Resource._base_url, *args, **kw)
249
+
250
+ @returns.json
251
+ @http_get("calculators/tco/logs")
252
+ def list(self):
253
+ """This call will return list of TCO Logs."""
254
+
255
+ @returns.json
256
+ @http_get("calculators/tco/cost-models/{tco_cost_model_uid}/logs")
257
+ def list_by_cost_model(self, tco_cost_model_uid: str):
258
+ """This call will return list of TCO Logs."""
259
+
260
+ @returns.json
261
+ @http_get("calculators/tco/logs/{uid}")
262
+ def get(self, uid: str):
263
+ """This call will return the specified TCO Log."""
264
+
265
+ @delete("calculators/tco/logs/{uid}")
266
+ def delete(self, uid: str):
267
+ """This call will delete the TCO Log."""
268
+
269
+ @returns.json
270
+ @json
271
+ @post("calculators/tco/cost-models/{tco_cost_model_uid}/logs")
272
+ def insert(self, tco_cost_model_uid: str, tco_log: Body):
273
+ """This call will create the TCO Log."""
274
+
275
+
rockyroad/rockyroad.py CHANGED
@@ -86,6 +86,8 @@ class DataServicesResource(object):
86
86
  from .modules.machine_passcodes import Machine_Passcodes
87
87
  from .modules.documoto import Documoto
88
88
  from .modules.sharepoint import Sharepoint
89
+ from .modules.price_reviews import Price_Reviews
90
+ from .modules.case_management import Case_Management
89
91
 
90
92
  def apiInfo(self):
91
93
  return self._API_Info(self)
@@ -220,6 +222,11 @@ class DataServicesResource(object):
220
222
  def sharepoint(self):
221
223
  return self.Sharepoint(self)
222
224
 
225
+ def priceReviews(self):
226
+ return self.Price_Reviews(self)
227
+
228
+ def caseManagement(self):
229
+ return self.Case_Management(self)
223
230
 
224
231
  class EmailServicesResource(object):
225
232
  """Interface to Email Services resources for the RockyRoad API."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RockyRoad
3
- Version: 0.0.592
3
+ Version: 0.0.602
4
4
  Summary: Python wrapper for the RockyRoad API
5
5
  Home-page: https://github.com/pypa/sampleproject
6
6
  Project-URL: Bug Tracker, https://github.com/pypa/sampleproject/issues
@@ -1,5 +1,5 @@
1
1
  rockyroad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- rockyroad/rockyroad.py,sha256=ETekbgd6gPy8RDzz4xxPGu_yQ1Zqz5nOx_nBfGOyspI,39384
2
+ rockyroad/rockyroad.py,sha256=zVXtqjvRMPpzgFerrkxLM8LtRrh25fG_ukTabrDrj7g,39635
3
3
  rockyroad/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  rockyroad/modules/accounts.py,sha256=jgZKHFSLEFSyystEUBkOvNGCUipQBbH172pKAEvAg50,6540
5
5
  rockyroad/modules/alerts.py,sha256=pQuagcTvma-C2Gf7shM7Ty6Niny1juLkmc9EST26_eM,2141
@@ -8,7 +8,8 @@ rockyroad/modules/apbs.py,sha256=8ScnRpjP4tKZCjlVlZ8Xn2vesYI7CKllgSHaShIYPRw,420
8
8
  rockyroad/modules/api_info.py,sha256=7SGoS6pfPtNXxH3zZ0aOgUGicuZaT3wln2qR5WS0y2M,827
9
9
  rockyroad/modules/b2c_users.py,sha256=EGdcQeFoQC2LjF0Ocy31SPazMXpUN_omnlGhm157wa0,2418
10
10
  rockyroad/modules/business_information.py,sha256=KI0SwfcAQ3GJyHyELNL01jBh5F1wUye3pl76-vds6is,3256
11
- rockyroad/modules/calculators.py,sha256=yjhBUavlaeccani1FwxZwiCbpSgISRzPk0GwF9yBA64,567
11
+ rockyroad/modules/calculators.py,sha256=8kTPt-QleXHbgx7vqLgC8a0cv6eqLxWsfUZNDdZXWVE,810
12
+ rockyroad/modules/case_management.py,sha256=6r__6vKnGXZQdgOa1Fn0ILSYOEGfL6rnwJeGPNTBMhk,15612
12
13
  rockyroad/modules/companies.py,sha256=BXnAVTuGOoW5Ei9LyOkcMr1A6iTbRhAsyIqVS2CdpHU,13192
13
14
  rockyroad/modules/company_specified_info.py,sha256=wD8-qaQerpGqFfzUrTIR7ednHQJ2RboODGJnd-kKsh4,2313
14
15
  rockyroad/modules/content_management.py,sha256=3miiVmSv7cUqUNG25H71Ir9nP6YLFUrMlK8gi4LhflU,4487
@@ -38,13 +39,14 @@ rockyroad/modules/parts.py,sha256=Ee4bKSoOzhrdMH1RTBSRMIMJf5BRFxkdppxwD22z-mA,56
38
39
  rockyroad/modules/portal_configurations.py,sha256=6mYcEK9VSuQi348m_1vzRmgS8hxbcJB7NiLQXnHoYgg,2673
39
40
  rockyroad/modules/portal_users.py,sha256=h1IpyD02NtbZaVYy-mtyygBmJgvOHWzPRiJoQHyOj2k,1018
40
41
  rockyroad/modules/predictive_maintenance.py,sha256=-lpt93hJC__oGmn8pdAHhwSmJVMTpDHhQLhOg8k-FlQ,695
42
+ rockyroad/modules/price_reviews.py,sha256=kD8mQn8ldo3o5iETlA4M4VSGFWo1Anyj1D-JSHaTZjM,5910
41
43
  rockyroad/modules/service_reports.py,sha256=AndnKc3xgs-iXQino60LD7LHvpc00NL1ZDPyODyNmSI,1539
42
44
  rockyroad/modules/services.py,sha256=yAYJxMzYFgAw95uaAH4Y1FWsGz1LNN5s3pQDvQ88wFE,6420
43
45
  rockyroad/modules/sharepoint.py,sha256=H_Oy2Q6ST1g-uX4spvlcYAf95zfuA-XO8UOKmtBvN_w,4510
44
46
  rockyroad/modules/simple_forms.py,sha256=mHrGDjHu_t8RIxF0Av-WaIb6U_1gNXY3oNpENsQw2mU,3555
45
47
  rockyroad/modules/subscriptions.py,sha256=eT2AdETZqqtx55CxF0sW92-D5z9Eww1m8TSnybt2L7g,4472
46
48
  rockyroad/modules/summaries.py,sha256=-UYNUaSBZB4jVatIItAVEF0ac4rlO-4Fk5hvL60lofs,2709
47
- rockyroad/modules/tco_calculator.py,sha256=KDBGWY5Wkfx8ODSUNvfwdt276suZGuBUnbLudbfan5w,7428
49
+ rockyroad/modules/tco_calculator.py,sha256=Twy1CkmppI_UousUVsi1uSpWrAFQsrqfKaW_7aFkEks,9594
48
50
  rockyroad/modules/technical_content_feedback.py,sha256=tZUZJ3CSi3Fv3MVnoGN15gzzi8EhOLYbVhcpwNsc_xg,18134
49
51
  rockyroad/modules/telematics.py,sha256=qaU_ndUFGM6CpzpXjGhWsgZOScjpkW4Ui3KZJUliKjU,2040
50
52
  rockyroad/modules/template.py,sha256=6RdWzHX3YZqdMQCU3IaCUgn1VWjS312Ok8pB8yDK790,2837
@@ -59,8 +61,8 @@ rockyroad/modules/warranty_pip.py,sha256=_viDrbdMOX07OirXCH-22bfeeid60IoIl-lqZr_
59
61
  rockyroad/modules/warranty_rates.py,sha256=8oeDfg3boooBa3KPOWoR1JIm9yaX9Kslo4ZZnuuCDZA,1704
60
62
  rockyroad/modules/warranty_registrations.py,sha256=ycTKiYoV9T_OTyKlwKSiLrDH7cOigSBzjIFI47GPhFA,1969
61
63
  rockyroad/modules/warranty_rga.py,sha256=9rDQFE1YLw4dcpbt2yD3qIMxbvhUfoBNdpWl6KBRTPU,4714
62
- rockyroad-0.0.592.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
63
- rockyroad-0.0.592.dist-info/METADATA,sha256=G-a-qL8knX0OJD19ohBvnBNzTPA5pz4mTW6tRWc9_SI,34189
64
- rockyroad-0.0.592.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
- rockyroad-0.0.592.dist-info/top_level.txt,sha256=2i16gCpB6x-hh1eUXH0KijIjfx08oEvLfV7eS9TL3Bs,10
66
- rockyroad-0.0.592.dist-info/RECORD,,
64
+ rockyroad-0.0.602.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
65
+ rockyroad-0.0.602.dist-info/METADATA,sha256=v3cYlEvYOgZW_uRILVJhit7LMortKQ1rplUinKOpKKs,34189
66
+ rockyroad-0.0.602.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
67
+ rockyroad-0.0.602.dist-info/top_level.txt,sha256=2i16gCpB6x-hh1eUXH0KijIjfx08oEvLfV7eS9TL3Bs,10
68
+ rockyroad-0.0.602.dist-info/RECORD,,