Office365-REST-Python-Client 2.4.2__py3-none-any.whl → 2.4.4__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 (411) hide show
  1. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/METADATA +65 -31
  2. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/RECORD +401 -259
  3. office365/base_item.py +27 -5
  4. office365/booking/business.py +7 -0
  5. office365/booking/currency.py +5 -0
  6. office365/booking/solutions_root.py +32 -0
  7. office365/communications/calls/invitation_participant_info.py +17 -1
  8. office365/communications/calls/options.py +9 -0
  9. office365/communications/onlinemeetings/provider_type.py +3 -0
  10. office365/communications/presences/presence.py +14 -0
  11. office365/communications/presences/status_message.py +12 -0
  12. office365/directory/administrative_unit.py +22 -0
  13. office365/directory/applications/collection.py +2 -1
  14. office365/directory/applications/roles/assignment.py +45 -5
  15. office365/directory/applications/roles/assignment_collection.py +8 -0
  16. office365/directory/applications/roles/role.py +6 -1
  17. office365/directory/audit/signins/activity.py +31 -0
  18. office365/directory/audit/signins/location.py +17 -0
  19. office365/directory/audit/signins/signin.py +33 -0
  20. office365/directory/authentication/authentication.py +9 -0
  21. office365/directory/authentication/methods/details.py +25 -0
  22. office365/directory/authentication/methods/email.py +16 -0
  23. office365/directory/authentication/methods/root.py +27 -0
  24. office365/directory/certificates/authority.py +6 -1
  25. office365/directory/extensions/extended_property.py +8 -1
  26. office365/directory/extensions/extension.py +1 -1
  27. office365/directory/extensions/extension_property.py +0 -3
  28. office365/directory/extensions/open_type.py +8 -0
  29. office365/directory/groups/collection.py +2 -4
  30. office365/directory/groups/group.py +18 -4
  31. office365/directory/identities/governance.py +2 -0
  32. office365/directory/identities/object_identity.py +3 -3
  33. office365/directory/insights/resource_reference.py +15 -0
  34. office365/directory/insights/shared.py +36 -0
  35. office365/directory/insights/sharing_detail.py +11 -0
  36. office365/directory/insights/trending.py +8 -0
  37. office365/directory/insights/usage_details.py +16 -0
  38. office365/directory/insights/used.py +30 -0
  39. office365/directory/invitations/invitation.py +33 -1
  40. office365/directory/licenses/assigned_plan.py +19 -1
  41. office365/directory/licenses/assignment_state.py +5 -0
  42. office365/directory/licenses/service_plan_info.py +4 -0
  43. office365/directory/licenses/subscribed_sku.py +41 -0
  44. office365/directory/licenses/units_detail.py +11 -0
  45. office365/directory/object.py +3 -1
  46. office365/directory/object_collection.py +3 -4
  47. office365/directory/password_credential.py +5 -1
  48. office365/directory/permissions/email_identity.py +5 -0
  49. office365/directory/permissions/grants/condition_set.py +26 -0
  50. office365/directory/permissions/grants/resource_specific.py +21 -0
  51. office365/directory/policies/authentication_flows.py +9 -0
  52. office365/directory/policies/authentication_strength.py +10 -0
  53. office365/directory/policies/authorization.py +8 -0
  54. office365/directory/policies/cross_tenant_access.py +5 -0
  55. office365/directory/policies/root.py +35 -2
  56. office365/directory/protection/information.py +5 -0
  57. office365/directory/protection/risk_detection.py +11 -0
  58. office365/directory/protection/riskyusers/activity.py +5 -0
  59. office365/directory/protection/riskyusers/collection.py +32 -0
  60. office365/directory/protection/riskyusers/history_item.py +20 -0
  61. office365/directory/protection/riskyusers/risky_user.py +26 -0
  62. office365/directory/protection/root.py +31 -0
  63. office365/directory/rolemanagement/application.py +35 -0
  64. office365/directory/{roles → rolemanagement}/management.py +8 -1
  65. office365/directory/{roles → rolemanagement}/role.py +14 -0
  66. office365/directory/{roles → rolemanagement}/template.py +8 -0
  67. office365/directory/rolemanagement/unified_role_assignment.py +45 -0
  68. office365/directory/rolemanagement/unified_role_definition.py +6 -0
  69. office365/directory/security/alerts/alert.py +21 -0
  70. office365/directory/security/alerts/history_state.py +5 -0
  71. office365/directory/security/attacksimulations/automation.py +21 -0
  72. office365/directory/security/attacksimulations/automation_run.py +5 -0
  73. office365/directory/security/attacksimulations/repeat_offender.py +6 -0
  74. office365/directory/security/attacksimulations/root.py +26 -0
  75. office365/directory/security/attacksimulations/simulation.py +17 -0
  76. office365/directory/security/cases/__init__.py +0 -0
  77. office365/directory/security/cases/ediscovery.py +6 -0
  78. office365/directory/security/cases/root.py +22 -0
  79. office365/directory/security/incidents/incident.py +67 -0
  80. office365/directory/security/security.py +10 -1
  81. office365/directory/serviceprincipals/service_principal.py +89 -4
  82. office365/directory/synchronization/__init__.py +0 -0
  83. office365/directory/synchronization/job.py +16 -0
  84. office365/directory/synchronization/progress.py +5 -0
  85. office365/directory/synchronization/status.py +13 -0
  86. office365/directory/synchronization/synchronization.py +24 -0
  87. office365/directory/tenant_information.py +17 -0
  88. office365/directory/tenant_relationship.py +21 -0
  89. office365/directory/users/activities/activity.py +45 -1
  90. office365/directory/users/collection.py +8 -0
  91. office365/directory/users/password_profile.py +18 -2
  92. office365/directory/users/user.py +254 -29
  93. office365/entity.py +3 -3
  94. office365/graph_client.py +64 -12
  95. office365/intune/audit/actor.py +5 -0
  96. office365/intune/audit/event.py +21 -24
  97. office365/intune/audit/event_collection.py +26 -0
  98. office365/intune/audit/property.py +5 -0
  99. office365/intune/audit/resource.py +11 -0
  100. office365/intune/brand.py +6 -0
  101. office365/intune/devices/compliance/__init__.py +0 -0
  102. office365/intune/devices/compliance/policy.py +6 -0
  103. office365/intune/devices/compliance/policy_state.py +5 -0
  104. office365/intune/devices/data.py +5 -0
  105. office365/intune/devices/detail.py +10 -0
  106. office365/intune/devices/enrollment/__init__.py +0 -0
  107. office365/intune/devices/enrollment/configuration.py +25 -0
  108. office365/intune/devices/enrollment/configuration_assignment.py +5 -0
  109. office365/intune/devices/enrollment/limit_configuration.py +5 -0
  110. office365/intune/devices/managed.py +44 -3
  111. office365/intune/devices/management/__init__.py +0 -0
  112. office365/intune/devices/management/management.py +69 -0
  113. office365/intune/devices/management/reports/__init__.py +0 -0
  114. office365/intune/devices/management/reports/reports.py +5 -0
  115. office365/intune/devices/management/settings.py +18 -0
  116. office365/intune/organizations/branding.py +15 -0
  117. office365/intune/organizations/organization.py +14 -0
  118. office365/intune/printing/__init__.py +0 -0
  119. office365/intune/printing/base.py +11 -0
  120. office365/intune/printing/capabilities.py +5 -0
  121. office365/intune/printing/connectors/__init__.py +0 -0
  122. office365/intune/printing/connectors/connector.py +6 -0
  123. office365/intune/printing/operations/__init__.py +0 -0
  124. office365/intune/printing/print.py +24 -0
  125. office365/intune/printing/printer.py +6 -0
  126. office365/intune/printing/services/__init__.py +0 -0
  127. office365/intune/printing/services/endpoint.py +5 -0
  128. office365/intune/printing/services/service.py +17 -0
  129. office365/intune/printing/share.py +5 -0
  130. office365/intune/printing/shares/__init__.py +0 -0
  131. office365/intune/printing/taskdefinitions/__init__.py +0 -0
  132. office365/intune/provisioned_plan.py +5 -1
  133. office365/intune/servicecommunications/__init__.py +0 -0
  134. office365/intune/servicecommunications/announcement.py +39 -0
  135. office365/intune/servicecommunications/announcement_base.py +5 -0
  136. office365/intune/servicecommunications/health/__init__.py +0 -0
  137. office365/intune/servicecommunications/health/health.py +7 -0
  138. office365/intune/servicecommunications/issues/__init__.py +0 -0
  139. office365/intune/servicecommunications/issues/issue.py +29 -0
  140. office365/intune/servicecommunications/messages/__init__.py +0 -0
  141. office365/intune/servicecommunications/messages/update.py +10 -0
  142. office365/intune/termsandconditions/__init__.py +0 -0
  143. office365/intune/vpp_token.py +10 -0
  144. office365/onedrive/admin.py +16 -0
  145. office365/onedrive/columns/content_approval_status.py +5 -0
  146. office365/onedrive/columns/datetime.py +15 -0
  147. office365/onedrive/columns/default_value.py +4 -0
  148. office365/onedrive/columns/definition.py +49 -3
  149. office365/onedrive/columns/definition_collection.py +17 -6
  150. office365/onedrive/columns/lookup.py +5 -1
  151. office365/onedrive/columns/types.py +13 -0
  152. office365/onedrive/contenttypes/content_type.py +8 -0
  153. office365/onedrive/driveitems/audio.py +12 -1
  154. office365/onedrive/driveitems/driveItem.py +147 -69
  155. office365/onedrive/driveitems/image.py +8 -1
  156. office365/onedrive/driveitems/item_preview_info.py +20 -2
  157. office365/onedrive/driveitems/remote_item.py +19 -4
  158. office365/onedrive/drives/drive.py +7 -1
  159. office365/onedrive/drives/quota.py +18 -0
  160. office365/onedrive/drives/recipient.py +4 -0
  161. office365/onedrive/files/system_info.py +8 -6
  162. office365/onedrive/folders/folder.py +3 -3
  163. office365/onedrive/internal/paths/children.py +1 -4
  164. office365/onedrive/internal/paths/shared.py +7 -2
  165. office365/onedrive/lists/collection.py +12 -6
  166. office365/onedrive/lists/list.py +13 -5
  167. office365/onedrive/operations/long_running.py +7 -0
  168. office365/onedrive/operations/pending.py +13 -0
  169. office365/onedrive/operations/pending_content_update.py +5 -0
  170. office365/onedrive/permissions/collection.py +5 -6
  171. office365/onedrive/permissions/sharing_link.py +16 -1
  172. office365/onedrive/sensitivitylabels/__init__.py +0 -0
  173. office365/onedrive/sensitivitylabels/assignment.py +17 -0
  174. office365/onedrive/sensitivitylabels/assignment_method.py +4 -0
  175. office365/onedrive/sensitivitylabels/extract_result.py +13 -0
  176. office365/onedrive/sharepoint_settings.py +25 -0
  177. office365/onedrive/sites/sites_with_root.py +11 -1
  178. office365/onedrive/termstore/groups/collection.py +1 -1
  179. office365/onedrive/termstore/groups/group.py +1 -0
  180. office365/onedrive/termstore/sets/collection.py +1 -1
  181. office365/onenote/operations/operation.py +10 -1
  182. office365/onenote/resources/resource.py +1 -0
  183. office365/outlook/calendar/calendar.py +116 -6
  184. office365/outlook/calendar/dateTimeTimeZone.py +4 -0
  185. office365/outlook/calendar/email_address.py +7 -0
  186. office365/outlook/calendar/events/event.py +0 -4
  187. office365/outlook/calendar/events/reminder.py +22 -3
  188. office365/outlook/calendar/group.py +0 -2
  189. office365/outlook/calendar/location_constraint.py +16 -1
  190. office365/outlook/calendar/meetingtimes/activity_domain.py +10 -0
  191. office365/outlook/calendar/meetingtimes/suggestion.py +1 -1
  192. office365/outlook/calendar/meetingtimes/time_constraint.py +18 -0
  193. office365/outlook/calendar/permissions/__init__.py +0 -0
  194. office365/outlook/calendar/permissions/collection.py +24 -0
  195. office365/outlook/calendar/{permission.py → permissions/permission.py} +35 -2
  196. office365/outlook/calendar/place.py +7 -0
  197. office365/outlook/calendar/role_type.py +17 -0
  198. office365/outlook/calendar/schedule/information.py +5 -4
  199. office365/outlook/calendar/schedule/item.py +20 -1
  200. office365/outlook/calendar/sharing_message.py +2 -2
  201. office365/outlook/calendar/time_zone_base.py +3 -0
  202. office365/outlook/calendar/working_hours.py +17 -1
  203. office365/outlook/contacts/collection.py +39 -0
  204. office365/outlook/contacts/contact.py +21 -11
  205. office365/outlook/geo_coordinates.py +20 -0
  206. office365/outlook/item.py +5 -4
  207. office365/outlook/locale_info.py +3 -0
  208. office365/outlook/mail/automatic_replies_setting.py +14 -0
  209. office365/outlook/mail/folders/folder.py +52 -3
  210. office365/outlook/mail/folders/search.py +11 -0
  211. office365/outlook/mail/importance.py +1 -0
  212. office365/outlook/mail/item_body.py +3 -0
  213. office365/outlook/mail/location.py +27 -2
  214. office365/outlook/mail/location_constraint_item.py +5 -0
  215. office365/outlook/mail/mailbox_settings.py +13 -1
  216. office365/outlook/mail/messages/collection.py +7 -0
  217. office365/outlook/mail/messages/followup_flag.py +21 -0
  218. office365/outlook/mail/messages/internet_header.py +16 -0
  219. office365/outlook/mail/messages/message.py +184 -6
  220. office365/outlook/mail/messages/rules/__init__.py +0 -0
  221. office365/outlook/mail/messages/rules/actions.py +38 -0
  222. office365/outlook/mail/messages/rules/predicates.py +5 -0
  223. office365/outlook/mail/messages/rules/rule.py +32 -0
  224. office365/outlook/mail/patterned_recurrence.py +14 -1
  225. office365/outlook/mail/physical_address.py +5 -1
  226. office365/outlook/mail/recipient.py +3 -0
  227. office365/outlook/mail/recurrence_pattern.py +18 -1
  228. office365/outlook/mail/recurrence_range.py +16 -2
  229. office365/outlook/timezone_information.py +3 -0
  230. office365/reports/root.py +28 -1
  231. office365/reports/security/__init__.py +0 -0
  232. office365/reports/security/root.py +21 -0
  233. office365/reports/userregistration/__init__.py +0 -0
  234. office365/reports/userregistration/method_count.py +17 -0
  235. office365/reports/userregistration/method_summary.py +21 -0
  236. office365/runtime/auth/authentication_context.py +123 -25
  237. office365/runtime/auth/client_credential.py +2 -2
  238. office365/runtime/auth/providers/acs_token_provider.py +6 -3
  239. office365/runtime/auth/providers/saml_token_provider.py +10 -7
  240. office365/runtime/auth/token_response.py +3 -3
  241. office365/runtime/client_object_collection.py +12 -7
  242. office365/runtime/client_result.py +9 -0
  243. office365/runtime/client_runtime_context.py +10 -8
  244. office365/runtime/http/request_options.py +2 -1
  245. office365/runtime/odata/request.py +4 -4
  246. office365/runtime/paths/appid.py +2 -1
  247. office365/runtime/paths/entity.py +2 -2
  248. office365/{sharepoint/internal/paths/entity.py → runtime/paths/key.py} +5 -3
  249. office365/runtime/paths/resource_path.py +3 -0
  250. office365/runtime/types/event_handler.py +6 -0
  251. office365/search/external/__init__.py +0 -0
  252. office365/search/external/configuration.py +8 -0
  253. office365/search/external/connection.py +27 -0
  254. office365/{external → search/external}/external.py +1 -1
  255. office365/search/external/search_settings.py +5 -0
  256. office365/search/query.py +3 -1
  257. office365/search/request.py +3 -1
  258. office365/search/sharepoint_onedrive_options.py +3 -0
  259. office365/search/sort_property.py +9 -0
  260. office365/sharepoint/activities/client_request.py +4 -1
  261. office365/sharepoint/activities/logger.py +25 -0
  262. office365/sharepoint/activities/revision_info.py +9 -0
  263. office365/sharepoint/addtoonedrive/mount_point.py +25 -0
  264. office365/sharepoint/addtoonedrive/mounted_folder_info.py +5 -0
  265. office365/sharepoint/alerts/alert.py +31 -0
  266. office365/sharepoint/apps/license_collection.py +1 -2
  267. office365/sharepoint/changes/item.py +14 -0
  268. office365/sharepoint/client_context.py +91 -30
  269. office365/sharepoint/clientsidecomponent/component_context_info.py +7 -0
  270. office365/sharepoint/clientsidecomponent/identifier.py +3 -0
  271. office365/sharepoint/compliance/tag_info.py +17 -0
  272. office365/sharepoint/contenttypes/collection.py +6 -7
  273. office365/sharepoint/contenttypes/content_type.py +49 -1
  274. office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -6
  275. office365/sharepoint/features/known_list.py +2 -0
  276. office365/sharepoint/fields/collection.py +70 -39
  277. office365/sharepoint/fields/computed.py +5 -2
  278. office365/sharepoint/fields/creation_information.py +5 -4
  279. office365/sharepoint/fields/field.py +73 -15
  280. office365/sharepoint/fields/user.py +3 -3
  281. office365/sharepoint/files/checked_out_file.py +3 -2
  282. office365/sharepoint/files/file.py +9 -4
  283. office365/sharepoint/files/versions/version.py +7 -9
  284. office365/sharepoint/folders/collection.py +2 -2
  285. office365/sharepoint/folders/coloring.py +39 -0
  286. office365/sharepoint/folders/coloring_information.py +15 -0
  287. office365/sharepoint/folders/folder.py +21 -10
  288. office365/sharepoint/forms/customization.py +8 -0
  289. office365/sharepoint/listitems/listitem.py +29 -10
  290. office365/sharepoint/lists/bloom_filter.py +0 -1
  291. office365/sharepoint/lists/creation_information.py +18 -4
  292. office365/sharepoint/lists/list.py +203 -27
  293. office365/sharepoint/lists/render_data_parameters.py +21 -1
  294. office365/sharepoint/lists/template_type.py +10 -0
  295. office365/sharepoint/navigation/configured_metadata_items.py +25 -1
  296. office365/sharepoint/navigation/metadata_settings.py +6 -4
  297. office365/sharepoint/permissions/irm/file_settings.py +43 -0
  298. office365/sharepoint/permissions/securable_object.py +5 -6
  299. office365/sharepoint/portal/sites/manager.py +5 -6
  300. office365/sharepoint/portal/userprofiles/documents_shared_with_group.py +3 -0
  301. office365/sharepoint/publishing/base_custom_property.py +8 -0
  302. office365/sharepoint/publishing/navigation/structural_navigation_cache_wrapper.py +8 -0
  303. office365/sharepoint/publishing/pagecopywithassets/__init__.py +0 -0
  304. office365/sharepoint/publishing/pagecopywithassets/response.py +8 -0
  305. office365/sharepoint/publishing/pages/campaign_publication.py +7 -0
  306. office365/sharepoint/publishing/pages/collection.py +1 -1
  307. office365/sharepoint/publishing/pages/page.py +4 -1
  308. office365/sharepoint/publishing/pages/reposts/metadata.py +8 -0
  309. office365/sharepoint/publishing/personmagazine/person_magazine.py +4 -1
  310. office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +8 -1
  311. office365/sharepoint/search/query/auto_completion_match.py +3 -0
  312. office365/sharepoint/search/query/property_value.py +18 -0
  313. office365/sharepoint/search/request.py +16 -2
  314. office365/sharepoint/sharing/abilities.py +22 -0
  315. office365/sharepoint/sharing/direct_abilities.py +27 -0
  316. office365/sharepoint/sharing/link_abilities.py +9 -1
  317. office365/sharepoint/sharing/links/data.py +26 -1
  318. office365/sharepoint/sharing/links/info.py +1 -1
  319. office365/sharepoint/sharing/links/partial_success_response.py +5 -0
  320. office365/sharepoint/sharing/links/share_settings.py +24 -1
  321. office365/sharepoint/sharing/object_sharing_information.py +65 -2
  322. office365/sharepoint/sharing/object_sharing_information_user.py +9 -0
  323. office365/sharepoint/sharing/object_sharing_settings.py +17 -4
  324. office365/sharepoint/sharing/principal.py +10 -0
  325. office365/sharepoint/sharing/securable_object_extensions.py +1 -17
  326. office365/sharepoint/sharing/site_sharing_report_helper.py +2 -1
  327. office365/sharepoint/sharing/user_sharing_result.py +18 -8
  328. office365/sharepoint/sitehealth/result.py +10 -0
  329. office365/sharepoint/sites/language.py +11 -1
  330. office365/sharepoint/sites/language_collection.py +1 -0
  331. office365/sharepoint/sites/site.py +42 -7
  332. office365/sharepoint/taxonomy/create_xml_parameters.py +22 -15
  333. office365/sharepoint/taxonomy/field.py +10 -8
  334. office365/sharepoint/taxonomy/groups/collection.py +8 -1
  335. office365/sharepoint/taxonomy/groups/group.py +26 -0
  336. office365/sharepoint/taxonomy/sets/collection.py +15 -0
  337. office365/sharepoint/taxonomy/sets/name.py +23 -0
  338. office365/sharepoint/taxonomy/sets/set.py +16 -1
  339. office365/sharepoint/taxonomy/stores/store.py +0 -8
  340. office365/sharepoint/tenant/administration/audit/search_request_status.py +8 -0
  341. office365/sharepoint/tenant/administration/deny_add_and_customize_pages_status.py +3 -0
  342. office365/sharepoint/tenant/administration/hubsites/permission.py +10 -0
  343. office365/sharepoint/tenant/administration/sites/properties.py +12 -10
  344. office365/sharepoint/tenant/administration/tenant.py +2 -1
  345. office365/sharepoint/tenant/apps/information.py +3 -1
  346. office365/sharepoint/tenant/management/office365_tenant.py +14 -11
  347. office365/sharepoint/types/resource_path.py +3 -1
  348. office365/sharepoint/userprofiles/people_manager.py +0 -2
  349. office365/sharepoint/userprofiles/sharedwithme/document.py +16 -0
  350. office365/sharepoint/userprofiles/sharedwithme/document_user.py +12 -0
  351. office365/sharepoint/userprofiles/sharedwithme/item_collection.py +41 -0
  352. office365/sharepoint/userprofiles/sharedwithme/items.py +18 -1
  353. office365/sharepoint/viva/site_manager.py +14 -0
  354. office365/sharepoint/webhooks/subscription_collection.py +5 -6
  355. office365/sharepoint/webparts/definition.py +1 -1
  356. office365/sharepoint/webparts/webpart.py +18 -4
  357. office365/sharepoint/webs/context_web_information.py +2 -4
  358. office365/sharepoint/webs/web.py +31 -12
  359. office365/sharepoint/workflowservices/manager.py +0 -2
  360. office365/subscriptions/collection.py +42 -0
  361. office365/subscriptions/subscription.py +120 -2
  362. office365/teams/apps/catalog.py +23 -0
  363. office365/teams/associated_info.py +12 -0
  364. office365/teams/channels/channel.py +2 -3
  365. office365/teams/channels/collection.py +1 -1
  366. office365/teams/channels/iIdentity.py +5 -0
  367. office365/teams/chats/chat.py +12 -2
  368. office365/teams/chats/collection.py +1 -2
  369. office365/teams/chats/messages/__init__.py +0 -0
  370. office365/teams/chats/messages/info.py +14 -0
  371. office365/teams/chats/{message.py → messages/message.py} +18 -3
  372. office365/teams/info.py +20 -0
  373. office365/teams/members/aad_user_conversation.py +2 -2
  374. office365/teams/members/conversation_collection.py +3 -3
  375. office365/teams/schedule/change_request.py +4 -2
  376. office365/teams/schedule/change_tracked_entity.py +11 -2
  377. office365/teams/summary.py +15 -0
  378. office365/teams/tabs/configuration.py +12 -1
  379. office365/teams/tabs/tab.py +0 -1
  380. office365/teams/team.py +34 -1
  381. office365/teams/teamwork/__init__.py +0 -0
  382. office365/teams/teamwork/activity_topic.py +5 -0
  383. office365/teams/teamwork/tags/__init__.py +0 -0
  384. office365/teams/teamwork/tags/identity.py +6 -0
  385. office365/teams/teamwork/tags/member.py +5 -0
  386. office365/teams/teamwork/tags/tag.py +15 -0
  387. office365/{directory/security/cases_root.py → teams/viva/employee_experience_user.py} +1 -1
  388. office365/todo/attachments/session.py +34 -0
  389. office365/todo/linked_resource.py +10 -1
  390. office365/todo/tasks/task.py +4 -0
  391. office365/directory/identities/protection_root.py +0 -5
  392. office365/directory/rbac/application.py +0 -18
  393. office365/directory/rbac/unified_role_assignment.py +0 -8
  394. office365/external/connection.py +0 -5
  395. office365/intune/devices/management.py +0 -35
  396. office365/onedrive/internal/queries/download_content.py +0 -26
  397. office365/onedrive/internal/queries/upload_content.py +0 -23
  398. office365/outlook/mail/messages/message_rule.py +0 -15
  399. office365/runtime/auth/providers/oauth_token_provider.py +0 -25
  400. office365/teams/team_info.py +0 -6
  401. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/LICENSE +0 -0
  402. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/WHEEL +0 -0
  403. {Office365_REST_Python_Client-2.4.2.dist-info → Office365_REST_Python_Client-2.4.4.dist-info}/top_level.txt +0 -0
  404. /office365/{directory/rbac → booking}/__init__.py +0 -0
  405. /office365/directory/{roles → protection}/__init__.py +0 -0
  406. /office365/{external → directory/protection/riskyusers}/__init__.py +0 -0
  407. /office365/{teams/messages → directory/rolemanagement}/__init__.py +0 -0
  408. /office365/outlook/calendar/{time_slot.py → meetingtimes/time_slot.py} +0 -0
  409. /office365/teams/chats/{message_attachment.py → messages/attachment.py} +0 -0
  410. /office365/teams/{member_settings.py → members/settings.py} +0 -0
  411. /office365/teams/{user_teamwork.py → teamwork/user.py} +0 -0
@@ -1,5 +1,6 @@
1
1
  from office365.entity_collection import EntityCollection
2
2
  from office365.onedrive.lists.list import List
3
+ from office365.runtime.paths.item import ItemPath
3
4
  from office365.runtime.queries.create_entity import CreateEntityQuery
4
5
 
5
6
 
@@ -11,20 +12,25 @@ class ListCollection(EntityCollection):
11
12
 
12
13
  def __getitem__(self, key):
13
14
  """
14
- Address List by identifier or name
15
+ Gets List by it's identifier or name
15
16
  :param str key: List identifier or name
16
17
  :rtype: List
17
18
  """
18
19
  return super(ListCollection, self).__getitem__(key)
19
20
 
20
- def add(self, creation_information):
21
+ def add(self, display_name, list_template="genericList"):
21
22
  """
22
- Creates a Drive list resource
23
+ Create a new list.
23
24
 
24
- :param Any creation_information:
25
+ :param str display_name: The displayable title of the list.
26
+ :param str list_template: The base list template used in creating the list
25
27
  """
26
- return_type = List(self.context)
28
+ return_type = List(self.context, ItemPath(self.resource_path))
27
29
  self.add_child(return_type)
28
- qry = CreateEntityQuery(self, creation_information, return_type)
30
+ payload = {
31
+ "displayName": display_name,
32
+ "list": {"template": list_template},
33
+ }
34
+ qry = CreateEntityQuery(self, payload, return_type)
29
35
  self.context.add_query(qry)
30
36
  return return_type
@@ -4,6 +4,7 @@ from office365.onedrive.columns.definition_collection import ColumnDefinitionCol
4
4
  from office365.onedrive.contenttypes.collection import ContentTypeCollection
5
5
  from office365.onedrive.listitems.list_item import ListItem
6
6
  from office365.onedrive.lists.info import ListInfo
7
+ from office365.onedrive.operations.rich_long_running import RichLongRunningOperation
7
8
  from office365.onedrive.sharepoint_ids import SharePointIds
8
9
  from office365.runtime.paths.resource_path import ResourcePath
9
10
  from office365.subscriptions.subscription import Subscription
@@ -17,7 +18,6 @@ class List(BaseItem):
17
18
  def display_name(self):
18
19
  """
19
20
  The displayable title of the list.
20
-
21
21
  :rtype: str or None
22
22
  """
23
23
  return self.properties.get("displayName", None)
@@ -42,9 +42,9 @@ class List(BaseItem):
42
42
  @property
43
43
  def columns(self):
44
44
  """The collection of columns under this site."""
45
- return self.properties.get('columns',
46
- ColumnDefinitionCollection(self.context,
47
- ResourcePath("columns", self.resource_path), self))
45
+ return self.properties.setdefault('columns',
46
+ ColumnDefinitionCollection(self.context,
47
+ ResourcePath("columns", self.resource_path), self))
48
48
 
49
49
  @property
50
50
  def content_types(self):
@@ -57,7 +57,15 @@ class List(BaseItem):
57
57
  def items(self):
58
58
  """All items contained in the list."""
59
59
  return self.properties.get('items',
60
- EntityCollection(self.context, ListItem, ResourcePath("items", self.resource_path)))
60
+ EntityCollection(self.context, ListItem,
61
+ ResourcePath("items", self.resource_path)))
62
+
63
+ @property
64
+ def operations(self):
65
+ """The collection of long-running operations on the list."""
66
+ return self.properties.get('operations',
67
+ EntityCollection(self.context, RichLongRunningOperation,
68
+ ResourcePath("operations", self.resource_path)))
61
69
 
62
70
  @property
63
71
  def subscriptions(self):
@@ -10,3 +10,10 @@ class LongRunningOperation(Entity):
10
10
  :rtype: str or None
11
11
  """
12
12
  return self.properties.get('resourceLocation', None)
13
+
14
+ @property
15
+ def status_detail(self):
16
+ """Details about the status of the operation.
17
+ :rtype: str or None
18
+ """
19
+ return self.properties.get('statusDetail', None)
@@ -0,0 +1,13 @@
1
+ from office365.onedrive.operations.pending_content_update import PendingContentUpdate
2
+ from office365.runtime.client_value import ClientValue
3
+
4
+
5
+ class PendingOperations(ClientValue):
6
+ """Indicates that one or more operations that might affect the state of the driveItem are pending completion."""
7
+
8
+ def __init__(self, pending_content_update=PendingContentUpdate()):
9
+ """
10
+ :param str pending_content_update: A property that indicates that an operation that might update the binary
11
+ content of a file is pending completion.
12
+ """
13
+ self.pendingContentUpdate = pending_content_update
@@ -0,0 +1,5 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class PendingContentUpdate(ClientValue):
5
+ """Indicates that an operation that might affect the binary content of the driveItem is pending completion."""
@@ -1,5 +1,4 @@
1
1
  from office365.directory.permissions.identity import Identity
2
- from office365.directory.permissions.identity_set import IdentitySet
3
2
  from office365.entity import Entity
4
3
  from office365.entity_collection import EntityCollection
5
4
  from office365.onedrive.permissions.permission import Permission
@@ -7,7 +6,7 @@ from office365.runtime.queries.create_entity import CreateEntityQuery
7
6
 
8
7
 
9
8
  class PermissionCollection(EntityCollection):
10
- """Drive list's collection"""
9
+ """Permission's collection"""
11
10
 
12
11
  def __init__(self, context, resource_path=None):
13
12
  super(PermissionCollection, self).__init__(context, Permission, resource_path)
@@ -23,7 +22,7 @@ class PermissionCollection(EntityCollection):
23
22
 
24
23
  return_type = Permission(self.context)
25
24
 
26
- known_identity_endpoints = {
25
+ known_identities = {
27
26
  "application": self.context.applications,
28
27
  "user": self.context.users,
29
28
  "device": self.context.device_app_management,
@@ -35,10 +34,10 @@ class PermissionCollection(EntityCollection):
35
34
  else:
36
35
  if identity_type is None:
37
36
  raise ValueError("Identity type is a mandatory when identity identifier is specified")
38
- known_identity_endpoint = known_identity_endpoints.get(identity_type, None)
39
- if known_identity_endpoint is None:
37
+ known_identity = known_identities.get(identity_type, None)
38
+ if known_identity is None:
40
39
  raise ValueError("Unknown identity type")
41
- identity = known_identity_endpoint[identity]
40
+ identity = known_identity[identity]
42
41
 
43
42
  def _create():
44
43
  payload = {
@@ -1,15 +1,30 @@
1
+ from office365.directory.permissions.identity import Identity
1
2
  from office365.runtime.client_value import ClientValue
2
3
 
3
4
 
4
5
  class SharingLink(ClientValue):
5
6
  """The SharingLink resource groups link-related data items into a single structure."""
6
7
 
7
- def __init__(self, _type=None, scope=None):
8
+ def __init__(self, _type=None, scope=None, web_html=None, web_url=None, prevents_download=None,
9
+ application=Identity()):
8
10
  """
9
11
  :param str _type: The type of the link created.
10
12
  :param str scope: The scope of the link represented by this permission. Value anonymous indicates the link is
11
13
  usable by anyone, organization indicates the link is only usable for users signed into the same tenant.
14
+ :param str web_html: For embed links, this property contains the HTML code for an <iframe> element that will
15
+ embed the item in a webpage.
16
+ :param str web_url: A URL that opens the item in the browser on the OneDrive website.
17
+ :param bool prevents_download: If true then the user can only use this link to view the item on the web,
18
+ and cannot use it to download the contents of the item. Only for OneDrive for Business and SharePoint.
19
+ :param Identity application: The app the link is associated with.
12
20
  """
13
21
  super(SharingLink, self).__init__()
14
22
  self.type = _type
15
23
  self.scope = scope
24
+ self.webHtml = web_html
25
+ self.webUrl = web_url
26
+ self.preventsDownload = prevents_download
27
+ self.application = application
28
+
29
+ def __repr__(self):
30
+ return self.webUrl
File without changes
@@ -0,0 +1,17 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class SensitivityLabelAssignment(ClientValue):
5
+ """Provides details about a sensitivity label assigned to a file in SharePoint or OneDrive for Business."""
6
+
7
+ def __init__(self, assignment_method=None, sensitivity_label_id=None, tenant_id=None):
8
+ """
9
+ :param str assignment_method: Indicates whether the label assignment is done automatically, as a standard,
10
+ or a privileged operation.
11
+ :param str sensitivity_label_id: The unique identifier for the sensitivity label assigned to the file.
12
+ : The unique identifier for the tenant that hosts the file when this label is applied.
13
+ :param str tenant_id: The unique identifier for the tenant that hosts the file when this label is applied.
14
+ """
15
+ self.assignmentMethod = assignment_method
16
+ self.sensitivityLabelId = sensitivity_label_id
17
+ self.tenantId = tenant_id
@@ -0,0 +1,4 @@
1
+ class SensitivityLabelAssignmentMethod:
2
+
3
+ standard = "standard"
4
+ """The assignment method for the label is standard."""
@@ -0,0 +1,13 @@
1
+ from office365.onedrive.sensitivitylabels.assignment import SensitivityLabelAssignment
2
+ from office365.runtime.client_value import ClientValue
3
+ from office365.runtime.client_value_collection import ClientValueCollection
4
+
5
+
6
+ class ExtractSensitivityLabelsResult(ClientValue):
7
+ """Represents the response format for the extractSensitivityLabels API."""
8
+
9
+ def __init__(self, labels=None):
10
+ """
11
+ :param list[SensitivityLabelAssignment] labels: List of sensitivity labels assigned to a file.
12
+ """
13
+ self.labels = ClientValueCollection(SensitivityLabelAssignment, labels)
@@ -20,6 +20,31 @@ class SharepointSettings(Entity):
20
20
  """Collection of file extensions not uploaded by the OneDrive sync app. """
21
21
  return self.properties.get("excludedFileExtensionsForSyncApp", StringCollection())
22
22
 
23
+ @property
24
+ def site_creation_default_managed_path(self):
25
+ """
26
+ The value of the team site managed path. This is the path under which new team sites will be created.
27
+ :rtype: str
28
+ """
29
+ return self.properties.get("siteCreationDefaultManagedPath", None)
30
+
31
+ @property
32
+ def site_creation_default_storage_limit_in_mb(self):
33
+ """
34
+ The default storage quota for a new site upon creation. Measured in megabytes (MB).
35
+ :rtype: int
36
+ """
37
+ return self.properties.get("siteCreationDefaultStorageLimitInMB", None)
38
+
39
+ @property
40
+ def tenant_default_timezone(self):
41
+ """
42
+ The default timezone of a tenant for newly created sites. For a list of possible values,
43
+ see SPRegionalSettings.TimeZones property.
44
+ :rtype: str
45
+ """
46
+ return self.properties.get("tenantDefaultTimezone", None)
47
+
23
48
  def get_property(self, name, default_value=None):
24
49
  if default_value is None:
25
50
  property_mapping = {
@@ -3,6 +3,7 @@ from office365.onedrive.internal.paths.root import RootPath
3
3
  from office365.onedrive.internal.paths.site import SitePath
4
4
  from office365.onedrive.sites.site import Site
5
5
  from office365.runtime.paths.resource_path import ResourcePath
6
+ from office365.runtime.queries.function import FunctionQuery
6
7
  from office365.runtime.queries.read_entity import ReadEntityQuery
7
8
  from office365.runtime.queries.service_operation import ServiceOperationQuery
8
9
 
@@ -10,9 +11,18 @@ from office365.runtime.queries.service_operation import ServiceOperationQuery
10
11
  class SitesWithRoot(EntityCollection):
11
12
  """Sites container"""
12
13
 
13
- def __init__(self, context, resource_path):
14
+ def __init__(self, context, resource_path=None):
14
15
  super(SitesWithRoot, self).__init__(context, Site, resource_path)
15
16
 
17
+ def get_all_sites(self):
18
+ """
19
+ List root sites across geographies in an organization.
20
+ """
21
+ return_type = SitesWithRoot(self.context)
22
+ qry = FunctionQuery(self, "getAllSites", return_type=return_type)
23
+ self.context.add_query(qry)
24
+ return return_type
25
+
16
26
  def get_by_url(self, url):
17
27
  """Address Site resource by absolute url
18
28
 
@@ -23,4 +23,4 @@ class GroupCollection(EntityCollection):
23
23
  :param str name: Group name
24
24
  :rtype: Group
25
25
  """
26
- return self.filter("displayName eq '{0}'".format(name)).single()
26
+ return self.single("displayName eq '{0}'".format(name))
@@ -4,6 +4,7 @@ from office365.runtime.paths.resource_path import ResourcePath
4
4
 
5
5
 
6
6
  class Group(Entity):
7
+ """Term Group"""
7
8
 
8
9
  @property
9
10
  def display_name(self):
@@ -21,7 +21,7 @@ class SetCollection(EntityCollection):
21
21
  :param str name: Term set name
22
22
  :rtype: Set
23
23
  """
24
- return self.filter("displayName eq '{0}'".format(name)).single()
24
+ return self.single("displayName eq '{0}'".format(name))
25
25
 
26
26
  def add(self, name, parent_group=None):
27
27
  """Create a new set object.
@@ -1,5 +1,14 @@
1
+ from datetime import datetime
2
+
1
3
  from office365.entity import Entity
2
4
 
3
5
 
4
6
  class Operation(Entity):
5
- pass
7
+ """The status of a long-running operation."""
8
+
9
+ @property
10
+ def created_datetime(self):
11
+ """
12
+ The start time of the operation.
13
+ """
14
+ return self.properties("createdDateTime", datetime.min)
@@ -2,6 +2,7 @@ from office365.onenote.entity_base_model import OnenoteEntityBaseModel
2
2
  from office365.runtime.client_result import ClientResult
3
3
  from office365.runtime.queries.function import FunctionQuery
4
4
 
5
+
5
6
  class OnenoteResource(OnenoteEntityBaseModel):
6
7
  """An image or other file resource on a OneNote page."""
7
8
 
@@ -1,14 +1,18 @@
1
+ from office365.directory.extensions.extended_property import MultiValueLegacyExtendedProperty, \
2
+ SingleValueLegacyExtendedProperty
1
3
  from office365.entity import Entity
2
4
  from office365.entity_collection import EntityCollection
3
5
  from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
4
6
  from office365.outlook.calendar.email_address import EmailAddress
5
7
  from office365.outlook.calendar.events.collection import EventCollection
6
- from office365.outlook.calendar.permission import CalendarPermission
8
+ from office365.outlook.calendar.permissions.collection import CalendarPermissionCollection
7
9
  from office365.outlook.calendar.schedule.information import ScheduleInformation
8
10
  from office365.runtime.client_result import ClientResult
9
11
  from office365.runtime.client_value_collection import ClientValueCollection
10
12
  from office365.runtime.paths.resource_path import ResourcePath
13
+ from office365.runtime.queries.function import FunctionQuery
11
14
  from office365.runtime.queries.service_operation import ServiceOperationQuery
15
+ from office365.runtime.types.collections import StringCollection
12
16
 
13
17
 
14
18
  class Calendar(Entity):
@@ -17,7 +21,17 @@ class Calendar(Entity):
17
21
  of a Microsoft 365 group.
18
22
  """
19
23
 
20
- def get_schedule(self, schedules, start_time=None, end_time=None, availability_view_interval=30):
24
+ def allowed_calendar_sharing_roles(self, user):
25
+ """
26
+ :param str user: User identifier or principal name
27
+ """
28
+ params = {"user": user}
29
+ return_type = ClientResult(self.context, StringCollection())
30
+ qry = FunctionQuery(self, "allowedCalendarSharingRoles", params, return_type)
31
+ self.context.add_query(qry)
32
+ return return_type
33
+
34
+ def get_schedule(self, schedules, start_time, end_time, availability_view_interval=30):
21
35
  """
22
36
  Get the free/busy availability information for a collection of users, distributions lists, or resources
23
37
  (rooms or equipment) for a specified time period.
@@ -40,24 +54,102 @@ class Calendar(Entity):
40
54
  self.context.add_query(qry)
41
55
  return return_type
42
56
 
57
+ @property
58
+ def allowed_online_meeting_providers(self):
59
+ """
60
+ Represent the online meeting service providers that can be used to create online meetings in this calendar.
61
+ Possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
62
+ """
63
+ return self.properties.get('allowedOnlineMeetingProviders', StringCollection())
64
+
43
65
  @property
44
66
  def can_edit(self):
45
67
  """
46
68
  true if the user can write to the calendar, false otherwise.
47
69
  This property is true for the user who created the calendar.
48
70
  This property is also true for a user who has been shared a calendar and granted write access.
49
-
50
71
  :rtype: bool or None
51
72
  """
52
73
  return self.properties.get('canEdit', None)
53
74
 
75
+ @property
76
+ def can_share(self):
77
+ """
78
+ true if the user has the permission to share the calendar, false otherwise.
79
+ Only the user who created the calendar can share it.
80
+ :rtype: bool or None
81
+ """
82
+ return self.properties.get('canShare', None)
83
+
84
+ @property
85
+ def can_view_private_items(self):
86
+ """
87
+ true if the user can read calendar items that have been marked private, false otherwise.
88
+ :rtype: bool or None
89
+ """
90
+ return self.properties.get('canViewPrivateItems', None)
91
+
92
+ @property
93
+ def change_key(self):
94
+ """
95
+ Identifies the version of the calendar object. Every time the calendar is changed, changeKey changes as well.
96
+ This allows Exchange to apply changes to the correct version of the object.
97
+ :rtype: str
98
+ """
99
+ return self.properties.get('changeKey', None)
100
+
101
+ @property
102
+ def color(self):
103
+ """
104
+ Specifies the color theme to distinguish the calendar from other calendars in a UI.
105
+ The property values are: auto, lightBlue, lightGreen, lightOrange, lightGray, lightYellow, lightTeal,
106
+ lightPink, lightBrown, lightRed, maxColor.
107
+ :rtype: str
108
+ """
109
+ return self.properties.get('color', None)
110
+
111
+ @property
112
+ def default_online_meeting_provider(self):
113
+ """
114
+ The default online meeting provider for meetings sent from this calendar.
115
+ Possible values are: unknown, skypeForBusiness, skypeForConsumer, teamsForBusiness.
116
+ :rtype: str
117
+ """
118
+ return self.properties.get('defaultOnlineMeetingProvider', None)
119
+
54
120
  @property
55
121
  def name(self):
56
122
  """
57
123
  The calendar name.
124
+ :rtype: str
58
125
  """
59
126
  return self.properties.get('name', None)
60
127
 
128
+ @property
129
+ def is_default_calendar(self):
130
+ """
131
+ true if this is the default calendar where new events are created by default, false otherwise.
132
+ :rtype: bool or None
133
+ """
134
+ return self.properties.get('isDefaultCalendar', None)
135
+
136
+ @property
137
+ def is_removable(self):
138
+ """
139
+ Indicates whether this user calendar can be deleted from the user mailbox.
140
+ :rtype: bool or None
141
+ """
142
+ return self.properties.get("isRemovable", None)
143
+
144
+ @property
145
+ def is_tallying_responses(self):
146
+ """
147
+ Indicates whether this user calendar supports tracking of meeting responses.
148
+ Only meeting invites sent from users' primary calendars support tracking of meeting responses.
149
+ :rtype: bool or None
150
+ """
151
+ return self.properties.get("isTallyingResponses", None)
152
+
61
153
  @property
62
154
  def owner(self):
63
155
  """If set, this represents the user who created or added the calendar.
@@ -83,14 +175,32 @@ class Calendar(Entity):
83
175
  def calendar_permissions(self):
84
176
  """The permissions of the users with whom the calendar is shared."""
85
177
  return self.properties.get('calendarPermissions',
86
- EntityCollection(self.context, CalendarPermission,
87
- ResourcePath("calendarPermissions", self.resource_path)))
178
+ CalendarPermissionCollection(self.context,
179
+ ResourcePath("calendarPermissions",
180
+ self.resource_path)))
181
+
182
+ @property
183
+ def multi_value_extended_properties(self):
184
+ """The collection of multi-value extended properties defined for the Calendar."""
185
+ return self.properties.get('multiValueExtendedProperties',
186
+ EntityCollection(self.context, MultiValueLegacyExtendedProperty,
187
+ ResourcePath("multiValueExtendedProperties", self.resource_path)))
188
+
189
+ @property
190
+ def single_value_extended_properties(self):
191
+ """The collection of single-value extended properties defined for the calendar. Read-only. Nullable."""
192
+ return self.properties.get('singleValueExtendedProperties',
193
+ EntityCollection(self.context, SingleValueLegacyExtendedProperty,
194
+ ResourcePath("singleValueExtendedProperties", self.resource_path)))
88
195
 
89
196
  def get_property(self, name, default_value=None):
90
197
  if default_value is None:
91
198
  property_mapping = {
199
+ "allowedOnlineMeetingProviders": self.allowed_online_meeting_providers,
92
200
  "calendarView": self.calendar_view,
93
- "calendarPermissions": self.calendar_permissions
201
+ "calendarPermissions": self.calendar_permissions,
202
+ "multiValueExtendedProperties": self.multi_value_extended_properties,
203
+ "singleValueExtendedProperties": self.single_value_extended_properties
94
204
  }
95
205
  default_value = property_mapping.get(name, None)
96
206
  return super(Calendar, self).get_property(name, default_value)
@@ -16,9 +16,13 @@ class DateTimeTimeZone(ClientValue):
16
16
  self.dateTime = datetime
17
17
  self.timeZone = timezone
18
18
 
19
+ def __repr__(self):
20
+ return "{0}, {1}".format(self.dateTime, self.timeZone)
21
+
19
22
  @staticmethod
20
23
  def parse(dt):
21
24
  """
25
+ Parses from datetime
22
26
  :type dt: datetime.datetime
23
27
  """
24
28
  local_dt = dt.replace(tzinfo=pytz.utc)
@@ -5,6 +5,13 @@ class EmailAddress(ClientValue):
5
5
  """The name and email address of a contact or message recipient."""
6
6
 
7
7
  def __init__(self, address=None, name=None):
8
+ """
9
+ :param str address:
10
+ :param str name:
11
+ """
8
12
  super(EmailAddress, self).__init__()
9
13
  self.address = address
10
14
  self.name = name
15
+
16
+ def __repr__(self):
17
+ return "{0} <{1}>".format(self.name, self.address)
@@ -86,8 +86,6 @@ class Event(OutlookItem):
86
86
  def start(self):
87
87
  """
88
88
  The date, time, and time zone that the event starts. By default, the start time is in UTC.
89
-
90
- :rtype: DateTimeTimeZone
91
89
  """
92
90
  return self.properties.get("start", DateTimeTimeZone())
93
91
 
@@ -104,8 +102,6 @@ class Event(OutlookItem):
104
102
  def end(self):
105
103
  """
106
104
  The date, time, and time zone that the event starts. By default, the start time is in UTC.
107
-
108
- :rtype: DateTimeTimeZone
109
105
  """
110
106
  return self.properties.get("end", DateTimeTimeZone())
111
107
 
@@ -1,15 +1,34 @@
1
+ from office365.outlook.calendar.dateTimeTimeZone import DateTimeTimeZone
2
+ from office365.outlook.mail.location import Location
1
3
  from office365.runtime.client_value import ClientValue
2
4
 
3
5
 
4
6
  class Reminder(ClientValue):
5
7
  """A reminder for an event in a user calendar."""
6
8
 
7
- def __init__(self, event_id=None, event_location=None):
9
+ def __init__(self, change_key=None, event_end_time=DateTimeTimeZone(), event_id=None, event_location=Location(),
10
+ event_start_time=DateTimeTimeZone(), event_subject=None, event_web_link=None,
11
+ reminder_fire_time=DateTimeTimeZone()):
8
12
  """
9
-
13
+ :param str change_key: Identifies the version of the reminder. Every time the reminder is changed, changeKey
14
+ changes as well. This allows Exchange to apply changes to the correct version of the object.
15
+ :param DateTimeTimeZone event_end_time: The date, time and time zone that the event ends.
10
16
  :param str event_id: The unique ID of the event. Read only.
11
- :param str event_location:
17
+ :param Location event_location: The location of the event.
18
+ :param DateTimeTimeZone event_start_time: The date, time, and time zone that the event starts.
19
+ :param str event_subject: The text of the event's subject line.
20
+ :param str event_web_link: The URL to open the event in Outlook on the web.
21
+ The event will open in the browser if you are logged in to your mailbox via Outlook on the web.
22
+ You will be prompted to login if you are not already logged in with the browser.
23
+ This URL cannot be accessed from within an iFrame.
24
+ :param DateTimeTimeZone reminder_fire_time: The date, time, and time zone that the reminder is set to occur.
12
25
  """
13
26
  super(Reminder, self).__init__()
27
+ self.changeKey = change_key
28
+ self.eventStartTime = event_start_time
29
+ self.eventEndTime = event_end_time
14
30
  self.eventId = event_id
15
31
  self.eventLocation = event_location
32
+ self.eventSubject = event_subject
33
+ self.eventWebLink = event_web_link
34
+ self.reminderFireTime = reminder_fire_time
@@ -13,7 +13,6 @@ class CalendarGroup(Entity):
13
13
  def name(self):
14
14
  """
15
15
  The group name.
16
-
17
16
  :rtype: str
18
17
  """
19
18
  return self.properties.get("name", None)
@@ -22,7 +21,6 @@ class CalendarGroup(Entity):
22
21
  def class_id(self):
23
22
  """
24
23
  The class identifier
25
-
26
24
  :rtype: str
27
25
  """
28
26
  return self.properties.get("classId", None)
@@ -1,6 +1,21 @@
1
+ from office365.outlook.mail.location_constraint_item import LocationConstraintItem
1
2
  from office365.runtime.client_value import ClientValue
3
+ from office365.runtime.client_value_collection import ClientValueCollection
2
4
 
3
5
 
4
6
  class LocationConstraint(ClientValue):
5
7
  """The conditions stated by a client for the location of a meeting."""
6
- pass
8
+
9
+ def __init__(self, is_required=None, locations=None, suggest_location=None):
10
+ """
11
+ :param bool is_required: The client requests the service to include in the response a meeting location
12
+ for the meeting. If this is true and all the resources are busy, findMeetingTimes will not return any
13
+ meeting time suggestions. If this is false and all the resources are busy, findMeetingTimes would still
14
+ look for meeting times without locations.
15
+ :param list[LocationConstraintItem] locations: Constraint information for one or more locations that the client
16
+ requests for the meeting
17
+ :param bool suggest_location: The client requests the service to suggest one or more meeting locations.
18
+ """
19
+ self.isRequired = is_required
20
+ self.locations = ClientValueCollection(LocationConstraintItem, locations)
21
+ self.suggestLocation = suggest_location