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
@@ -23,25 +23,38 @@ class ObjectSharingSettings(BaseEntity):
23
23
  def access_request_mode(self):
24
24
  """
25
25
  Boolean indicating whether the sharing context operates under the access request mode.
26
-
27
26
  :rtype: bool
28
27
  """
29
28
  return self.properties.get("AccessRequestMode", None)
30
29
 
30
+ @property
31
+ def block_people_picker_and_sharing(self):
32
+ """
33
+ Boolean indicating whether the current user can use the People Picker to do any sharing.
34
+ :rtype: bool
35
+ """
36
+ return self.properties.get("BlockPeoplePickerAndSharing", None)
37
+
31
38
  @property
32
39
  def can_send_email(self):
33
40
  """
34
41
  Boolean indicating whether email invitations can be sent.
35
-
36
- :return: bool
42
+ :rtype: bool
37
43
  """
38
44
  return self.properties.get("CanSendEmail", None)
39
45
 
46
+ @property
47
+ def can_send_link(self):
48
+ """
49
+ Boolean indicating whether the current user can make use of Share-By-Link.
50
+ :rtype: bool
51
+ """
52
+ return self.properties.get("CanSendLink", None)
53
+
40
54
  @property
41
55
  def is_user_site_admin(self):
42
56
  """
43
57
  Boolean that indicates whether or not the current user is a site collection administrator.
44
-
45
58
  :return: bool
46
59
  """
47
60
  return self.properties.get("IsUserSiteAdmin", None)
@@ -4,6 +4,16 @@ from office365.runtime.client_value import ClientValue
4
4
  class Principal(ClientValue):
5
5
  """Principal class is a representation of an identity (user/group)."""
6
6
 
7
+ def __init__(self, directory_object_id=None, email=None, expiration=None):
8
+ """
9
+ :param str directory_object_id:
10
+ :param str email: Email address of the Principal.
11
+ :param str expiration:
12
+ """
13
+ self.directoryObjectId = directory_object_id
14
+ self.email = email
15
+ self.expiration = expiration
16
+
7
17
  @property
8
18
  def entity_type_name(self):
9
19
  return "SP.Sharing.Principal"
@@ -1,24 +1,8 @@
1
- from office365.runtime.queries.service_operation import ServiceOperationQuery
2
1
  from office365.sharepoint.base_entity import BaseEntity
3
- from office365.sharepoint.sharing.information import SharingInformation
4
- from office365.sharepoint.sharing.information_request import SharingInformationRequest
5
2
 
6
3
 
7
4
  class SecurableObjectExtensions(BaseEntity):
8
-
9
- @staticmethod
10
- def get_sharing_information(context):
11
- """
12
- Gets the sharing information for a list item.
13
-
14
- :param office365.sharepoint.client_context.ClientContext context: Client context
15
- """
16
- return_type = SharingInformation(context)
17
- request = SharingInformationRequest()
18
- binding_type = SecurableObjectExtensions(context)
19
- qry = ServiceOperationQuery(binding_type, "GetSharingInformation", None, request, None, return_type, True)
20
- context.add_query(qry)
21
- return return_type
5
+ """Contains extension methods of securable object."""
22
6
 
23
7
  @property
24
8
  def entity_type_name(self):
@@ -30,6 +30,7 @@ class SiteSharingReportHelper(BaseEntity):
30
30
  "folderUrl": folder_url
31
31
  }
32
32
  binding_type = SiteSharingReportHelper(context)
33
- qry = ServiceOperationQuery(binding_type, "CreateSharingReportJob", None, payload, None, return_type, True)
33
+ qry = ServiceOperationQuery(binding_type, "CreateSharingReportJob", None, payload,
34
+ None, return_type, True)
34
35
  context.add_query(qry)
35
36
  return return_type
@@ -6,21 +6,31 @@ class UserSharingResult(ClientValue):
6
6
  """Specifies a sharing result for an individual user that method UpdateDocumentSharingInfo
7
7
  (section 3.2.5.187.2.1.1) returns."""
8
8
 
9
- def __init__(self, allowed_roles=None, current_role=None):
9
+ def __init__(self, allowed_roles=None, current_role=None, display_name=None, email=None,
10
+ invitation_link=None, is_user_known=None, message=None, status=None, user=None):
10
11
  """
11
12
  :param list[int] allowed_roles: Specifies a set of roles that can be assigned to the user.
12
13
  :param int current_role: Specifies the role that the user is currently assigned to.
14
+ :param str display_name: Gets the display name of the user.
15
+ :param str email: Gets the user email.
16
+ :param str invitation_link: Gets the invitation link.
17
+ :param bool is_user_known: Specifies whether the user is known to the server. If "true", the user is known to
18
+ the server; if "false", user is unknown.
19
+ :param str message: Specifies a message string that explains the reason when the Status property is "false".
20
+ :param bool status: Specifies whether the sharing update for the user was completed successfully. If "true",
21
+ the sharing update completed successfully for the user; if "false", the sharing update failed for the user.
22
+ :param str user: Specifies the identifier of a user.
13
23
  """
14
24
  super(UserSharingResult, self).__init__()
15
25
  self.AllowedRoles = ClientValueCollection(int, allowed_roles)
16
26
  self.CurrentRole = current_role
17
- self.DisplayName = None
18
- self.Email = None
19
- self.InvitationLink = None
20
- self.IsUserKnown = None
21
- self.Message = None
22
- self.Status = None
23
- self.User = None
27
+ self.DisplayName = display_name
28
+ self.Email = email
29
+ self.InvitationLink = invitation_link
30
+ self.IsUserKnown = is_user_known
31
+ self.Message = message
32
+ self.Status = status
33
+ self.User = user
24
34
 
25
35
  @property
26
36
  def entity_type_name(self):
@@ -4,6 +4,16 @@ from office365.runtime.client_value import ClientValue
4
4
  class SiteHealthResult(ClientValue):
5
5
  """Specifies the result of running a site collection health rule."""
6
6
 
7
+ def __init__(self, message_as_text=None, rule_help_link=None, rule_id=None):
8
+ """
9
+ :param str message_as_text: Specifies a summary of the results of running a site collection health rule.
10
+ :param str rule_help_link: Specifies a hyperlink to help information about the site collection health rule.
11
+ :param str rule_id: Specifies the unique identifier of the site collection health rule.
12
+ """
13
+ self.MessageAsText = message_as_text
14
+ self.RuleHelpLink = rule_help_link
15
+ self.RuleId = rule_id
16
+
7
17
  @property
8
18
  def entity_type_name(self):
9
19
  return "SP.SiteHealth.SiteHealthResult"
@@ -2,4 +2,14 @@ from office365.runtime.client_value import ClientValue
2
2
 
3
3
 
4
4
  class Language(ClientValue):
5
- pass
5
+ """Represents a natural language."""
6
+
7
+ def __init__(self, display_name=None, language_tag=None, lcid=None):
8
+ """
9
+ :param str display_name: Specifies the name of the language as displayed in the user interface.
10
+ :param str language_tag: Specifies the corresponding culture name for the language.
11
+ :param int lcid: Specifies the language code identifier (LCID) for the language.
12
+ """
13
+ self.DisplayName = display_name
14
+ self.LanguageTag = language_tag
15
+ self.Lcid = lcid
@@ -4,6 +4,7 @@ from office365.sharepoint.sites.language import Language
4
4
 
5
5
 
6
6
  class LanguageCollection(BaseEntity):
7
+ """Represents a collection of SPLanguage objects"""
7
8
 
8
9
  def __init__(self, context, resource_path=None):
9
10
  """Represents a collection of SPLanguage objects."""
@@ -28,7 +28,14 @@ from office365.sharepoint.types.resource_path import ResourcePath as SPResPath
28
28
 
29
29
 
30
30
  class Site(BaseEntity):
31
- """Represents a collection of sites in a Web application, including a top-level website and all its sub sites."""
31
+ """
32
+ Represents a collection of sites in a Web application, including a top-level website and all its sub sites.
33
+
34
+ A set of websites that are in the same content database, have the same owner, and share administration settings.
35
+ A site collection can be identified by a GUID or the URL of the top-level site for the site collection.
36
+ Each site collection contains a top-level site, can contain one or more subsites, and can have a shared
37
+ navigational structure.
38
+ """
32
39
 
33
40
  def __init__(self, context, resource_path=None):
34
41
  super(Site, self).__init__(context, ResourcePath("Site", resource_path))
@@ -406,6 +413,15 @@ class Site(BaseEntity):
406
413
  self.context.add_query(qry)
407
414
  return self
408
415
 
416
+ @property
417
+ def allow_create_declarative_workflow(self):
418
+ """
419
+ Specifies whether a designer can be used to create declarative workflows on this site collection
420
+
421
+ :rtype: bool or None
422
+ """
423
+ return self.properties.get("AllowCreateDeclarativeWorkflow", None)
424
+
409
425
  @property
410
426
  def allow_designer(self):
411
427
  """
@@ -478,7 +494,6 @@ class Site(BaseEntity):
478
494
  def lock_issue(self):
479
495
  """
480
496
  Specifies the comment that is used when a site collection is locked
481
-
482
497
  :rtype: str or None
483
498
  """
484
499
  return self.properties.get("LockIssue", None)
@@ -526,7 +541,6 @@ class Site(BaseEntity):
526
541
  def server_relative_url(self):
527
542
  """
528
543
  Specifies the server-relative URL of the top-level site in the site collection.
529
-
530
544
  :rtype: str
531
545
  """
532
546
  return self.properties.get("ServerRelativeUrl", None)
@@ -535,16 +549,22 @@ class Site(BaseEntity):
535
549
  def share_by_email_enabled(self):
536
550
  """
537
551
  When true, users will be able to grant permissions to guests for resources within the site collection.
538
-
539
552
  :rtype: bool or none
540
553
  """
541
554
  return self.properties.get('ShareByEmailEnabled', None)
542
555
 
556
+ @property
557
+ def status_bar_text(self):
558
+ """
559
+ Gets or sets the status bar message text for this site.
560
+ :rtype: str or none
561
+ """
562
+ return self.properties.get('StatusBarText', None)
563
+
543
564
  @property
544
565
  def trim_audit_log(self):
545
566
  """
546
567
  When this flag is set for the site, the audit events are trimmed periodically.
547
-
548
568
  :rtype: bool or none
549
569
  """
550
570
  return self.properties.get('TrimAuditLog', None)
@@ -576,7 +596,6 @@ class Site(BaseEntity):
576
596
  def is_hub_site(self):
577
597
  """
578
598
  Returns whether the specified site is a hub site
579
-
580
599
  :rtype: bool
581
600
  """
582
601
  return self.properties.get("IsHubSite", None)
@@ -584,7 +603,6 @@ class Site(BaseEntity):
584
603
  @property
585
604
  def server_relative_path(self):
586
605
  """Gets the server-relative Path of the Site.
587
-
588
606
  :rtype: SPResPath or None
589
607
  """
590
608
  return self.properties.get("ServerRelativePath", SPResPath())
@@ -618,6 +636,23 @@ class Site(BaseEntity):
618
636
  FeatureCollection(self.context,
619
637
  ResourcePath("Features", self.resource_path), self))
620
638
 
639
+ @property
640
+ def max_items_per_throttled_operation(self):
641
+ """
642
+ Specifies the maximum number of list items allowed to be returned for each retrieve request before throttling
643
+ occurs. If throttling occurs, list items MUST NOT be returned.
644
+ :rtype: int or None
645
+ """
646
+ return self.properties.get("MaxItemsPerThrottledOperation", None)
647
+
648
+ @property
649
+ def needs_b2b_upgrade(self):
650
+ """
651
+ Specifies whether the site needs a Build-to-Build upgrade.
652
+ :rtype: bool or None
653
+ """
654
+ return self.properties.get("NeedsB2BUpgrade", None)
655
+
621
656
  @property
622
657
  def event_receivers(self):
623
658
  """
@@ -5,27 +5,33 @@ from office365.runtime.client_value import ClientValue
5
5
 
6
6
  class TaxonomyFieldCreateXmlParameters(ClientValue):
7
7
 
8
- def __init__(self, name, term_set_id, anchor_id="00000000-0000-0000-0000-000000000000"):
8
+ def __init__(self, name, term_set_id, term_store_id=None, anchor_id="00000000-0000-0000-0000-000000000000",
9
+ allow_multiple_values=False):
9
10
  """
10
11
  :param str name:
11
12
  """
12
- self.name = name
13
- self.ssp_id = None
14
- self.term_set_id = term_set_id
15
- self.anchor_id = anchor_id
16
- self.field_id = str(uuid.uuid1())
17
- self.text_field_id = None
18
- self.web_id = None
19
- self.list_id = None
13
+ self.Name = name
14
+ self.SspId = term_store_id
15
+ self.TermSetId = term_set_id
16
+ self.AnchorId = anchor_id
17
+ self.FieldId = str(uuid.uuid1())
18
+ self.TextFieldId = None
19
+ self.WebId = None
20
+ self.ListId = None
21
+ self.AllowMultipleValues = allow_multiple_values
22
+
23
+ @property
24
+ def type_name(self):
25
+ return "TaxonomyFieldTypeMulti" if self.AllowMultipleValues else "TaxonomyFieldType"
20
26
 
21
27
  @property
22
28
  def schema_xml(self):
23
- list_attr = 'List="{{{list_id}}}"'.format(list_id=self.list_id) if self.list_id is not None else ""
29
+ list_attr = 'List="{{{list_id}}}"'.format(list_id=self.ListId) if self.ListId is not None else ""
24
30
 
25
31
  return '''
26
- <Field Type="TaxonomyFieldType" DisplayName="{name}" {list_attr}
32
+ <Field Type="{type_name}" DisplayName="{name}" {list_attr}
27
33
  WebId="{web_id}" Required="FALSE" EnforceUniqueValues="FALSE"
28
- ID="{{{field_id}}}" StaticName="{name}" Name="{name}">
34
+ ID="{{{field_id}}}" StaticName="{name}" Name="{name}" Mult="{allow_multiple_values}">
29
35
  <Default/>
30
36
  <Customization>
31
37
  <ArrayOfProperty>
@@ -117,6 +123,7 @@ class TaxonomyFieldCreateXmlParameters(ClientValue):
117
123
  </ArrayOfProperty>
118
124
  </Customization>
119
125
  </Field>
120
- '''.format(name=self.name, list_attr=list_attr, web_id=self.web_id, field_id=self.field_id,
121
- ssp_id=self.ssp_id, term_set_id=self.term_set_id, anchor_id=self.anchor_id,
122
- text_field_id=self.text_field_id)
126
+ '''.format(name=self.Name, list_attr=list_attr, web_id=self.WebId, field_id=self.FieldId,
127
+ ssp_id=self.SspId, term_set_id=self.TermSetId, anchor_id=self.AnchorId,
128
+ text_field_id=self.TextFieldId, allow_multiple_values=str(self.AllowMultipleValues).upper(),
129
+ type_name=self.type_name)
@@ -8,17 +8,20 @@ class TaxonomyField(FieldLookup):
8
8
  """Represents a taxonomy field."""
9
9
 
10
10
  @staticmethod
11
- def create(fields, name, term_set_id, return_type=None):
11
+ def create(fields, name, term_set_id, term_store_id=None, allow_multiple_values=False, return_type=None):
12
12
  """
13
13
  :type fields: office365.sharepoint.fields.collection.FieldCollection
14
- :param str name:
15
- :param str term_set_id:
14
+ :param str name: Field name
15
+ :param str term_set_id: Term set identifier
16
+ :param str term_store_id: Term store identifier
17
+ :param bool allow_multiple_values: Specifies whether the column will allow more than one value
16
18
  :param TaxonomyField return_type: Return type
17
19
  """
18
20
  if return_type is None:
19
21
  return_type = TaxonomyField(fields.context)
20
22
  fields.add_child(return_type)
21
- params = TaxonomyFieldCreateXmlParameters(name, term_set_id)
23
+ params = TaxonomyFieldCreateXmlParameters(name, term_set_id, term_store_id=term_store_id,
24
+ allow_multiple_values=allow_multiple_values)
22
25
 
23
26
  def _create_taxonomy_field_inner():
24
27
  from office365.sharepoint.lists.list import List
@@ -36,12 +39,11 @@ class TaxonomyField(FieldLookup):
36
39
  fields.create_field_as_xml(params.schema_xml, return_type)
37
40
  fields.context.web.ensure_property("Id", _web_loaded)
38
41
 
39
- text_field = return_type._create_text_field(name)
40
-
41
- def _after_text_field_created(resp):
42
+ def _after_text_field_created(text_field):
42
43
  params.text_field_id = text_field.id
43
44
  _create_taxonomy_field_inner()
44
- fields.context.after_execute(_after_text_field_created)
45
+
46
+ return_type._create_text_field(name).after_execute(_after_text_field_created)
45
47
  return return_type
46
48
 
47
49
  def _create_text_field(self, name):
@@ -8,6 +8,13 @@ class TermGroupCollection(TaxonomyItemCollection):
8
8
  def __init__(self, context, resource_path=None):
9
9
  super(TermGroupCollection, self).__init__(context, TermGroup, resource_path)
10
10
 
11
+ def __getitem__(self, index):
12
+ """
13
+ :type index: int
14
+ :rtype: TermGroup
15
+ """
16
+ return self._data[index]
17
+
11
18
  def get_by_name(self, name):
12
19
  """
13
20
  Returns the term group with the specified name.
@@ -15,4 +22,4 @@ class TermGroupCollection(TaxonomyItemCollection):
15
22
  :param str name: The name of the TermGroup.
16
23
  :rtype: TermGroup
17
24
  """
18
- return self.filter("name eq '{0}'".format(name)).single()
25
+ return self.single("name eq '{0}'".format(name))
@@ -1,14 +1,40 @@
1
1
  from office365.runtime.paths.resource_path import ResourcePath
2
2
  from office365.sharepoint.taxonomy.item import TaxonomyItem
3
3
  from office365.sharepoint.taxonomy.item_collection import TaxonomyItemCollection
4
+ from office365.sharepoint.taxonomy.sets.collection import TermSetCollection
4
5
  from office365.sharepoint.taxonomy.sets.set import TermSet
5
6
 
6
7
 
7
8
  class TermGroup(TaxonomyItem):
8
9
  """Represents the top-level container in a TermStore object."""
9
10
 
11
+ def get_term_sets_by_name(self, label, lcid=None):
12
+ """
13
+ Search term set by name
14
+
15
+ :param str label: The name of the TermSet object.
16
+ :param int lcid: LCID of the language.
17
+ """
18
+ return_type = TermSetCollection(self.context)
19
+
20
+ def _sets_loaded(col):
21
+ """
22
+ :type col: TermSetCollection
23
+ """
24
+ for ts in col: # type: TermSet
25
+ if str(ts.localized_names[0]) == label:
26
+ return_type.add_child(ts)
27
+
28
+ def _group_resolved():
29
+ self.context.load(self.term_sets, after_loaded=_sets_loaded)
30
+ self.ensure_property("id", _group_resolved)
31
+ return return_type
32
+
10
33
  @property
11
34
  def term_sets(self):
35
+ """
36
+ Gets a collection of the child TermSet instances of this TermGroup object.
37
+ """
12
38
  return self.properties.get("termSets",
13
39
  TaxonomyItemCollection(self.context, TermSet,
14
40
  ResourcePath("termSets", self.resource_path)))
@@ -0,0 +1,15 @@
1
+ from office365.sharepoint.taxonomy.item_collection import TaxonomyItemCollection
2
+ from office365.sharepoint.taxonomy.sets.set import TermSet
3
+
4
+
5
+ class TermSetCollection(TaxonomyItemCollection):
6
+
7
+ def __init__(self, context, resource_path=None):
8
+ super(TermSetCollection, self).__init__(context, TermSet, resource_path)
9
+
10
+ def __getitem__(self, index):
11
+ """
12
+ :type index: int
13
+ :rtype: TermSet
14
+ """
15
+ return self._data[index]
@@ -0,0 +1,23 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class LocalizedName(ClientValue):
5
+ """
6
+ Represents the localized name used in the term store, which identifies the name in the localized language.
7
+ For more information, see localizedLabel.
8
+ """
9
+
10
+ def __init__(self, name=None, language_tag="en-US"):
11
+ """
12
+ :param str name: The name in the localized language.
13
+ :param str language_tag: The language tag for the label.
14
+ """
15
+ super(LocalizedName, self).__init__()
16
+ self.name = name
17
+ self.languageTag = language_tag
18
+
19
+ def __repr__(self):
20
+ return "{0};{1}".format(self.name, self.languageTag)
21
+
22
+ def __str__(self):
23
+ return self.name
@@ -1,14 +1,29 @@
1
+ from office365.runtime.client_value_collection import ClientValueCollection
1
2
  from office365.runtime.paths.resource_path import ResourcePath
2
3
  from office365.sharepoint.taxonomy.item import TaxonomyItem
3
4
  from office365.sharepoint.taxonomy.item_collection import TaxonomyItemCollection
5
+ from office365.sharepoint.taxonomy.sets.name import LocalizedName
4
6
  from office365.sharepoint.taxonomy.terms.term import Term
5
7
 
6
8
 
7
9
  class TermSet(TaxonomyItem):
8
- """"""
10
+ """Represents a hierarchical or flat set of Term objects known as a 'TermSet'."""
11
+
12
+ @property
13
+ def localized_names(self):
14
+ return self.properties.get("localizedNames", ClientValueCollection(LocalizedName))
9
15
 
10
16
  @property
11
17
  def terms(self):
18
+ """Gets a collection of the child Term objects"""
12
19
  return self.properties.get("terms",
13
20
  TaxonomyItemCollection(self.context, Term,
14
21
  ResourcePath("terms", self.resource_path)))
22
+
23
+ def get_property(self, name, default_value=None):
24
+ if default_value is None:
25
+ property_mapping = {
26
+ "localizedNames": self.localized_names,
27
+ }
28
+ default_value = property_mapping.get(name, None)
29
+ return super(TermSet, self).get_property(name, default_value)
@@ -25,14 +25,6 @@ class TermStore(TaxonomyItem):
25
25
  self.context.add_query(qry)
26
26
  return return_type
27
27
 
28
- def search_term_set(self, label):
29
- """
30
- Search term set by name
31
-
32
- :param str label:
33
- """
34
- return self.term_groups.expand(["TermSets"]).get()
35
-
36
28
  @property
37
29
  def default_language_tag(self):
38
30
  """
@@ -0,0 +1,8 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class AuditSearchRequestStatus(ClientValue):
5
+
6
+ @property
7
+ def entity_type_name(self):
8
+ return "Microsoft.SharePoint.Administration.TenantAdmin.AuditSearchRequestStatus"
@@ -2,7 +2,10 @@ class DenyAddAndCustomizePagesStatus:
2
2
  """Represents the status of DenyAddAndCustomizePages on a site collection."""
3
3
 
4
4
  Unknown = 0
5
+ """The status of a site collection’s [DenyAddAndCustomizePages] is unknown."""
5
6
 
6
7
  Disabled = 1
8
+ """The status of a site collection where the [DenyAddAndCustomizePages] feature has been disabled."""
7
9
 
8
10
  Enabled = 2
11
+ """The status of a site collection where the [DenyAddAndCustomizePages] feature has been enabled."""
@@ -3,6 +3,16 @@ from office365.runtime.client_value import ClientValue
3
3
 
4
4
  class HubSitePermission(ClientValue):
5
5
 
6
+ def __init__(self, display_name=None, principal_name=None, rights=None):
7
+ """
8
+ :param str display_name:
9
+ :param str principal_name:
10
+ :param int rights:
11
+ """
12
+ self.DisplayName = display_name
13
+ self.PrincipalName = principal_name
14
+ self.Rights = rights
15
+
6
16
  @property
7
17
  def entity_type_name(self):
8
18
  return "Microsoft.Online.SharePoint.TenantAdministration.HubSitePermission"
@@ -1,7 +1,7 @@
1
+ from office365.runtime.paths.key import KeyPath
1
2
  from office365.runtime.paths.service_operation import ServiceOperationPath
2
3
  from office365.runtime.queries.service_operation import ServiceOperationQuery
3
4
  from office365.sharepoint.base_entity import BaseEntity
4
- from office365.sharepoint.internal.paths.entity import EntityPath
5
5
  from office365.sharepoint.sites.site import Site
6
6
  from office365.sharepoint.tenant.administration.deny_add_and_customize_pages_status import \
7
7
  DenyAddAndCustomizePagesStatus
@@ -29,25 +29,26 @@ class SiteProperties(BaseEntity):
29
29
  site.set_property("__siteUrl", self.url)
30
30
 
31
31
  def _site_loaded(return_type):
32
- self._resource_path = EntityPath(site.id, self.parent_collection.resource_path)
32
+ self._resource_path = KeyPath(site.id, self.parent_collection.resource_path)
33
33
  super(SiteProperties, self).update()
34
34
  self.context.load(site, after_loaded=_site_loaded)
35
35
  return self
36
36
 
37
37
  @property
38
38
  def deny_add_and_customize_pages(self):
39
- enum_value = self.properties.get("DenyAddAndCustomizePages", None)
40
- if enum_value is None:
41
- return enum_value
42
- return enum_value == DenyAddAndCustomizePagesStatus.Enabled
39
+ """
40
+ Represents the status of the [DenyAddAndCustomizePages] feature on a site collection.
41
+ """
42
+ return self.properties.get("DenyAddAndCustomizePages", DenyAddAndCustomizePagesStatus.Unknown)
43
43
 
44
44
  @deny_add_and_customize_pages.setter
45
45
  def deny_add_and_customize_pages(self, value):
46
46
  """
47
- :param bool value:
47
+ Sets the status of the [DenyAddAndCustomizePages] feature on a site collection.
48
+
49
+ :param int value:
48
50
  """
49
- enum_value = DenyAddAndCustomizePagesStatus.Enabled if value else DenyAddAndCustomizePagesStatus.Disabled
50
- self.set_property("DenyAddAndCustomizePages", enum_value)
51
+ self.set_property("DenyAddAndCustomizePages", value)
51
52
 
52
53
  @property
53
54
  def owner_login_name(self):
@@ -59,6 +60,7 @@ class SiteProperties(BaseEntity):
59
60
  @property
60
61
  def webs_count(self):
61
62
  """
63
+ Gets the number of Web objects in the site.
62
64
  :rtype: int
63
65
  """
64
66
  return self.properties.get('WebsCount', None)
@@ -112,7 +114,7 @@ class SiteProperties(BaseEntity):
112
114
  def sharing_capability(self, value):
113
115
  """
114
116
  Sets the level of sharing for the site.
115
-
117
+ :type value: int
116
118
  """
117
119
  self.set_property('SharingCapability', value)
118
120
 
@@ -86,6 +86,7 @@ class Tenant(BaseEntity):
86
86
  return return_type
87
87
 
88
88
  def get_collaboration_insights_data(self):
89
+ """"""
89
90
  return_type = ClientResult(self.context, CollaborationInsightsData())
90
91
  qry = ServiceOperationQuery(self, "GetCollaborationInsightsData", None, None, None, return_type)
91
92
  self.context.add_query(qry)
@@ -267,7 +268,7 @@ class Tenant(BaseEntity):
267
268
  """
268
269
  Gets site collection administrators
269
270
 
270
- :type site_id: str
271
+ :param str site_id: Site identifier
271
272
  """
272
273
  return_type = ClientResult(self.context, ClientValueCollection(SecondaryAdministratorsInfo))
273
274
  payload = {"secondaryAdministratorsFieldsData": SecondaryAdministratorsFieldsData(site_id)}