capo-workdocs 0.1.0__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.
Files changed (315) hide show
  1. capo_workdocs/__init__.py +70 -0
  2. capo_workdocs/_async.py +25 -0
  3. capo_workdocs/_auth/_identity.py +16 -0
  4. capo_workdocs/_auth/_providers.py +886 -0
  5. capo_workdocs/_auth/_signers.py +88 -0
  6. capo_workdocs/_auth/_sigv4.py +434 -0
  7. capo_workdocs/_auth/_zapros_handler.py +80 -0
  8. capo_workdocs/_iter.py +113 -0
  9. capo_workdocs/_operations/aws_gorilla_boy_service/abort_document_version_upload.py +151 -0
  10. capo_workdocs/_operations/aws_gorilla_boy_service/activate_user.py +166 -0
  11. capo_workdocs/_operations/aws_gorilla_boy_service/add_resource_permissions.py +174 -0
  12. capo_workdocs/_operations/aws_gorilla_boy_service/create_comment.py +190 -0
  13. capo_workdocs/_operations/aws_gorilla_boy_service/create_custom_metadata.py +176 -0
  14. capo_workdocs/_operations/aws_gorilla_boy_service/create_folder.py +193 -0
  15. capo_workdocs/_operations/aws_gorilla_boy_service/create_labels.py +167 -0
  16. capo_workdocs/_operations/aws_gorilla_boy_service/create_notification_subscription.py +168 -0
  17. capo_workdocs/_operations/aws_gorilla_boy_service/create_user.py +168 -0
  18. capo_workdocs/_operations/aws_gorilla_boy_service/deactivate_user.py +138 -0
  19. capo_workdocs/_operations/aws_gorilla_boy_service/delete_comment.py +153 -0
  20. capo_workdocs/_operations/aws_gorilla_boy_service/delete_custom_metadata.py +171 -0
  21. capo_workdocs/_operations/aws_gorilla_boy_service/delete_document.py +158 -0
  22. capo_workdocs/_operations/aws_gorilla_boy_service/delete_document_version.py +163 -0
  23. capo_workdocs/_operations/aws_gorilla_boy_service/delete_folder.py +158 -0
  24. capo_workdocs/_operations/aws_gorilla_boy_service/delete_folder_contents.py +148 -0
  25. capo_workdocs/_operations/aws_gorilla_boy_service/delete_labels.py +167 -0
  26. capo_workdocs/_operations/aws_gorilla_boy_service/delete_notification_subscription.py +135 -0
  27. capo_workdocs/_operations/aws_gorilla_boy_service/delete_user.py +138 -0
  28. capo_workdocs/_operations/aws_gorilla_boy_service/describe_activities.py +201 -0
  29. capo_workdocs/_operations/aws_gorilla_boy_service/describe_comments.py +181 -0
  30. capo_workdocs/_operations/aws_gorilla_boy_service/describe_document_versions.py +187 -0
  31. capo_workdocs/_operations/aws_gorilla_boy_service/describe_folder_contents.py +205 -0
  32. capo_workdocs/_operations/aws_gorilla_boy_service/describe_groups.py +167 -0
  33. capo_workdocs/_operations/aws_gorilla_boy_service/describe_notification_subscriptions.py +159 -0
  34. capo_workdocs/_operations/aws_gorilla_boy_service/describe_resource_permissions.py +170 -0
  35. capo_workdocs/_operations/aws_gorilla_boy_service/describe_root_folders.py +166 -0
  36. capo_workdocs/_operations/aws_gorilla_boy_service/describe_users.py +208 -0
  37. capo_workdocs/_operations/aws_gorilla_boy_service/get_current_user.py +166 -0
  38. capo_workdocs/_operations/aws_gorilla_boy_service/get_document.py +183 -0
  39. capo_workdocs/_operations/aws_gorilla_boy_service/get_document_path.py +174 -0
  40. capo_workdocs/_operations/aws_gorilla_boy_service/get_document_version.py +186 -0
  41. capo_workdocs/_operations/aws_gorilla_boy_service/get_folder.py +179 -0
  42. capo_workdocs/_operations/aws_gorilla_boy_service/get_folder_path.py +172 -0
  43. capo_workdocs/_operations/aws_gorilla_boy_service/get_resources.py +183 -0
  44. capo_workdocs/_operations/aws_gorilla_boy_service/initiate_document_version_upload.py +215 -0
  45. capo_workdocs/_operations/aws_gorilla_boy_service/remove_all_resource_permissions.py +133 -0
  46. capo_workdocs/_operations/aws_gorilla_boy_service/remove_resource_permission.py +149 -0
  47. capo_workdocs/_operations/aws_gorilla_boy_service/restore_document_versions.py +153 -0
  48. capo_workdocs/_operations/aws_gorilla_boy_service/search_resources.py +169 -0
  49. capo_workdocs/_operations/aws_gorilla_boy_service/update_document.py +168 -0
  50. capo_workdocs/_operations/aws_gorilla_boy_service/update_document_version.py +161 -0
  51. capo_workdocs/_operations/aws_gorilla_boy_service/update_folder.py +168 -0
  52. capo_workdocs/_operations/aws_gorilla_boy_service/update_user.py +193 -0
  53. capo_workdocs/_pagination.py +21 -0
  54. capo_workdocs/_protocol/__init__.py +1 -0
  55. capo_workdocs/_protocol/errors.py +93 -0
  56. capo_workdocs/_protocol/eventstream.py +238 -0
  57. capo_workdocs/_protocol/serialize.py +47 -0
  58. capo_workdocs/_protocol/xml.py +33 -0
  59. capo_workdocs/_rule_engine/__init__.py +0 -0
  60. capo_workdocs/_rule_engine/_aws_partition.py +160 -0
  61. capo_workdocs/_rule_engine/_endpoint_rule_set.py +136 -0
  62. capo_workdocs/_rule_engine/_endpoint_runtime.py +389 -0
  63. capo_workdocs/_services/_aws_config.py +160 -0
  64. capo_workdocs/_services/_pipeline.py +198 -0
  65. capo_workdocs/_services/async_work_docs.py +3513 -0
  66. capo_workdocs/_services/work_docs.py +3469 -0
  67. capo_workdocs/errors/__init__.py +94 -0
  68. capo_workdocs/errors/_base.py +94 -0
  69. capo_workdocs/errors/concurrent_modification_exception.py +53 -0
  70. capo_workdocs/errors/conflicting_operation_exception.py +53 -0
  71. capo_workdocs/errors/custom_metadata_limit_exceeded_exception.py +53 -0
  72. capo_workdocs/errors/deactivating_last_system_user_exception.py +59 -0
  73. capo_workdocs/errors/document_locked_for_comments_exception.py +53 -0
  74. capo_workdocs/errors/draft_upload_out_of_sync_exception.py +53 -0
  75. capo_workdocs/errors/entity_already_exists_exception.py +51 -0
  76. capo_workdocs/errors/entity_not_exists_exception.py +66 -0
  77. capo_workdocs/errors/failed_dependency_exception.py +51 -0
  78. capo_workdocs/errors/illegal_user_state_exception.py +51 -0
  79. capo_workdocs/errors/invalid_argument_exception.py +51 -0
  80. capo_workdocs/errors/invalid_comment_operation_exception.py +53 -0
  81. capo_workdocs/errors/invalid_operation_exception.py +51 -0
  82. capo_workdocs/errors/invalid_password_exception.py +51 -0
  83. capo_workdocs/errors/limit_exceeded_exception.py +51 -0
  84. capo_workdocs/errors/prohibited_state_exception.py +51 -0
  85. capo_workdocs/errors/requested_entity_too_large_exception.py +53 -0
  86. capo_workdocs/errors/resource_already_checked_out_exception.py +53 -0
  87. capo_workdocs/errors/service_unavailable_exception.py +51 -0
  88. capo_workdocs/errors/storage_limit_exceeded_exception.py +53 -0
  89. capo_workdocs/errors/storage_limit_will_exceed_exception.py +53 -0
  90. capo_workdocs/errors/too_many_labels_exception.py +51 -0
  91. capo_workdocs/errors/too_many_subscriptions_exception.py +53 -0
  92. capo_workdocs/errors/unauthorized_operation_exception.py +59 -0
  93. capo_workdocs/errors/unauthorized_resource_access_exception.py +53 -0
  94. capo_workdocs/py.typed +0 -0
  95. capo_workdocs/types/_prelude/blob.py +12 -0
  96. capo_workdocs/types/_prelude/timestamp.py +17 -0
  97. capo_workdocs/types/abort_document_version_upload_request.py +32 -0
  98. capo_workdocs/types/activate_user_request.py +29 -0
  99. capo_workdocs/types/activate_user_response.py +32 -0
  100. capo_workdocs/types/activity.py +144 -0
  101. capo_workdocs/types/activity_names_filter_type.py +5 -0
  102. capo_workdocs/types/activity_type.py +48 -0
  103. capo_workdocs/types/add_resource_permissions_request.py +68 -0
  104. capo_workdocs/types/add_resource_permissions_response.py +38 -0
  105. capo_workdocs/types/additional_response_field_type.py +14 -0
  106. capo_workdocs/types/additional_response_fields_list.py +35 -0
  107. capo_workdocs/types/authentication_header_type.py +5 -0
  108. capo_workdocs/types/boolean_enum_type.py +17 -0
  109. capo_workdocs/types/boolean_type.py +5 -0
  110. capo_workdocs/types/comment.py +121 -0
  111. capo_workdocs/types/comment_id_type.py +5 -0
  112. capo_workdocs/types/comment_list.py +29 -0
  113. capo_workdocs/types/comment_metadata.py +90 -0
  114. capo_workdocs/types/comment_status_type.py +18 -0
  115. capo_workdocs/types/comment_text_type.py +5 -0
  116. capo_workdocs/types/comment_visibility_type.py +17 -0
  117. capo_workdocs/types/content_category_type.py +24 -0
  118. capo_workdocs/types/create_comment_request.py +82 -0
  119. capo_workdocs/types/create_comment_response.py +32 -0
  120. capo_workdocs/types/create_custom_metadata_request.py +56 -0
  121. capo_workdocs/types/create_custom_metadata_response.py +18 -0
  122. capo_workdocs/types/create_folder_request.py +43 -0
  123. capo_workdocs/types/create_folder_response.py +36 -0
  124. capo_workdocs/types/create_labels_request.py +45 -0
  125. capo_workdocs/types/create_labels_response.py +18 -0
  126. capo_workdocs/types/create_notification_subscription_request.py +76 -0
  127. capo_workdocs/types/create_notification_subscription_response.py +36 -0
  128. capo_workdocs/types/create_user_request.py +97 -0
  129. capo_workdocs/types/create_user_response.py +32 -0
  130. capo_workdocs/types/custom_metadata_key_list.py +19 -0
  131. capo_workdocs/types/custom_metadata_key_type.py +5 -0
  132. capo_workdocs/types/custom_metadata_map.py +29 -0
  133. capo_workdocs/types/custom_metadata_value_type.py +5 -0
  134. capo_workdocs/types/date_range_type.py +50 -0
  135. capo_workdocs/types/deactivate_user_request.py +29 -0
  136. capo_workdocs/types/delete_comment_request.py +35 -0
  137. capo_workdocs/types/delete_custom_metadata_request.py +42 -0
  138. capo_workdocs/types/delete_custom_metadata_response.py +18 -0
  139. capo_workdocs/types/delete_document_request.py +29 -0
  140. capo_workdocs/types/delete_document_version_request.py +35 -0
  141. capo_workdocs/types/delete_folder_contents_request.py +29 -0
  142. capo_workdocs/types/delete_folder_request.py +29 -0
  143. capo_workdocs/types/delete_labels_request.py +35 -0
  144. capo_workdocs/types/delete_labels_response.py +18 -0
  145. capo_workdocs/types/delete_notification_subscription_request.py +26 -0
  146. capo_workdocs/types/delete_user_request.py +29 -0
  147. capo_workdocs/types/describe_activities_request.py +52 -0
  148. capo_workdocs/types/describe_activities_response.py +43 -0
  149. capo_workdocs/types/describe_comments_request.py +38 -0
  150. capo_workdocs/types/describe_comments_response.py +43 -0
  151. capo_workdocs/types/describe_document_versions_request.py +40 -0
  152. capo_workdocs/types/describe_document_versions_response.py +49 -0
  153. capo_workdocs/types/describe_folder_contents_request.py +47 -0
  154. capo_workdocs/types/describe_folder_contents_response.py +60 -0
  155. capo_workdocs/types/describe_groups_request.py +38 -0
  156. capo_workdocs/types/describe_groups_response.py +43 -0
  157. capo_workdocs/types/describe_notification_subscriptions_request.py +30 -0
  158. capo_workdocs/types/describe_notification_subscriptions_response.py +43 -0
  159. capo_workdocs/types/describe_resource_permissions_request.py +38 -0
  160. capo_workdocs/types/describe_resource_permissions_response.py +43 -0
  161. capo_workdocs/types/describe_root_folders_request.py +32 -0
  162. capo_workdocs/types/describe_root_folders_response.py +43 -0
  163. capo_workdocs/types/describe_users_request.py +53 -0
  164. capo_workdocs/types/describe_users_response.py +52 -0
  165. capo_workdocs/types/document_content_type.py +5 -0
  166. capo_workdocs/types/document_metadata.py +125 -0
  167. capo_workdocs/types/document_metadata_list.py +31 -0
  168. capo_workdocs/types/document_source_type.py +17 -0
  169. capo_workdocs/types/document_source_url_map.py +33 -0
  170. capo_workdocs/types/document_status_type.py +17 -0
  171. capo_workdocs/types/document_thumbnail_type.py +18 -0
  172. capo_workdocs/types/document_thumbnail_url_map.py +33 -0
  173. capo_workdocs/types/document_version_id_type.py +5 -0
  174. capo_workdocs/types/document_version_metadata.py +189 -0
  175. capo_workdocs/types/document_version_metadata_list.py +31 -0
  176. capo_workdocs/types/document_version_status.py +14 -0
  177. capo_workdocs/types/email_address_type.py +5 -0
  178. capo_workdocs/types/entity_id_list.py +17 -0
  179. capo_workdocs/types/error_message_type.py +5 -0
  180. capo_workdocs/types/exception_code_type.py +5 -0
  181. capo_workdocs/types/field_names_type.py +5 -0
  182. capo_workdocs/types/filters.py +202 -0
  183. capo_workdocs/types/folder_content_type.py +18 -0
  184. capo_workdocs/types/folder_metadata.py +131 -0
  185. capo_workdocs/types/folder_metadata_list.py +31 -0
  186. capo_workdocs/types/get_current_user_request.py +26 -0
  187. capo_workdocs/types/get_current_user_response.py +32 -0
  188. capo_workdocs/types/get_document_path_request.py +38 -0
  189. capo_workdocs/types/get_document_path_response.py +32 -0
  190. capo_workdocs/types/get_document_request.py +32 -0
  191. capo_workdocs/types/get_document_response.py +55 -0
  192. capo_workdocs/types/get_document_version_request.py +38 -0
  193. capo_workdocs/types/get_document_version_response.py +59 -0
  194. capo_workdocs/types/get_folder_path_request.py +38 -0
  195. capo_workdocs/types/get_folder_path_response.py +32 -0
  196. capo_workdocs/types/get_folder_request.py +32 -0
  197. capo_workdocs/types/get_folder_response.py +55 -0
  198. capo_workdocs/types/get_resources_request.py +40 -0
  199. capo_workdocs/types/get_resources_response.py +60 -0
  200. capo_workdocs/types/group_metadata.py +35 -0
  201. capo_workdocs/types/group_metadata_list.py +29 -0
  202. capo_workdocs/types/group_name_type.py +5 -0
  203. capo_workdocs/types/hash_type.py +5 -0
  204. capo_workdocs/types/header_name_type.py +5 -0
  205. capo_workdocs/types/header_value_type.py +5 -0
  206. capo_workdocs/types/id_type.py +5 -0
  207. capo_workdocs/types/initiate_document_version_upload_request.py +103 -0
  208. capo_workdocs/types/initiate_document_version_upload_response.py +51 -0
  209. capo_workdocs/types/language_code_type.py +46 -0
  210. capo_workdocs/types/limit_type.py +5 -0
  211. capo_workdocs/types/locale_type.py +26 -0
  212. capo_workdocs/types/long_range_type.py +34 -0
  213. capo_workdocs/types/long_type.py +5 -0
  214. capo_workdocs/types/marker_type.py +5 -0
  215. capo_workdocs/types/message_type.py +5 -0
  216. capo_workdocs/types/next_marker_type.py +5 -0
  217. capo_workdocs/types/notification_options.py +36 -0
  218. capo_workdocs/types/order_by_field_type.py +20 -0
  219. capo_workdocs/types/order_type.py +17 -0
  220. capo_workdocs/types/organization_user_list.py +29 -0
  221. capo_workdocs/types/page_marker_type.py +5 -0
  222. capo_workdocs/types/participants.py +51 -0
  223. capo_workdocs/types/password_type.py +5 -0
  224. capo_workdocs/types/permission_info.py +47 -0
  225. capo_workdocs/types/permission_info_list.py +31 -0
  226. capo_workdocs/types/positive_integer_type.py +5 -0
  227. capo_workdocs/types/positive_size_type.py +5 -0
  228. capo_workdocs/types/principal.py +54 -0
  229. capo_workdocs/types/principal_list.py +29 -0
  230. capo_workdocs/types/principal_role_type.py +19 -0
  231. capo_workdocs/types/principal_type.py +20 -0
  232. capo_workdocs/types/remove_all_resource_permissions_request.py +29 -0
  233. capo_workdocs/types/remove_resource_permission_request.py +35 -0
  234. capo_workdocs/types/resource_collection_type.py +14 -0
  235. capo_workdocs/types/resource_id_type.py +5 -0
  236. capo_workdocs/types/resource_metadata.py +80 -0
  237. capo_workdocs/types/resource_name_type.py +5 -0
  238. capo_workdocs/types/resource_path.py +42 -0
  239. capo_workdocs/types/resource_path_component.py +35 -0
  240. capo_workdocs/types/resource_path_component_list.py +31 -0
  241. capo_workdocs/types/resource_sort_type.py +17 -0
  242. capo_workdocs/types/resource_state_type.py +19 -0
  243. capo_workdocs/types/resource_type.py +17 -0
  244. capo_workdocs/types/response_item.py +117 -0
  245. capo_workdocs/types/response_item_type.py +19 -0
  246. capo_workdocs/types/response_item_web_url.py +5 -0
  247. capo_workdocs/types/response_items_list.py +29 -0
  248. capo_workdocs/types/restore_document_versions_request.py +29 -0
  249. capo_workdocs/types/role_permission_type.py +17 -0
  250. capo_workdocs/types/role_type.py +19 -0
  251. capo_workdocs/types/search_ancestor_id.py +5 -0
  252. capo_workdocs/types/search_ancestor_id_list.py +19 -0
  253. capo_workdocs/types/search_collection_type.py +17 -0
  254. capo_workdocs/types/search_collection_type_list.py +31 -0
  255. capo_workdocs/types/search_content_category_type_list.py +31 -0
  256. capo_workdocs/types/search_label.py +5 -0
  257. capo_workdocs/types/search_label_list.py +17 -0
  258. capo_workdocs/types/search_marker_type.py +5 -0
  259. capo_workdocs/types/search_principal_role_list.py +31 -0
  260. capo_workdocs/types/search_principal_type.py +48 -0
  261. capo_workdocs/types/search_principal_type_list.py +31 -0
  262. capo_workdocs/types/search_query_scope_type.py +17 -0
  263. capo_workdocs/types/search_query_scope_type_list.py +31 -0
  264. capo_workdocs/types/search_query_type.py +5 -0
  265. capo_workdocs/types/search_resource_type.py +19 -0
  266. capo_workdocs/types/search_resource_type_list.py +31 -0
  267. capo_workdocs/types/search_resources_request.py +126 -0
  268. capo_workdocs/types/search_resources_response.py +43 -0
  269. capo_workdocs/types/search_result_sort_list.py +31 -0
  270. capo_workdocs/types/search_results_limit_type.py +5 -0
  271. capo_workdocs/types/search_sort_result.py +47 -0
  272. capo_workdocs/types/share_principal.py +55 -0
  273. capo_workdocs/types/share_principal_list.py +31 -0
  274. capo_workdocs/types/share_result.py +74 -0
  275. capo_workdocs/types/share_results_list.py +29 -0
  276. capo_workdocs/types/share_status_type.py +17 -0
  277. capo_workdocs/types/shared_label.py +5 -0
  278. capo_workdocs/types/shared_labels.py +17 -0
  279. capo_workdocs/types/signed_header_map.py +29 -0
  280. capo_workdocs/types/size_type.py +5 -0
  281. capo_workdocs/types/sort_order.py +17 -0
  282. capo_workdocs/types/storage_rule_type.py +45 -0
  283. capo_workdocs/types/storage_type.py +17 -0
  284. capo_workdocs/types/subscription.py +56 -0
  285. capo_workdocs/types/subscription_end_point_type.py +5 -0
  286. capo_workdocs/types/subscription_list.py +29 -0
  287. capo_workdocs/types/subscription_protocol_type.py +17 -0
  288. capo_workdocs/types/subscription_type.py +14 -0
  289. capo_workdocs/types/text_locale_type_list.py +31 -0
  290. capo_workdocs/types/time_zone_id_type.py +5 -0
  291. capo_workdocs/types/timestamp_type.py +20 -0
  292. capo_workdocs/types/update_document_request.py +61 -0
  293. capo_workdocs/types/update_document_version_request.py +53 -0
  294. capo_workdocs/types/update_folder_request.py +61 -0
  295. capo_workdocs/types/update_user_request.py +111 -0
  296. capo_workdocs/types/update_user_response.py +32 -0
  297. capo_workdocs/types/upload_metadata.py +43 -0
  298. capo_workdocs/types/url_type.py +5 -0
  299. capo_workdocs/types/user.py +172 -0
  300. capo_workdocs/types/user_activities.py +29 -0
  301. capo_workdocs/types/user_attribute_value_type.py +5 -0
  302. capo_workdocs/types/user_filter_type.py +17 -0
  303. capo_workdocs/types/user_ids_type.py +5 -0
  304. capo_workdocs/types/user_metadata.py +61 -0
  305. capo_workdocs/types/user_metadata_list.py +29 -0
  306. capo_workdocs/types/user_sort_type.py +20 -0
  307. capo_workdocs/types/user_status_type.py +18 -0
  308. capo_workdocs/types/user_storage_metadata.py +43 -0
  309. capo_workdocs/types/user_type.py +20 -0
  310. capo_workdocs/types/username_type.py +5 -0
  311. capo_workdocs-0.1.0.dist-info/METADATA +101 -0
  312. capo_workdocs-0.1.0.dist-info/RECORD +315 -0
  313. capo_workdocs-0.1.0.dist-info/WHEEL +5 -0
  314. capo_workdocs-0.1.0.dist-info/licenses/LICENSE +21 -0
  315. capo_workdocs-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,17 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#BooleanEnumType``."""
2
+
3
+ from typing import Literal, TypeAlias, cast
4
+
5
+ BooleanEnumType: TypeAlias = Literal[
6
+ "TRUE",
7
+ "FALSE",
8
+ ]
9
+
10
+
11
+ # --- restJson1 ser/de ---
12
+ def serialize_json(value: BooleanEnumType) -> str:
13
+ return value
14
+
15
+
16
+ def deserialize_json(data: str) -> BooleanEnumType:
17
+ return cast(BooleanEnumType, data)
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#BooleanType``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ BooleanType: TypeAlias = bool
@@ -0,0 +1,121 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#Comment``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_workdocs.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_workdocs.types.comment_id_type
11
+ import capo_workdocs.types.comment_status_type
12
+ import capo_workdocs.types.comment_text_type
13
+ import capo_workdocs.types.comment_visibility_type
14
+ import capo_workdocs.types.id_type
15
+ import capo_workdocs.types.timestamp_type
16
+ import capo_workdocs.types.user
17
+
18
+
19
+ class Comment(TypedDict, closed=True):
20
+ comment_id: "capo_workdocs.types.comment_id_type.CommentIdType"
21
+ """<p>The ID of the comment.</p>"""
22
+ parent_id: NotRequired["capo_workdocs.types.comment_id_type.CommentIdType"]
23
+ """<p>The ID of the parent comment.</p>"""
24
+ thread_id: NotRequired["capo_workdocs.types.comment_id_type.CommentIdType"]
25
+ """<p>The ID of the root comment in the thread.</p>"""
26
+ text: NotRequired["capo_workdocs.types.comment_text_type.CommentTextType"]
27
+ """<p>The text of the comment.</p>"""
28
+ contributor: NotRequired["capo_workdocs.types.user.User"]
29
+ """<p>The details of the user who made the comment.</p>"""
30
+ created_timestamp: NotRequired["capo_workdocs.types.timestamp_type.TimestampType"]
31
+ """<p>The time that the comment was created.</p>"""
32
+ status: NotRequired["capo_workdocs.types.comment_status_type.CommentStatusType"]
33
+ """<p>The status of the comment.</p>"""
34
+ visibility: NotRequired[
35
+ "capo_workdocs.types.comment_visibility_type.CommentVisibilityType"
36
+ ]
37
+ """<p>The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.</p>"""
38
+ recipient_id: NotRequired["capo_workdocs.types.id_type.IdType"]
39
+ """<p>If the comment is a reply to another user's comment, this field contains the user ID of the user being replied to.</p>"""
40
+
41
+
42
+ # --- restJson1 ser/de ---
43
+ def serialize_json(value: Comment) -> dict:
44
+ out: dict = {}
45
+ out["CommentId"] = value["comment_id"]
46
+ if "parent_id" in value:
47
+ out["ParentId"] = value["parent_id"]
48
+ if "thread_id" in value:
49
+ out["ThreadId"] = value["thread_id"]
50
+ if "text" in value:
51
+ out["Text"] = value["text"]
52
+ if "contributor" in value:
53
+ import capo_workdocs.types.user
54
+
55
+ out["Contributor"] = capo_workdocs.types.user.serialize_json(
56
+ value["contributor"]
57
+ )
58
+ if "created_timestamp" in value:
59
+ import capo_workdocs.types.timestamp_type
60
+
61
+ out["CreatedTimestamp"] = capo_workdocs.types.timestamp_type.serialize_json(
62
+ value["created_timestamp"]
63
+ )
64
+ if "status" in value:
65
+ import capo_workdocs.types.comment_status_type
66
+
67
+ out["Status"] = capo_workdocs.types.comment_status_type.serialize_json(
68
+ value["status"]
69
+ )
70
+ if "visibility" in value:
71
+ import capo_workdocs.types.comment_visibility_type
72
+
73
+ out["Visibility"] = capo_workdocs.types.comment_visibility_type.serialize_json(
74
+ value["visibility"]
75
+ )
76
+ if "recipient_id" in value:
77
+ out["RecipientId"] = value["recipient_id"]
78
+ return out
79
+
80
+
81
+ def deserialize_json(data: dict) -> Comment:
82
+ out: Comment = {} # type: ignore[typeddict-item]
83
+ if data.get("CommentId") is not None:
84
+ out["comment_id"] = data["CommentId"]
85
+ else:
86
+ raise DeserializationError("Comment.comment_id required")
87
+ if data.get("ParentId") is not None:
88
+ out["parent_id"] = data["ParentId"]
89
+ if data.get("ThreadId") is not None:
90
+ out["thread_id"] = data["ThreadId"]
91
+ if data.get("Text") is not None:
92
+ out["text"] = data["Text"]
93
+ if data.get("Contributor") is not None:
94
+ import capo_workdocs.types.user
95
+
96
+ out["contributor"] = capo_workdocs.types.user.deserialize_json(
97
+ data["Contributor"]
98
+ )
99
+ if data.get("CreatedTimestamp") is not None:
100
+ import capo_workdocs.types.timestamp_type
101
+
102
+ out["created_timestamp"] = capo_workdocs.types.timestamp_type.deserialize_json(
103
+ data["CreatedTimestamp"]
104
+ )
105
+ if data.get("Status") is not None:
106
+ import capo_workdocs.types.comment_status_type
107
+
108
+ out["status"] = capo_workdocs.types.comment_status_type.deserialize_json(
109
+ data["Status"]
110
+ )
111
+ if data.get("Visibility") is not None:
112
+ import capo_workdocs.types.comment_visibility_type
113
+
114
+ out["visibility"] = (
115
+ capo_workdocs.types.comment_visibility_type.deserialize_json(
116
+ data["Visibility"]
117
+ )
118
+ )
119
+ if data.get("RecipientId") is not None:
120
+ out["recipient_id"] = data["RecipientId"]
121
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CommentIdType``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ CommentIdType: TypeAlias = str
@@ -0,0 +1,29 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CommentList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_workdocs.types.comment
7
+
8
+ CommentList: TypeAlias = list["capo_workdocs.types.comment.Comment"]
9
+
10
+
11
+ # --- restJson1 ser/de ---
12
+ def serialize_json(value: CommentList) -> list:
13
+ import capo_workdocs.types.comment
14
+
15
+ out: list = []
16
+ for item in value:
17
+ out.append(capo_workdocs.types.comment.serialize_json(item))
18
+ return out
19
+
20
+
21
+ def deserialize_json(data: list) -> CommentList:
22
+ import capo_workdocs.types.comment
23
+
24
+ out: CommentList = []
25
+ for item in data:
26
+ if item is None:
27
+ continue
28
+ out.append(capo_workdocs.types.comment.deserialize_json(item))
29
+ return out
@@ -0,0 +1,90 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CommentMetadata``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_workdocs.types.comment_id_type
9
+ import capo_workdocs.types.comment_status_type
10
+ import capo_workdocs.types.id_type
11
+ import capo_workdocs.types.timestamp_type
12
+ import capo_workdocs.types.user
13
+
14
+
15
+ class CommentMetadata(TypedDict, closed=True):
16
+ comment_id: NotRequired["capo_workdocs.types.comment_id_type.CommentIdType"]
17
+ """<p>The ID of the comment.</p>"""
18
+ contributor: NotRequired["capo_workdocs.types.user.User"]
19
+ """<p>The user who made the comment.</p>"""
20
+ created_timestamp: NotRequired["capo_workdocs.types.timestamp_type.TimestampType"]
21
+ """<p>The timestamp that the comment was created.</p>"""
22
+ comment_status: NotRequired[
23
+ "capo_workdocs.types.comment_status_type.CommentStatusType"
24
+ ]
25
+ """<p>The status of the comment.</p>"""
26
+ recipient_id: NotRequired["capo_workdocs.types.id_type.IdType"]
27
+ """<p>The ID of the user being replied to.</p>"""
28
+ contributor_id: NotRequired["capo_workdocs.types.id_type.IdType"]
29
+ """<p>The ID of the user who made the comment.</p>"""
30
+
31
+
32
+ # --- restJson1 ser/de ---
33
+ def serialize_json(value: CommentMetadata) -> dict:
34
+ out: dict = {}
35
+ if "comment_id" in value:
36
+ out["CommentId"] = value["comment_id"]
37
+ if "contributor" in value:
38
+ import capo_workdocs.types.user
39
+
40
+ out["Contributor"] = capo_workdocs.types.user.serialize_json(
41
+ value["contributor"]
42
+ )
43
+ if "created_timestamp" in value:
44
+ import capo_workdocs.types.timestamp_type
45
+
46
+ out["CreatedTimestamp"] = capo_workdocs.types.timestamp_type.serialize_json(
47
+ value["created_timestamp"]
48
+ )
49
+ if "comment_status" in value:
50
+ import capo_workdocs.types.comment_status_type
51
+
52
+ out["CommentStatus"] = capo_workdocs.types.comment_status_type.serialize_json(
53
+ value["comment_status"]
54
+ )
55
+ if "recipient_id" in value:
56
+ out["RecipientId"] = value["recipient_id"]
57
+ if "contributor_id" in value:
58
+ out["ContributorId"] = value["contributor_id"]
59
+ return out
60
+
61
+
62
+ def deserialize_json(data: dict) -> CommentMetadata:
63
+ out: CommentMetadata = {} # type: ignore[typeddict-item]
64
+ if data.get("CommentId") is not None:
65
+ out["comment_id"] = data["CommentId"]
66
+ if data.get("Contributor") is not None:
67
+ import capo_workdocs.types.user
68
+
69
+ out["contributor"] = capo_workdocs.types.user.deserialize_json(
70
+ data["Contributor"]
71
+ )
72
+ if data.get("CreatedTimestamp") is not None:
73
+ import capo_workdocs.types.timestamp_type
74
+
75
+ out["created_timestamp"] = capo_workdocs.types.timestamp_type.deserialize_json(
76
+ data["CreatedTimestamp"]
77
+ )
78
+ if data.get("CommentStatus") is not None:
79
+ import capo_workdocs.types.comment_status_type
80
+
81
+ out["comment_status"] = (
82
+ capo_workdocs.types.comment_status_type.deserialize_json(
83
+ data["CommentStatus"]
84
+ )
85
+ )
86
+ if data.get("RecipientId") is not None:
87
+ out["recipient_id"] = data["RecipientId"]
88
+ if data.get("ContributorId") is not None:
89
+ out["contributor_id"] = data["ContributorId"]
90
+ return out
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CommentStatusType``."""
2
+
3
+ from typing import Literal, TypeAlias, cast
4
+
5
+ CommentStatusType: TypeAlias = Literal[
6
+ "DRAFT",
7
+ "PUBLISHED",
8
+ "DELETED",
9
+ ]
10
+
11
+
12
+ # --- restJson1 ser/de ---
13
+ def serialize_json(value: CommentStatusType) -> str:
14
+ return value
15
+
16
+
17
+ def deserialize_json(data: str) -> CommentStatusType:
18
+ return cast(CommentStatusType, data)
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CommentTextType``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ CommentTextType: TypeAlias = str
@@ -0,0 +1,17 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CommentVisibilityType``."""
2
+
3
+ from typing import Literal, TypeAlias, cast
4
+
5
+ CommentVisibilityType: TypeAlias = Literal[
6
+ "PUBLIC",
7
+ "PRIVATE",
8
+ ]
9
+
10
+
11
+ # --- restJson1 ser/de ---
12
+ def serialize_json(value: CommentVisibilityType) -> str:
13
+ return value
14
+
15
+
16
+ def deserialize_json(data: str) -> CommentVisibilityType:
17
+ return cast(CommentVisibilityType, data)
@@ -0,0 +1,24 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#ContentCategoryType``."""
2
+
3
+ from typing import Literal, TypeAlias, cast
4
+
5
+ ContentCategoryType: TypeAlias = Literal[
6
+ "IMAGE",
7
+ "DOCUMENT",
8
+ "PDF",
9
+ "SPREADSHEET",
10
+ "PRESENTATION",
11
+ "AUDIO",
12
+ "VIDEO",
13
+ "SOURCE_CODE",
14
+ "OTHER",
15
+ ]
16
+
17
+
18
+ # --- restJson1 ser/de ---
19
+ def serialize_json(value: ContentCategoryType) -> str:
20
+ return value
21
+
22
+
23
+ def deserialize_json(data: str) -> ContentCategoryType:
24
+ return cast(ContentCategoryType, data)
@@ -0,0 +1,82 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateCommentRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_workdocs.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_workdocs.types.authentication_header_type
11
+ import capo_workdocs.types.boolean_type
12
+ import capo_workdocs.types.comment_id_type
13
+ import capo_workdocs.types.comment_text_type
14
+ import capo_workdocs.types.comment_visibility_type
15
+ import capo_workdocs.types.document_version_id_type
16
+ import capo_workdocs.types.resource_id_type
17
+
18
+
19
+ class CreateCommentRequest(TypedDict, closed=True):
20
+ authentication_token: NotRequired[
21
+ "capo_workdocs.types.authentication_header_type.AuthenticationHeaderType"
22
+ ]
23
+ """<p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>"""
24
+ document_id: "capo_workdocs.types.resource_id_type.ResourceIdType"
25
+ """<p>The ID of the document.</p>"""
26
+ version_id: "capo_workdocs.types.document_version_id_type.DocumentVersionIdType"
27
+ """<p>The ID of the document version.</p>"""
28
+ parent_id: NotRequired["capo_workdocs.types.comment_id_type.CommentIdType"]
29
+ """<p>The ID of the parent comment.</p>"""
30
+ thread_id: NotRequired["capo_workdocs.types.comment_id_type.CommentIdType"]
31
+ """<p>The ID of the root comment in the thread.</p>"""
32
+ text: "capo_workdocs.types.comment_text_type.CommentTextType"
33
+ """<p>The text of the comment.</p>"""
34
+ visibility: NotRequired[
35
+ "capo_workdocs.types.comment_visibility_type.CommentVisibilityType"
36
+ ]
37
+ """<p>The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.</p>"""
38
+ notify_collaborators: "capo_workdocs.types.boolean_type.BooleanType"
39
+ """<p>Set this parameter to TRUE to send an email out to the document collaborators after the comment is created.</p>"""
40
+
41
+
42
+ # --- restJson1 ser/de ---
43
+ def serialize_json(value: CreateCommentRequest) -> dict:
44
+ out: dict = {}
45
+ if "parent_id" in value:
46
+ out["ParentId"] = value["parent_id"]
47
+ if "thread_id" in value:
48
+ out["ThreadId"] = value["thread_id"]
49
+ out["Text"] = value["text"]
50
+ if "visibility" in value:
51
+ import capo_workdocs.types.comment_visibility_type
52
+
53
+ out["Visibility"] = capo_workdocs.types.comment_visibility_type.serialize_json(
54
+ value["visibility"]
55
+ )
56
+ out["NotifyCollaborators"] = value.get("notify_collaborators", False)
57
+ return out
58
+
59
+
60
+ def deserialize_json(data: dict) -> CreateCommentRequest:
61
+ out: CreateCommentRequest = {} # type: ignore[typeddict-item]
62
+ if data.get("ParentId") is not None:
63
+ out["parent_id"] = data["ParentId"]
64
+ if data.get("ThreadId") is not None:
65
+ out["thread_id"] = data["ThreadId"]
66
+ if data.get("Text") is not None:
67
+ out["text"] = data["Text"]
68
+ else:
69
+ raise DeserializationError("CreateCommentRequest.text required")
70
+ if data.get("Visibility") is not None:
71
+ import capo_workdocs.types.comment_visibility_type
72
+
73
+ out["visibility"] = (
74
+ capo_workdocs.types.comment_visibility_type.deserialize_json(
75
+ data["Visibility"]
76
+ )
77
+ )
78
+ if data.get("NotifyCollaborators") is not None:
79
+ out["notify_collaborators"] = data["NotifyCollaborators"]
80
+ else:
81
+ out["notify_collaborators"] = False
82
+ return out
@@ -0,0 +1,32 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateCommentResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_workdocs.types.comment
9
+
10
+
11
+ class CreateCommentResponse(TypedDict, closed=True):
12
+ comment: NotRequired["capo_workdocs.types.comment.Comment"]
13
+ """<p>The comment that has been created.</p>"""
14
+
15
+
16
+ # --- restJson1 ser/de ---
17
+ def serialize_json(value: CreateCommentResponse) -> dict:
18
+ out: dict = {}
19
+ if "comment" in value:
20
+ import capo_workdocs.types.comment
21
+
22
+ out["Comment"] = capo_workdocs.types.comment.serialize_json(value["comment"])
23
+ return out
24
+
25
+
26
+ def deserialize_json(data: dict) -> CreateCommentResponse:
27
+ out: CreateCommentResponse = {} # type: ignore[typeddict-item]
28
+ if data.get("Comment") is not None:
29
+ import capo_workdocs.types.comment
30
+
31
+ out["comment"] = capo_workdocs.types.comment.deserialize_json(data["Comment"])
32
+ return out
@@ -0,0 +1,56 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateCustomMetadataRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_workdocs.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_workdocs.types.authentication_header_type
11
+ import capo_workdocs.types.custom_metadata_map
12
+ import capo_workdocs.types.document_version_id_type
13
+ import capo_workdocs.types.resource_id_type
14
+
15
+
16
+ class CreateCustomMetadataRequest(TypedDict, closed=True):
17
+ authentication_token: NotRequired[
18
+ "capo_workdocs.types.authentication_header_type.AuthenticationHeaderType"
19
+ ]
20
+ """<p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>"""
21
+ resource_id: "capo_workdocs.types.resource_id_type.ResourceIdType"
22
+ """<p>The ID of the resource.</p>"""
23
+ version_id: NotRequired[
24
+ "capo_workdocs.types.document_version_id_type.DocumentVersionIdType"
25
+ ]
26
+ """<p>The ID of the version, if the custom metadata is being added to a document version.</p>"""
27
+ custom_metadata: "capo_workdocs.types.custom_metadata_map.CustomMetadataMap"
28
+ """<p>Custom metadata in the form of name-value pairs.</p>"""
29
+
30
+
31
+ # --- restJson1 ser/de ---
32
+ def serialize_json(value: CreateCustomMetadataRequest) -> dict:
33
+ out: dict = {}
34
+ import capo_workdocs.types.custom_metadata_map
35
+
36
+ out["CustomMetadata"] = capo_workdocs.types.custom_metadata_map.serialize_json(
37
+ value["custom_metadata"]
38
+ )
39
+ return out
40
+
41
+
42
+ def deserialize_json(data: dict) -> CreateCustomMetadataRequest:
43
+ out: CreateCustomMetadataRequest = {} # type: ignore[typeddict-item]
44
+ if data.get("CustomMetadata") is not None:
45
+ import capo_workdocs.types.custom_metadata_map
46
+
47
+ out["custom_metadata"] = (
48
+ capo_workdocs.types.custom_metadata_map.deserialize_json(
49
+ data["CustomMetadata"]
50
+ )
51
+ )
52
+ else:
53
+ raise DeserializationError(
54
+ "CreateCustomMetadataRequest.custom_metadata required"
55
+ )
56
+ return out
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateCustomMetadataResponse``."""
2
+
3
+ from typing_extensions import TypedDict
4
+
5
+
6
+ class CreateCustomMetadataResponse(TypedDict, closed=True):
7
+ pass
8
+
9
+
10
+ # --- restJson1 ser/de ---
11
+ def serialize_json(value: CreateCustomMetadataResponse) -> dict:
12
+ out: dict = {}
13
+ return out
14
+
15
+
16
+ def deserialize_json(data: dict) -> CreateCustomMetadataResponse:
17
+ out: CreateCustomMetadataResponse = {} # type: ignore[typeddict-item]
18
+ return out
@@ -0,0 +1,43 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateFolderRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_workdocs.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_workdocs.types.authentication_header_type
11
+ import capo_workdocs.types.resource_id_type
12
+ import capo_workdocs.types.resource_name_type
13
+
14
+
15
+ class CreateFolderRequest(TypedDict, closed=True):
16
+ authentication_token: NotRequired[
17
+ "capo_workdocs.types.authentication_header_type.AuthenticationHeaderType"
18
+ ]
19
+ """<p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>"""
20
+ name: NotRequired["capo_workdocs.types.resource_name_type.ResourceNameType"]
21
+ """<p>The name of the new folder.</p>"""
22
+ parent_folder_id: "capo_workdocs.types.resource_id_type.ResourceIdType"
23
+ """<p>The ID of the parent folder.</p>"""
24
+
25
+
26
+ # --- restJson1 ser/de ---
27
+ def serialize_json(value: CreateFolderRequest) -> dict:
28
+ out: dict = {}
29
+ if "name" in value:
30
+ out["Name"] = value["name"]
31
+ out["ParentFolderId"] = value["parent_folder_id"]
32
+ return out
33
+
34
+
35
+ def deserialize_json(data: dict) -> CreateFolderRequest:
36
+ out: CreateFolderRequest = {} # type: ignore[typeddict-item]
37
+ if data.get("Name") is not None:
38
+ out["name"] = data["Name"]
39
+ if data.get("ParentFolderId") is not None:
40
+ out["parent_folder_id"] = data["ParentFolderId"]
41
+ else:
42
+ raise DeserializationError("CreateFolderRequest.parent_folder_id required")
43
+ return out
@@ -0,0 +1,36 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateFolderResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_workdocs.types.folder_metadata
9
+
10
+
11
+ class CreateFolderResponse(TypedDict, closed=True):
12
+ metadata: NotRequired["capo_workdocs.types.folder_metadata.FolderMetadata"]
13
+ """<p>The metadata of the folder.</p>"""
14
+
15
+
16
+ # --- restJson1 ser/de ---
17
+ def serialize_json(value: CreateFolderResponse) -> dict:
18
+ out: dict = {}
19
+ if "metadata" in value:
20
+ import capo_workdocs.types.folder_metadata
21
+
22
+ out["Metadata"] = capo_workdocs.types.folder_metadata.serialize_json(
23
+ value["metadata"]
24
+ )
25
+ return out
26
+
27
+
28
+ def deserialize_json(data: dict) -> CreateFolderResponse:
29
+ out: CreateFolderResponse = {} # type: ignore[typeddict-item]
30
+ if data.get("Metadata") is not None:
31
+ import capo_workdocs.types.folder_metadata
32
+
33
+ out["metadata"] = capo_workdocs.types.folder_metadata.deserialize_json(
34
+ data["Metadata"]
35
+ )
36
+ return out
@@ -0,0 +1,45 @@
1
+ """Generated from Smithy shape ``com.amazonaws.workdocs#CreateLabelsRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_workdocs.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_workdocs.types.authentication_header_type
11
+ import capo_workdocs.types.resource_id_type
12
+ import capo_workdocs.types.shared_labels
13
+
14
+
15
+ class CreateLabelsRequest(TypedDict, closed=True):
16
+ resource_id: "capo_workdocs.types.resource_id_type.ResourceIdType"
17
+ """<p>The ID of the resource.</p>"""
18
+ labels: "capo_workdocs.types.shared_labels.SharedLabels"
19
+ """<p>List of labels to add to the resource.</p>"""
20
+ authentication_token: NotRequired[
21
+ "capo_workdocs.types.authentication_header_type.AuthenticationHeaderType"
22
+ ]
23
+ """<p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>"""
24
+
25
+
26
+ # --- restJson1 ser/de ---
27
+ def serialize_json(value: CreateLabelsRequest) -> dict:
28
+ out: dict = {}
29
+ import capo_workdocs.types.shared_labels
30
+
31
+ out["Labels"] = capo_workdocs.types.shared_labels.serialize_json(value["labels"])
32
+ return out
33
+
34
+
35
+ def deserialize_json(data: dict) -> CreateLabelsRequest:
36
+ out: CreateLabelsRequest = {} # type: ignore[typeddict-item]
37
+ if data.get("Labels") is not None:
38
+ import capo_workdocs.types.shared_labels
39
+
40
+ out["labels"] = capo_workdocs.types.shared_labels.deserialize_json(
41
+ data["Labels"]
42
+ )
43
+ else:
44
+ raise DeserializationError("CreateLabelsRequest.labels required")
45
+ return out