RockyRoad 0.0.586__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."""
@@ -63,8 +63,9 @@ class Parts(Consumer):
63
63
  @http_get("parts/information")
64
64
  def list_information(
65
65
  self,
66
- partNumber: Query = None,
66
+ part_number: Query = None,
67
67
  brand: Query = None,
68
+ exact_match: Query = None,
68
69
  ):
69
70
  """This call will return the part information for the part(s) specified."""
70
71
 
@@ -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."""
@@ -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,
@@ -14,6 +14,9 @@ from uplink import (
14
14
  Query,
15
15
  )
16
16
 
17
+ # Module configuration
18
+ USE_SERVICES_API = True
19
+ key = get_key(use_services_api=USE_SERVICES_API)
17
20
 
18
21
  @headers({"Ocp-Apim-Subscription-Key": key})
19
22
  @retry(max_attempts=20, when=status_5xx())
@@ -21,8 +24,8 @@ class _TCO(Consumer):
21
24
  """Inteface to TCO resource for the RockyRoad API."""
22
25
 
23
26
  def __init__(self, Resource, *args, **kw):
24
- self._base_url = Resource._base_url
25
- super().__init__(base_url=Resource._base_url, *args, **kw)
27
+ self._base_url = Resource._services_base_url if USE_SERVICES_API else Resource._base_url
28
+ super().__init__(base_url=self._base_url, *args, **kw)
26
29
 
27
30
  def costModel(self):
28
31
  return self._Cost_Model(self)
@@ -30,6 +33,15 @@ class _TCO(Consumer):
30
33
  def maintenance(self):
31
34
  return self._Maintenance(self)
32
35
 
36
+ def tasks(self):
37
+ return self._Tasks(self)
38
+
39
+ def parts(self):
40
+ return self._Parts(self)
41
+
42
+ def logs(self):
43
+ return self._Logs(self)
44
+
33
45
  @headers({"Ocp-Apim-Subscription-Key": key})
34
46
  @retry(max_attempts=20, when=status_5xx())
35
47
  class _Cost_Model(Consumer):
@@ -43,28 +55,28 @@ class _TCO(Consumer):
43
55
  return self._Machines(self)
44
56
 
45
57
  @returns.json
46
- @http_get("calculators/tco/cost-model")
58
+ @http_get("calculators/tco/cost-models")
47
59
  def list(
48
60
  self, is_validated: Query = None, is_maintenance_calculator: Query = None):
49
61
  """This call will return list of TCO Cost Model."""
50
62
 
51
63
  @returns.json
52
- @http_get("calculators/tco/cost-model/{uid}")
64
+ @http_get("calculators/tco/cost-models/{uid}")
53
65
  def get(self, uid: str):
54
66
  """This call will return the specified TCO Cost Model."""
55
67
 
56
- @delete("calculators/tco/cost-model/{uid}")
68
+ @delete("calculators/tco/cost-models/{uid}")
57
69
  def delete(self, uid: str):
58
70
  """This call will delete the TCO Cost Model."""
59
71
 
60
72
  @returns.json
61
73
  @json
62
- @post("calculators/tco/cost-model")
74
+ @post("calculators/tco/cost-models")
63
75
  def insert(self, tco_part: Body):
64
76
  """This call will create the TCO Cost Model."""
65
77
 
66
78
  @json
67
- @patch("calculators/tco/cost-model/{uid}")
79
+ @patch("calculators/tco/cost-models/{uid}")
68
80
  def update(self, uid: str, tco_part: Body):
69
81
  """This call will update the TCO Cost Model."""
70
82
 
@@ -90,7 +102,7 @@ class _TCO(Consumer):
90
102
  super().__init__(base_url=Resource._base_url, *args, **kw)
91
103
 
92
104
  @returns.json
93
- @http_get("calculators/tco/cost-model/machines/catalogs/{uid}")
105
+ @http_get("calculators/tco/cost-models/machines/catalogs/{uid}")
94
106
  def get(self, uid: str):
95
107
  """This call will return the TCO cost model for the specified machine catalog uid."""
96
108
 
@@ -103,14 +115,14 @@ class _TCO(Consumer):
103
115
  self._base_url = Resource._base_url
104
116
  super().__init__(base_url=Resource._base_url, *args, **kw)
105
117
 
106
- def parts(self):
107
- return self._Parts(self)
108
-
109
118
  @returns.json
110
119
  @http_get("calculators/tco/maintenance")
111
- def list(
112
- self, machine_catalog_uid: Query = None,
113
- ):
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):
114
126
  """This call will return list of TCO Maintenances."""
115
127
 
116
128
  @returns.json
@@ -124,8 +136,8 @@ class _TCO(Consumer):
124
136
 
125
137
  @returns.json
126
138
  @json
127
- @post("calculators/tco/maintenance")
128
- 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):
129
141
  """This call will create the TCO Maintenance."""
130
142
 
131
143
  @json
@@ -133,41 +145,131 @@ class _TCO(Consumer):
133
145
  def update(self, uid: str, tco_part: Body):
134
146
  """This call will update the TCO Maintenance."""
135
147
 
136
- @headers({"Ocp-Apim-Subscription-Key": key})
137
- @retry(max_attempts=20, when=status_5xx())
138
- class _Parts(Consumer):
139
- """Inteface to TCO resource for the RockyRoad API."""
148
+ @headers({"Ocp-Apim-Subscription-Key": key})
149
+ @retry(max_attempts=20, when=status_5xx())
150
+ class _Parts(Consumer):
151
+ """Inteface to TCO resource for the RockyRoad API."""
140
152
 
141
- def __init__(self, Resource, *args, **kw):
142
- self._base_url = Resource._base_url
143
- super().__init__(base_url=Resource._base_url, *args, **kw)
153
+ def __init__(self, Resource, *args, **kw):
154
+ self._base_url = Resource._base_url
155
+ super().__init__(base_url=Resource._base_url, *args, **kw)
156
+
157
+ def parts(self):
158
+ return self.TCO(self)
159
+
160
+ @returns.json
161
+ @http_get("calculators/tco/parts")
162
+ def list(
163
+ self,
164
+ tco_task_uid: Query = None
165
+ ):
166
+ """This call will return list of TCO Parts."""
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
+
176
+ @returns.json
177
+ @http_get("calculators/tco/parts/{uid}")
178
+ def get(self, uid: str):
179
+ """This call will return the specified TCO Part."""
180
+
181
+ @delete("calculators/tco/parts/{uid}")
182
+ def delete(self, uid: str):
183
+ """This call will delete the TCO Part."""
184
+
185
+ @returns.json
186
+ @json
187
+ @post("calculators/tco/tasks/{tco_task_uid}/parts")
188
+ def insert(self, tco_task_uid: str, tco_part: Body):
189
+ """This call will create the TCO Part."""
190
+
191
+ @json
192
+ @patch("calculators/tco/parts/{uid}")
193
+ def update(self, uid: str, tco_part: Body):
194
+ """This call will update the TCO Part."""
195
+
196
+
197
+ @headers({"Ocp-Apim-Subscription-Key": key})
198
+ @retry(max_attempts=20, when=status_5xx())
199
+ class _Tasks(Consumer):
200
+ """Interface to TCO Tasks resource for the RockyRoad API."""
201
+
202
+ def __init__(self, Resource, *args, **kw):
203
+ self._base_url = Resource._base_url
204
+ super().__init__(base_url=Resource._base_url, *args, **kw)
205
+
206
+ @returns.json
207
+ @http_get("calculators/tco/tasks")
208
+ def list(self, tco_cost_model_uid: Query = None):
209
+ """This call will return list of TCO Tasks."""
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
+
216
+ @returns.json
217
+ @http_get("calculators/tco/tasks/{uid}")
218
+ def get(self, uid: str):
219
+ """This call will return the specified TCO Task."""
220
+
221
+ @delete("calculators/tco/tasks/{uid}")
222
+ def delete(self, uid: str):
223
+ """This call will delete the TCO Task."""
224
+
225
+ @returns.json
226
+ @json
227
+ @post("calculators/tco/cost-models/{tco_cost_model_uid}/tasks")
228
+ def insert(self, tco_cost_model_uid: str, tco_task: Body):
229
+ """This call will create the TCO Task."""
230
+
231
+ @json
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):
234
+ """This call will create multiple TCO Tasks."""
235
+
236
+ @json
237
+ @patch("calculators/tco/tasks/{uid}")
238
+ def update(self, uid: str, tco_task: Body):
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."""
144
274
 
145
- def parts(self):
146
- return self.TCO(self)
147
-
148
- @returns.json
149
- @http_get("calculators/tco/maintenance/parts")
150
- def list(
151
- self,
152
- ):
153
- """This call will return list of TCO Parts."""
154
-
155
- @returns.json
156
- @http_get("calculators/tco/maintenance/parts/{uid}")
157
- def get(self, uid: str):
158
- """This call will return the specified TCO Part."""
159
-
160
- @delete("calculators/tco/maintenance/parts/{uid}")
161
- def delete(self, uid: str):
162
- """This call will delete the TCO Part."""
163
-
164
- @returns.json
165
- @json
166
- @post("calculators/tco/maintenance/parts")
167
- def insert(self, tco_part: Body):
168
- """This call will create the TCO Part."""
169
-
170
- @json
171
- @patch("calculators/tco/maintenance/parts/{uid}")
172
- def update(self, uid: str, tco_part: Body):
173
- """This call will update the TCO Part."""
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.586
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
@@ -34,17 +35,18 @@ rockyroad/modules/module_imports.py,sha256=vWkjAbKKZJyP_M31KlvWmSENDKlIaD9OO1i5M
34
35
  rockyroad/modules/oracle_installed_base_assets.py,sha256=Kxci11rEcBDs0fuU4s3TNRK_GF_ZJ0Nk0ws85fkbErs,2844
35
36
  rockyroad/modules/oracle_knowledge_management.py,sha256=P3nzpdlDtJQAbN7yW2BIDx6h5BHYp4yOm8fADrbKrNs,1873
36
37
  rockyroad/modules/oracle_users.py,sha256=wtMcA70JKAQxj1j-izNjNbpZ_DPLN7_Nl59Ay9zXy0U,1726
37
- rockyroad/modules/parts.py,sha256=7MypTFR37aVmZs00Ap8YrhZBetbUcVnU4e8_78waG6k,5643
38
+ rockyroad/modules/parts.py,sha256=Ee4bKSoOzhrdMH1RTBSRMIMJf5BRFxkdppxwD22z-mA,5679
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=McOaWzlwHK7FPT-UFiK1wr7IIKz2n-bMd3mbQL5HNKE,5990
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.586.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
63
- rockyroad-0.0.586.dist-info/METADATA,sha256=WQiWm_La8IKYNdPI4Mo9s-idI0qBY75i87grguq4Lys,34189
64
- rockyroad-0.0.586.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
- rockyroad-0.0.586.dist-info/top_level.txt,sha256=2i16gCpB6x-hh1eUXH0KijIjfx08oEvLfV7eS9TL3Bs,10
66
- rockyroad-0.0.586.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,,