Office365-REST-Python-Client 2.5.13__py3-none-any.whl → 2.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/METADATA +2 -2
  2. {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/RECORD +324 -169
  3. office365/admin/admin.py +69 -0
  4. office365/admin/microsoft365_apps.py +5 -0
  5. office365/admin/people_settings.py +5 -0
  6. office365/admin/report_settings.py +5 -0
  7. office365/{onedrive → admin}/sharepoint.py +1 -1
  8. office365/azure_env.py +60 -0
  9. office365/booking/business/business.py +13 -0
  10. office365/booking/business/collection.py +8 -4
  11. office365/communications/callrecords/collection.py +42 -0
  12. office365/communications/callrecords/direct_routing_log_row.py +5 -0
  13. office365/communications/cloud_communications.py +2 -3
  14. office365/directory/applications/app_ids.py +6 -0
  15. office365/directory/applications/application.py +16 -2
  16. office365/directory/applications/required_resource_access.py +23 -0
  17. office365/directory/applications/resource_access.py +26 -0
  18. office365/directory/authentication/authentication.py +16 -0
  19. office365/directory/authentication/method_target.py +2 -1
  20. office365/directory/authentication/methods/details.py +29 -0
  21. office365/directory/authentication/methods/microsoft_authenticator.py +6 -0
  22. office365/directory/authentication/methods/root.py +19 -0
  23. office365/directory/authentication/methods/sms.py +9 -0
  24. office365/directory/certificates/self_signed.py +31 -2
  25. office365/directory/identities/conditional_access_root.py +14 -0
  26. office365/directory/identitygovernance/privilegedaccess/approval.py +8 -0
  27. office365/directory/identitygovernance/privilegedaccess/group.py +30 -0
  28. office365/directory/identitygovernance/privilegedaccess/group_assignment_schedule_instance.py +7 -0
  29. office365/directory/identitygovernance/privilegedaccess/unified_role_assignment_schedule_request.py +7 -0
  30. office365/directory/identitygovernance/userconsent/request_collection.py +10 -0
  31. office365/directory/identitygovernance/workflow/__init__.py +0 -0
  32. office365/directory/identitygovernance/workflow/base.py +5 -0
  33. office365/directory/permissions/scope.py +15 -3
  34. office365/directory/policies/authentication_strength.py +21 -0
  35. office365/directory/policies/cross_tenant_access.py +13 -0
  36. office365/directory/policies/feature_rollout.py +16 -0
  37. office365/directory/policies/root.py +39 -23
  38. office365/directory/policies/template.py +5 -0
  39. office365/directory/policies/update_allowed_combinations_result.py +5 -0
  40. office365/directory/protection/threatassessment/email_file_request.py +20 -0
  41. office365/directory/protection/threatassessment/request.py +25 -0
  42. office365/directory/rolemanagement/application.py +15 -0
  43. office365/directory/rolemanagement/resource_action.py +8 -4
  44. office365/directory/rolemanagement/role_permission.py +3 -3
  45. office365/directory/security/alerts/collection.py +49 -0
  46. office365/directory/security/alerts/evidence.py +2 -1
  47. office365/directory/security/alerts/malware_evidence.py +5 -0
  48. office365/directory/security/alerts/process_evidence.py +5 -0
  49. office365/directory/security/attacksimulations/user.py +5 -0
  50. office365/directory/security/attacksimulations/user_coverage.py +3 -0
  51. office365/directory/security/attacksimulations/users/details.py +6 -1
  52. office365/directory/security/scorecontrol/__init__.py +0 -0
  53. office365/directory/security/scorecontrol/profile.py +6 -0
  54. office365/directory/security/security.py +17 -4
  55. office365/directory/serviceprincipals/service_principal.py +112 -55
  56. office365/directory/tenantinformation/__init__.py +0 -0
  57. office365/directory/tenantinformation/multi_organization.py +11 -0
  58. office365/directory/tenantinformation/relationship.py +61 -0
  59. office365/directory/users/insights_settings.py +5 -0
  60. office365/graph_client.py +52 -132
  61. office365/graph_request.py +78 -19
  62. office365/intune/servicecommunications/health/health.py +1 -1
  63. office365/intune/servicecommunications/issues/issue.py +2 -2
  64. office365/onedrive/columns/definition.py +1 -1
  65. office365/onedrive/contenttypes/content_type.py +1 -1
  66. office365/onedrive/driveitems/driveItem.py +14 -2
  67. office365/onedrive/driveitems/retention_label.py +33 -0
  68. office365/onedrive/driveitems/retention_label_settings.py +7 -0
  69. office365/onedrive/drives/drive.py +1 -1
  70. office365/onedrive/filestorage/__init__.py +0 -0
  71. office365/onedrive/filestorage/container.py +7 -0
  72. office365/onedrive/filestorage/file_storage.py +20 -0
  73. office365/onedrive/listitems/field_value_set.py +1 -1
  74. office365/onedrive/listitems/list_item.py +1 -1
  75. office365/onedrive/lists/list.py +1 -1
  76. office365/onedrive/recyclebin/__init__.py +0 -0
  77. office365/onedrive/recyclebin/item.py +6 -0
  78. office365/onedrive/recyclebin/recyclebin.py +29 -0
  79. office365/onedrive/recyclebin/settings.py +13 -0
  80. office365/onedrive/shares/drive_item.py +1 -1
  81. office365/onedrive/sitepages/base.py +4 -1
  82. office365/onedrive/sitepages/canvas_layout.py +2 -2
  83. office365/onedrive/sitepages/collection.py +12 -0
  84. office365/onedrive/sitepages/sections/__init__.py +0 -0
  85. office365/onedrive/sitepages/{horizontal_section.py → sections/horizontal.py} +1 -1
  86. office365/onedrive/sitepages/site_page.py +9 -9
  87. office365/onedrive/sitepages/webparts/data.py +5 -0
  88. office365/onedrive/sitepages/webparts/position.py +5 -0
  89. office365/onedrive/sitepages/webparts/standard.py +9 -0
  90. office365/onedrive/sitepages/webparts/web_part.py +12 -0
  91. office365/onedrive/sites/archival_details.py +5 -0
  92. office365/onedrive/sites/site.py +1 -1
  93. office365/onedrive/sites/site_collection.py +10 -1
  94. office365/onedrive/storage/storage.py +10 -0
  95. office365/onedrive/workbooks/charts/axes.py +41 -1
  96. office365/onedrive/workbooks/charts/axis.py +5 -0
  97. office365/onedrive/workbooks/charts/chart.py +64 -5
  98. office365/onedrive/workbooks/charts/fill.py +5 -0
  99. office365/onedrive/workbooks/charts/font.py +5 -0
  100. office365/onedrive/workbooks/charts/legend/__init__.py +0 -0
  101. office365/onedrive/workbooks/charts/legend/format.py +5 -0
  102. office365/onedrive/workbooks/charts/legend/legend.py +26 -0
  103. office365/onedrive/workbooks/charts/point.py +5 -0
  104. office365/onedrive/workbooks/charts/series/__init__.py +0 -0
  105. office365/onedrive/workbooks/charts/series/format.py +5 -0
  106. office365/onedrive/workbooks/charts/series/series.py +31 -0
  107. office365/onedrive/workbooks/charts/title.py +5 -0
  108. office365/onedrive/workbooks/filter.py +10 -0
  109. office365/onedrive/workbooks/filter_criteria.py +3 -3
  110. office365/onedrive/workbooks/functions/functions.py +23 -0
  111. office365/onedrive/workbooks/ranges/fill.py +11 -1
  112. office365/onedrive/workbooks/ranges/range.py +26 -0
  113. office365/onedrive/workbooks/ranges/view.py +14 -0
  114. office365/onedrive/workbooks/sort_field.py +8 -3
  115. office365/onedrive/workbooks/tables/sort.py +20 -0
  116. office365/onedrive/workbooks/worksheets/worksheet.py +11 -0
  117. office365/partners/__init__.py +0 -0
  118. office365/partners/billing/__init__.py +0 -0
  119. office365/partners/billing/azure_usage.py +17 -0
  120. office365/partners/billing/billed_usage.py +21 -0
  121. office365/partners/billing/billing.py +17 -0
  122. office365/partners/billing/operation.py +5 -0
  123. office365/partners/partners.py +17 -0
  124. office365/planner/tasks/check_list_item.py +5 -1
  125. office365/reports/root.py +9 -0
  126. office365/reports/userregistration/feature_summary.py +5 -0
  127. office365/runtime/auth/auth_cookies.py +48 -0
  128. office365/runtime/auth/authentication_context.py +36 -19
  129. office365/runtime/auth/entra/__init__.py +0 -0
  130. office365/runtime/auth/entra/authentication_context.py +165 -0
  131. office365/runtime/auth/providers/acs_token_provider.py +12 -27
  132. office365/runtime/auth/providers/saml_token_provider.py +41 -54
  133. office365/runtime/auth/sts_profile.py +8 -8
  134. office365/runtime/auth/token_response.py +4 -0
  135. office365/runtime/client_object.py +15 -7
  136. office365/runtime/client_object_collection.py +2 -2
  137. office365/runtime/client_result.py +2 -0
  138. office365/runtime/client_value.py +1 -1
  139. office365/runtime/csom/request.py +11 -0
  140. office365/runtime/types/exceptions.py +18 -0
  141. office365/search/acronym.py +10 -0
  142. office365/search/aggregation_option.py +6 -0
  143. office365/search/answer.py +9 -0
  144. office365/search/entity.py +67 -14
  145. office365/search/entity_type.py +28 -0
  146. office365/search/request.py +32 -3
  147. office365/sharepoint/administration/custom_fonts_resource.py +5 -0
  148. office365/sharepoint/administration/sitemove/__init__.py +0 -0
  149. office365/sharepoint/administration/sitemove/service.py +68 -0
  150. office365/sharepoint/administration/sitemove/service_info.py +11 -0
  151. office365/sharepoint/apps/access_requests.py +5 -0
  152. office365/sharepoint/apps/management/__init__.py +0 -0
  153. office365/sharepoint/apps/management/principal_info.py +9 -0
  154. office365/sharepoint/authpolicy/events/collection.py +28 -0
  155. office365/sharepoint/authpolicy/events/role_assignment_resource_payload.py +4 -0
  156. office365/sharepoint/changes/item.py +15 -0
  157. office365/sharepoint/client_context.py +61 -37
  158. office365/sharepoint/directory/group.py +2 -0
  159. office365/sharepoint/directory/helper.py +2 -0
  160. office365/sharepoint/directory/provider/provider.py +6 -0
  161. office365/sharepoint/directory/user.py +20 -0
  162. office365/sharepoint/documentmanagement/document_id.py +28 -3
  163. office365/sharepoint/files/file.py +11 -4
  164. office365/sharepoint/files/publish/__init__.py +0 -0
  165. office365/sharepoint/files/publish/status.py +9 -0
  166. office365/sharepoint/files/versions/event.py +9 -0
  167. office365/sharepoint/flows/connector_result.py +17 -0
  168. office365/sharepoint/flows/permissions.py +34 -0
  169. office365/sharepoint/fontpackages/__init__.py +0 -0
  170. office365/sharepoint/fontpackages/collection.py +26 -0
  171. office365/sharepoint/fontpackages/creation_parameters.py +5 -0
  172. office365/sharepoint/fontpackages/font_package.py +5 -0
  173. office365/sharepoint/fontpackages/oob_settings.py +5 -0
  174. office365/sharepoint/forms/customization.py +26 -0
  175. office365/sharepoint/ir/__init__.py +0 -0
  176. office365/sharepoint/ir/migration.py +5 -0
  177. office365/sharepoint/listhome/favorite_item.py +9 -0
  178. office365/sharepoint/listitems/listitem.py +79 -4
  179. office365/sharepoint/listitems/update_parameters.py +4 -1
  180. office365/sharepoint/lists/data_parameters.py +5 -0
  181. office365/sharepoint/lists/exporter.py +73 -0
  182. office365/sharepoint/lists/list.py +177 -60
  183. office365/sharepoint/lists/render_data_parameters.py +31 -0
  184. office365/sharepoint/lists/version_policy_manager.py +5 -0
  185. office365/sharepoint/marketplace/app_metadata.py +12 -1
  186. office365/sharepoint/marketplace/app_metadata_collection.py +8 -0
  187. office365/sharepoint/marketplace/corporatecuratedgallery/addins/instance_info.py +22 -0
  188. office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_failed_info.py +5 -0
  189. office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_info.py +12 -0
  190. office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_response.py +15 -0
  191. office365/sharepoint/marketplace/corporatecuratedgallery/addins/principals_response.py +5 -0
  192. office365/sharepoint/marketplace/corporatecuratedgallery/app_request_information.py +9 -0
  193. office365/sharepoint/marketplace/corporatecuratedgallery/app_response_information.py +9 -0
  194. office365/sharepoint/marketplace/corporatecuratedgallery/available_addins_response.py +4 -0
  195. office365/sharepoint/marketplace/corporatecuratedgallery/card_design.py +9 -0
  196. office365/sharepoint/marketplace/corporatecuratedgallery/card_designs.py +9 -0
  197. office365/sharepoint/marketplace/corporatecuratedgallery/teams_package_download.py +14 -0
  198. office365/sharepoint/marketplace/tenant/appcatalog/accessor.py +62 -3
  199. office365/sharepoint/migration/copy_migration_options.py +5 -0
  200. office365/sharepoint/multigeo/services.py +14 -0
  201. office365/sharepoint/multigeo/storage_quota.py +9 -0
  202. office365/sharepoint/policy/license_utilities.py +27 -0
  203. office365/sharepoint/portal/groups/site_manager.py +32 -0
  204. office365/sharepoint/portal/project/__init__.py +9 -0
  205. office365/sharepoint/portal/userprofiles/documentsshared/__init__.py +0 -0
  206. office365/sharepoint/portal/userprofiles/documentsshared/with_group.py +38 -0
  207. office365/sharepoint/portal/userprofiles/documentsshared/with_person.py +9 -0
  208. office365/sharepoint/portal/userprofiles/sharedwithme/__init__.py +0 -0
  209. office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/document.py +1 -1
  210. office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/items.py +3 -1
  211. office365/sharepoint/principal/principal.py +6 -0
  212. office365/sharepoint/publishing/pages/coauth_state.py +8 -0
  213. office365/sharepoint/publishing/pages/page.py +11 -0
  214. office365/sharepoint/publishing/pages/stream_content.py +9 -0
  215. office365/sharepoint/publishing/pages/stream_data.py +8 -0
  216. office365/sharepoint/quotamanagement/consumer/non_quota_backfill_api.py +8 -0
  217. office365/sharepoint/request.py +98 -10
  218. office365/sharepoint/search/administration/document_crawl_log.py +16 -2
  219. office365/sharepoint/search/administration/site_content_processing_info_provider.py +11 -0
  220. office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +1 -1
  221. office365/sharepoint/search/ranking_labeling.py +1 -0
  222. office365/sharepoint/search/reports/abandoned_queries.py +11 -1
  223. office365/sharepoint/search/reports/abandonedqueries/__init__.py +0 -0
  224. office365/sharepoint/search/reports/abandonedqueries/data.py +0 -0
  225. office365/sharepoint/search/reports/abandonedqueries/item.py +11 -0
  226. office365/sharepoint/search/reports/noresult/__init__.py +0 -0
  227. office365/sharepoint/search/reports/numberofqueries/__init__.py +0 -0
  228. office365/sharepoint/search/reports/top_queries.py +7 -0
  229. office365/sharepoint/search/reports/topqueries/__init__.py +0 -0
  230. office365/sharepoint/search/reports/topqueries/data.py +9 -0
  231. office365/sharepoint/search/reports/topqueries/item.py +15 -0
  232. office365/sharepoint/search/scs_endpoint.py +9 -0
  233. office365/sharepoint/securestore/target_application.py +8 -0
  234. office365/sharepoint/sharing/document_manager.py +3 -3
  235. office365/sharepoint/sharing/domain_restriction_settings.py +5 -0
  236. office365/sharepoint/sharing/information.py +12 -0
  237. office365/sharepoint/sharing/result.py +21 -0
  238. office365/sharepoint/sitehealth/result.py +4 -4
  239. office365/sharepoint/sitehealth/summary.py +5 -5
  240. office365/sharepoint/sites/copy_job_progress.py +5 -0
  241. office365/sharepoint/sites/copy_migration_iInfo.py +5 -0
  242. office365/sharepoint/sites/home/__init__.py +0 -0
  243. office365/sharepoint/sites/{sph_site.py → home/site.py} +1 -1
  244. office365/sharepoint/sites/html_field_security_setting.py +5 -0
  245. office365/sharepoint/sites/site.py +56 -2
  246. office365/sharepoint/sites/version_policy_manager.py +25 -0
  247. office365/sharepoint/sitescripts/metadata.py +28 -3
  248. office365/sharepoint/sitescripts/utility.py +17 -0
  249. office365/sharepoint/smartcache/__init__.py +0 -0
  250. office365/sharepoint/smartcache/item.py +9 -0
  251. office365/sharepoint/tenant/administration/app_service_principal_public.py +17 -0
  252. office365/sharepoint/tenant/administration/audit/data.py +12 -0
  253. office365/sharepoint/tenant/administration/audit/unified_record.py +18 -0
  254. office365/sharepoint/tenant/administration/coms/__init__.py +0 -0
  255. office365/sharepoint/tenant/administration/coms/messages_fields_data.py +5 -0
  256. office365/sharepoint/tenant/administration/coms/messages_service_proxy.py +16 -0
  257. office365/sharepoint/tenant/administration/copilot/__init__.py +0 -0
  258. office365/sharepoint/tenant/administration/copilot/adaptive_card_config.py +11 -0
  259. office365/sharepoint/tenant/administration/datagovernance/__init__.py +0 -0
  260. office365/sharepoint/tenant/administration/{internal/permission_grant.py → datagovernance/client_base.py} +4 -2
  261. office365/sharepoint/tenant/administration/datagovernance/insight_client.py +82 -0
  262. office365/sharepoint/tenant/administration/datagovernance/insight_metadata.py +5 -0
  263. office365/sharepoint/tenant/administration/default_time_zone_id.py +11 -0
  264. office365/sharepoint/tenant/administration/endpoints.py +53 -2
  265. office365/sharepoint/tenant/administration/insights/onedrive_site_sharing.py +4 -0
  266. office365/sharepoint/tenant/administration/insights/summary_response.py +8 -0
  267. office365/sharepoint/tenant/administration/internal/aad/__init__.py +0 -0
  268. office365/sharepoint/tenant/administration/internal/aad/permission_grant.py +32 -0
  269. office365/sharepoint/tenant/administration/internal/appservice/__init__.py +0 -0
  270. office365/sharepoint/tenant/administration/internal/appservice/permission_grant.py +5 -0
  271. office365/sharepoint/tenant/administration/internal/appservice/permission_request.py +13 -0
  272. office365/sharepoint/tenant/administration/internal/appservice/principal.py +104 -0
  273. office365/sharepoint/tenant/administration/malware/__init__.py +0 -0
  274. office365/sharepoint/tenant/administration/malware/file.py +18 -0
  275. office365/sharepoint/tenant/administration/modified_property.py +5 -0
  276. office365/sharepoint/tenant/administration/policies/app_billing_properties.py +21 -0
  277. office365/sharepoint/tenant/administration/policies/content_security_configuration.py +9 -0
  278. office365/sharepoint/tenant/administration/recent_action.py +9 -0
  279. office365/sharepoint/tenant/administration/reports/__init__.py +0 -0
  280. office365/sharepoint/tenant/administration/settings_service.py +42 -6
  281. office365/sharepoint/tenant/administration/sites/creation_source.py +8 -8
  282. office365/sharepoint/tenant/administration/sites/properties.py +78 -0
  283. office365/sharepoint/tenant/administration/sites/properties_collection.py +19 -0
  284. office365/sharepoint/tenant/administration/tenant.py +241 -8
  285. office365/sharepoint/tenant/administration/types.py +89 -2
  286. office365/sharepoint/tenant/cdn_api.py +3 -1
  287. office365/sharepoint/tenant/insights/report_manager.py +29 -0
  288. office365/sharepoint/tenant/management/office365_tenant.py +9 -4
  289. office365/sharepoint/tenant/settings.py +10 -0
  290. office365/sharepoint/translation/job_status.py +22 -0
  291. office365/sharepoint/userprofiles/user_profile.py +6 -0
  292. office365/sharepoint/utilities/utility.py +6 -0
  293. office365/sharepoint/viva/connections_page.py +8 -0
  294. office365/sharepoint/viva/dashboard_configuration.py +8 -0
  295. office365/sharepoint/viva/employee_engagement.py +39 -1
  296. office365/sharepoint/viva/resource_get_endpoint.py +8 -0
  297. office365/sharepoint/viva/resource_link.py +8 -0
  298. office365/sharepoint/webparts/tile_data.py +21 -0
  299. office365/sharepoint/webs/dataleakage_prevention_status_info.py +5 -0
  300. office365/sharepoint/webs/information.py +66 -1
  301. office365/sharepoint/webs/regional_settings.py +32 -0
  302. office365/sharepoint/webs/templates/__init__.py +0 -0
  303. office365/sharepoint/webs/time_zone.py +1 -1
  304. office365/sharepoint/webs/web.py +137 -0
  305. office365/sharepoint/workflow/task.py +5 -0
  306. office365/subscriptions/collection.py +16 -0
  307. office365/teams/chats/event_message_detail.py +8 -0
  308. office365/teams/deleted.py +24 -0
  309. office365/teams/work.py +35 -0
  310. office365/directory/tenant_relationship.py +0 -23
  311. office365/onedrive/admin.py +0 -32
  312. office365/onedrive/workbooks/charts/legend.py +0 -7
  313. office365/onedrive/workbooks/charts/series.py +0 -5
  314. office365/sharepoint/portal/userprofiles/documents_shared_with_group.py +0 -11
  315. office365/sharepoint/tenant/administration/internal/web_appservice_principal.py +0 -23
  316. {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/LICENSE +0 -0
  317. {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/WHEEL +0 -0
  318. {Office365_REST_Python_Client-2.5.13.dist-info → Office365_REST_Python_Client-2.6.0.dist-info}/top_level.txt +0 -0
  319. /office365/{sharepoint/userprofiles/sharedwithme → admin}/__init__.py +0 -0
  320. /office365/{onedrive → admin}/sharepoint_settings.py +0 -0
  321. /office365/directory/{tenant_information.py → tenantinformation/information.py} +0 -0
  322. /office365/{base_item.py → onedrive/base_item.py} +0 -0
  323. /office365/onedrive/sitepages/{horizontal_section_column.py → sections/horizontal_column.py} +0 -0
  324. /office365/onedrive/sitepages/{vertical_section.py → sections/vertical.py} +0 -0
  325. /office365/sharepoint/portal/userprofiles/{documents_shared_with_me.py → documentsshared/with_me.py} +0 -0
  326. /office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/document_user.py +0 -0
  327. /office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/item_collection.py +0 -0
  328. /office365/sharepoint/{userprofiles → portal/userprofiles}/sharedwithme/view_item_removal_result.py +0 -0
  329. /office365/sharepoint/sites/{home_sites_details.py → home/details.py} +0 -0
  330. /office365/sharepoint/sites/{home_site_reference.py → home/reference.py} +0 -0
@@ -2,6 +2,7 @@ from office365.directory.identitygovernance.userconsent.request import (
2
2
  UserConsentRequest,
3
3
  )
4
4
  from office365.entity_collection import EntityCollection
5
+ from office365.runtime.queries.function import FunctionQuery
5
6
 
6
7
 
7
8
  class UserConsentRequestCollection(EntityCollection[UserConsentRequest]):
@@ -11,3 +12,12 @@ class UserConsentRequestCollection(EntityCollection[UserConsentRequest]):
11
12
  super(UserConsentRequestCollection, self).__init__(
12
13
  context, UserConsentRequest, resource_path
13
14
  )
15
+
16
+ def filter_by_current_user(self, on):
17
+ """Retrieve a collection of userConsentRequest objects for accessing a specified app, for which the current
18
+ user is the reviewer."""
19
+ return_type = UserConsentRequestCollection(self.context, self.resource_path)
20
+ params = {"on": on}
21
+ qry = FunctionQuery(self, "filterByCurrentUser", params, return_type)
22
+ self.context.add_query(qry)
23
+ return return_type
@@ -0,0 +1,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class WorkflowBase(Entity):
5
+ """An abstract type that exposes the properties for configuring a custom lifecycle workflow."""
@@ -15,8 +15,13 @@ class PermissionScope(ClientValue):
15
15
  self,
16
16
  admin_consent_display_name=None,
17
17
  admin_consent_description=None,
18
- _id=None,
18
+ id_=None,
19
19
  is_enabled=None,
20
+ origin=None,
21
+ type_=None,
22
+ user_consent_description=None,
23
+ user_consent_display_name=None,
24
+ value=None,
20
25
  ):
21
26
  """
22
27
  :param str admin_consent_display_name: The permission's title, intended to be read by an administrator granting
@@ -24,13 +29,20 @@ class PermissionScope(ClientValue):
24
29
  :param str admin_consent_description: A description of the delegated permissions, intended to be read
25
30
  by an administrator granting the permission on behalf of all users. This text appears in tenant-wide
26
31
  admin consent experiences.
27
- :param str _id: Unique delegated permission identifier inside the collection of delegated permissions defined
32
+ :param str id_: Unique delegated permission identifier inside the collection of delegated permissions defined
28
33
  for a resource application.
29
34
  :param str is_enabled: When creating or updating a permission, this property must be set to true
30
35
  (which is the default). To delete a permission, this property must first be set to false.
31
36
  At that point, in a subsequent call, the permission may be removed.
37
+
38
+ :param str value: Specifies the value to include in the scp (scope) claim in access tokens.
32
39
  """
33
40
  self.adminConsentDescription = admin_consent_description
34
41
  self.adminConsentDisplayName = admin_consent_display_name
35
- self.id = _id
42
+ self.id = id_
36
43
  self.isEnabled = is_enabled
44
+ self.origin = origin
45
+ self.type = type_
46
+ self.userConsentDescription = user_consent_description
47
+ self.userConsentDisplayName = user_consent_display_name
48
+ self.value = value
@@ -1,9 +1,13 @@
1
1
  from office365.directory.authentication.strength_usage import (
2
2
  AuthenticationStrengthUsage,
3
3
  )
4
+ from office365.directory.policies.update_allowed_combinations_result import (
5
+ UpdateAllowedCombinationsResult,
6
+ )
4
7
  from office365.entity import Entity
5
8
  from office365.runtime.client_result import ClientResult
6
9
  from office365.runtime.queries.function import FunctionQuery
10
+ from office365.runtime.queries.service_operation import ServiceOperationQuery
7
11
 
8
12
 
9
13
  class AuthenticationStrengthPolicy(Entity):
@@ -26,3 +30,20 @@ class AuthenticationStrengthPolicy(Entity):
26
30
  qry = FunctionQuery(self, "usage", None, return_type)
27
31
  self.context.add_query(qry)
28
32
  return return_type
33
+
34
+ def update_allowed_combinations(self, allowed_combinations=None):
35
+ """
36
+ Update the allowedCombinations property of an authenticationStrengthPolicy object.
37
+ To update other properties of an authenticationStrengthPolicy object,
38
+ use the Update authenticationStrengthPolicy method.
39
+
40
+ :param list[str] allowed_combinations: The authentication method combinations allowed by this authentication
41
+ strength policy.
42
+ """
43
+ return_type = ClientResult(self.context, UpdateAllowedCombinationsResult())
44
+ payload = {"allowedCombinations": allowed_combinations}
45
+ qry = ServiceOperationQuery(
46
+ self, "updateAllowedCombinations", None, payload, None, return_type
47
+ )
48
+ self.context.add_query(qry)
49
+ return return_type
@@ -1,4 +1,6 @@
1
1
  from office365.directory.policies.base import PolicyBase
2
+ from office365.directory.policies.template import PolicyTemplate
3
+ from office365.runtime.paths.resource_path import ResourcePath
2
4
  from office365.runtime.types.collections import StringCollection
3
5
 
4
6
 
@@ -13,3 +15,14 @@ class CrossTenantAccessPolicy(PolicyBase):
13
15
  and partner.microsoftonline.cn.
14
16
  """
15
17
  return self.properties.get("allowedCloudEndpoints", StringCollection())
18
+
19
+ def templates(self):
20
+ # type: () -> PolicyTemplate
21
+ """Represents the base policy in the directory for multitenant organization settings."""
22
+ return self.properties.get(
23
+ "templates",
24
+ PolicyTemplate(
25
+ self.context,
26
+ ResourcePath("templates", self.resource_path),
27
+ ),
28
+ )
@@ -0,0 +1,16 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class FeatureRolloutPolicy(Entity):
5
+ """
6
+ Represents a feature rollout policy associated with a directory object. Creating a feature rollout policy
7
+ helps tenant administrators to pilot features of Microsoft Entra ID with a specific group before enabling
8
+ features for entire organization. This minimizes the impact and helps administrators to test and rollout
9
+ authentication related features gradually.
10
+
11
+ The following are limitations of feature rollout:
12
+
13
+ - Each feature supports a maximum of 10 groups.
14
+ - The appliesTo field only supports groups.
15
+ - Dynamic groups and nested groups are not supported.
16
+ """
@@ -11,6 +11,7 @@ from office365.directory.policies.authorization import AuthorizationPolicy
11
11
  from office365.directory.policies.conditional_access import ConditionalAccessPolicy
12
12
  from office365.directory.policies.cross_tenant_access import CrossTenantAccessPolicy
13
13
  from office365.directory.policies.device_registration import DeviceRegistrationPolicy
14
+ from office365.directory.policies.feature_rollout import FeatureRolloutPolicy
14
15
  from office365.directory.policies.permission_grant import PermissionGrantPolicy
15
16
  from office365.directory.policies.tenant_app_management import TenantAppManagementPolicy
16
17
  from office365.directory.policies.unified_role_management import (
@@ -52,16 +53,6 @@ class PolicyRoot(Entity):
52
53
  )
53
54
 
54
55
  @property
55
- def device_registration_policy(self):
56
- """ """
57
- return self.properties.get(
58
- "deviceRegistrationPolicy",
59
- DeviceRegistrationPolicy(
60
- self.context,
61
- ResourcePath("deviceRegistrationPolicy", self.resource_path),
62
- ),
63
- )
64
-
65
56
  def authentication_strength_policies(self):
66
57
  # type: () -> EntityCollection[AuthenticationStrengthPolicy]
67
58
  """
@@ -111,6 +102,19 @@ class PolicyRoot(Entity):
111
102
  ),
112
103
  )
113
104
 
105
+ @property
106
+ def conditional_access_policies(self):
107
+ # type: () -> EntityCollection[ConditionalAccessPolicy]
108
+ """The custom rules that define an access scenario"""
109
+ return self.properties.get(
110
+ "conditionalAccessPolicies",
111
+ EntityCollection(
112
+ self.context,
113
+ ConditionalAccessPolicy,
114
+ ResourcePath("conditionalAccessPolicies", self.resource_path),
115
+ ),
116
+ )
117
+
114
118
  @property
115
119
  def cross_tenant_access_policy(self):
116
120
  """
@@ -124,6 +128,17 @@ class PolicyRoot(Entity):
124
128
  ),
125
129
  )
126
130
 
131
+ @property
132
+ def device_registration_policy(self):
133
+ """ """
134
+ return self.properties.get(
135
+ "deviceRegistrationPolicy",
136
+ DeviceRegistrationPolicy(
137
+ self.context,
138
+ ResourcePath("deviceRegistrationPolicy", self.resource_path),
139
+ ),
140
+ )
141
+
127
142
  @property
128
143
  def default_app_management_policy(self):
129
144
  """
@@ -137,6 +152,19 @@ class PolicyRoot(Entity):
137
152
  ),
138
153
  )
139
154
 
155
+ @property
156
+ def feature_rollout_policies(self):
157
+ # type: () -> EntityCollection[FeatureRolloutPolicy]
158
+ """The feature rollout policy associated with a directory object."""
159
+ return self.properties.get(
160
+ "featureRolloutPolicies",
161
+ EntityCollection(
162
+ self.context,
163
+ FeatureRolloutPolicy,
164
+ ResourcePath("featureRolloutPolicies", self.resource_path),
165
+ ),
166
+ )
167
+
140
168
  @property
141
169
  def permission_grant_policies(self):
142
170
  # type: () -> EntityCollection[PermissionGrantPolicy]
@@ -152,19 +180,6 @@ class PolicyRoot(Entity):
152
180
  ),
153
181
  )
154
182
 
155
- @property
156
- def conditional_access_policies(self):
157
- # type: () -> EntityCollection[ConditionalAccessPolicy]
158
- """The custom rules that define an access scenario"""
159
- return self.properties.get(
160
- "conditionalAccessPolicies",
161
- EntityCollection(
162
- self.context,
163
- ConditionalAccessPolicy,
164
- ResourcePath("conditionalAccessPolicies", self.resource_path),
165
- ),
166
- )
167
-
168
183
  @property
169
184
  def role_management_policies(self):
170
185
  # type: () -> EntityCollection[UnifiedRoleManagementPolicy]
@@ -191,6 +206,7 @@ class PolicyRoot(Entity):
191
206
  "crossTenantAccessPolicy": self.cross_tenant_access_policy,
192
207
  "defaultAppManagementPolicy": self.default_app_management_policy,
193
208
  "deviceRegistrationPolicy": self.device_registration_policy,
209
+ "featureRolloutPolicies": self.feature_rollout_policies,
194
210
  "permissionGrantPolicies": self.permission_grant_policies,
195
211
  "roleManagementPolicies": self.role_management_policies,
196
212
  }
@@ -0,0 +1,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class PolicyTemplate(Entity):
5
+ """Represents the base policy in the directory for multitenant organization settings."""
@@ -0,0 +1,5 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class UpdateAllowedCombinationsResult(ClientValue):
5
+ """ """
@@ -0,0 +1,20 @@
1
+ from typing import Optional
2
+
3
+ from office365.directory.protection.threatassessment.request import (
4
+ ThreatAssessmentRequest,
5
+ )
6
+
7
+
8
+ class EmailFileAssessmentRequest(ThreatAssessmentRequest):
9
+ """
10
+ Represents a resource that creates and retrieves an email file threat assessment.
11
+ The email file can be an .eml file type.
12
+ """
13
+
14
+ @property
15
+ def content_data(self):
16
+ # type: () -> Optional[str]
17
+ """
18
+ Base64 encoded .eml email file content. The file content can't fetch back because it isn't stored.
19
+ """
20
+ return self.properties.get("contentData", None)
@@ -1,5 +1,30 @@
1
+ from datetime import datetime
2
+
3
+ from office365.directory.permissions.identity_set import IdentitySet
1
4
  from office365.entity import Entity
2
5
 
3
6
 
4
7
  class ThreatAssessmentRequest(Entity):
5
8
  """An abstract resource type used to represent a threat assessment request item."""
9
+
10
+ @property
11
+ def created_by(self):
12
+ """The threat assessment request creator."""
13
+ return self.properties.get("createdBy", IdentitySet())
14
+
15
+ @property
16
+ def created_datetime(self):
17
+ """
18
+ The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
19
+ For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
20
+ """
21
+ return self.properties.get("createdDateTime", datetime.min)
22
+
23
+ def get_property(self, name, default_value=None):
24
+ if default_value is None:
25
+ property_mapping = {
26
+ "createdDateTime": self.created_datetime,
27
+ "createdBy": self.created_by,
28
+ }
29
+ default_value = property_mapping.get(name, None)
30
+ return super(ThreatAssessmentRequest, self).get_property(name, default_value)
@@ -1,3 +1,6 @@
1
+ from office365.directory.identitygovernance.privilegedaccess.unified_role_assignment_schedule_request import (
2
+ UnifiedRoleAssignmentScheduleRequest,
3
+ )
1
4
  from office365.directory.rolemanagement.unified_role_assignment import (
2
5
  UnifiedRoleAssignment,
3
6
  )
@@ -40,6 +43,18 @@ class RbacApplication(Entity):
40
43
  ),
41
44
  )
42
45
 
46
+ def role_assignment_schedule_requests(self):
47
+ # type: () -> EntityCollection[UnifiedRoleAssignmentScheduleRequest]
48
+ """Resource representing the roles allowed by RBAC providers and the permissions assigned to the roles."""
49
+ return self.properties.get(
50
+ "roleAssignmentScheduleRequests",
51
+ EntityCollection(
52
+ self.context,
53
+ UnifiedRoleAssignmentScheduleRequest,
54
+ ResourcePath("roleAssignmentScheduleRequests", self.resource_path),
55
+ ),
56
+ )
57
+
43
58
  def get_property(self, name, default_value=None):
44
59
  if default_value is None:
45
60
  property_mapping = {
@@ -3,8 +3,12 @@ from office365.runtime.types.collections import StringCollection
3
3
 
4
4
 
5
5
  class ResourceAction(ClientValue):
6
- """ """
6
+ """Set of allowed and not allowed actions for a resource."""
7
7
 
8
- def __init__(self):
9
- self.allowedResourceActions = StringCollection()
10
- self.notAllowedResourceActions = StringCollection()
8
+ def __init__(self, allowed=None, not_allowed=None):
9
+ """
10
+ :param list[str] allowed: Allowed Actions
11
+ :param list[str] not_allowed: Not Allowed Actions.
12
+ """
13
+ self.allowedResourceActions = StringCollection(allowed)
14
+ self.notAllowedResourceActions = StringCollection(not_allowed)
@@ -4,7 +4,7 @@ from office365.runtime.client_value_collection import ClientValueCollection
4
4
 
5
5
 
6
6
  class RolePermission(ClientValue):
7
- """ """
7
+ """Contains the set of ResourceActions determining the allowed and not allowed permissions for each role."""
8
8
 
9
- def __init__(self, resourceActions=None):
10
- self.resourceActions = ClientValueCollection(ResourceAction, resourceActions)
9
+ def __init__(self, resource_actions=None):
10
+ self.resourceActions = ClientValueCollection(ResourceAction, resource_actions)
@@ -0,0 +1,49 @@
1
+ from office365.directory.security.alerts.alert import Alert
2
+ from office365.entity_collection import EntityCollection
3
+ from office365.runtime.http.request_options import RequestOptions
4
+
5
+
6
+ class AlertCollection(EntityCollection[Alert]):
7
+ """Service Principal's collection"""
8
+
9
+ def __init__(self, context, resource_path=None):
10
+ super(AlertCollection, self).__init__(context, Alert, resource_path)
11
+
12
+ def add(
13
+ self,
14
+ title,
15
+ description=None,
16
+ severity=None,
17
+ category=None,
18
+ status=None,
19
+ source=None,
20
+ vendor_information=None,
21
+ ):
22
+ """
23
+ Creates an alert object.
24
+ :param str title:
25
+ :param str description:
26
+ :param str severity:
27
+ :param str category:
28
+ :param str status:
29
+ :param str source:
30
+ :param str vendor_information:
31
+ """
32
+
33
+ def _construct_request(request):
34
+ # type: (RequestOptions) -> None
35
+ request.set_header("Content-Type", "application/json")
36
+
37
+ return (
38
+ super(AlertCollection, self)
39
+ .add(
40
+ title=title,
41
+ description=description,
42
+ severity=severity,
43
+ category=category,
44
+ status=status,
45
+ source=source,
46
+ vendorInformation=vendor_information,
47
+ )
48
+ .before_execute(_construct_request)
49
+ )
@@ -3,7 +3,8 @@ from office365.runtime.types.collections import StringCollection
3
3
 
4
4
 
5
5
  class AlertEvidence(ClientValue):
6
- """Evidence related to an alert."""
6
+ """The alertEvidence base type and its derived evidence types provide a means to organize and track rich data
7
+ about each artifact involved in an alert."""
7
8
 
8
9
  def __init__(self, created_datetime=None, detailed_roles=None):
9
10
  """
@@ -0,0 +1,5 @@
1
+ from office365.directory.security.alerts.evidence import AlertEvidence
2
+
3
+
4
+ class MalwareEvidence(AlertEvidence):
5
+ """"""
@@ -0,0 +1,5 @@
1
+ from office365.directory.security.alerts.evidence import AlertEvidence
2
+
3
+
4
+ class ProcessEvidence(AlertEvidence):
5
+ """Represents a process that is reported in the alert as evidence."""
@@ -0,0 +1,5 @@
1
+ from office365.runtime.client_value import ClientValue
2
+
3
+
4
+ class AttackSimulationUser(ClientValue):
5
+ """Represents a user in an attack simulation and training campaign."""
@@ -3,3 +3,6 @@ from office365.runtime.client_value import ClientValue
3
3
 
4
4
  class AttackSimulationSimulationUserCoverage(ClientValue):
5
5
  """Represents cumulative simulation data and results for a user in attack simulation and training."""
6
+
7
+ def __init__(self):
8
+ pass
@@ -1,12 +1,17 @@
1
+ from office365.directory.security.attacksimulations.user import AttackSimulationUser
1
2
  from office365.runtime.client_value import ClientValue
2
3
 
3
4
 
4
5
  class UserSimulationDetails(ClientValue):
5
6
  """Represents a user of a tenant and their online actions in an attack simulation and training campaign."""
6
7
 
7
- def __init__(self, assigned_trainings_count=None):
8
+ def __init__(
9
+ self, assigned_trainings_count=None, simulation_user=AttackSimulationUser()
10
+ ):
8
11
  """
9
12
  :param int assigned_trainings_count: Number of trainings assigned to a user in an attack simulation
10
13
  and training campaign.
14
+ :param AttackSimulationUser simulation_user:
11
15
  """
12
16
  self.assignedTrainingsCount = assigned_trainings_count
17
+ self.simulationUser = simulation_user
File without changes
@@ -0,0 +1,6 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class SecureScoreControlProfile(Entity):
5
+ """Represents a tenant's secure score per control data. By default, it returns all controls
6
+ for a tenant and can explicitly pull individual controls."""
@@ -1,8 +1,10 @@
1
1
  from office365.directory.security.alerts.alert import Alert
2
+ from office365.directory.security.alerts.collection import AlertCollection
2
3
  from office365.directory.security.attacksimulations.root import AttackSimulationRoot
3
4
  from office365.directory.security.cases.root import CasesRoot
4
5
  from office365.directory.security.hunting_query_results import HuntingQueryResults
5
6
  from office365.directory.security.incidents.incident import Incident
7
+ from office365.directory.security.scorecontrol.profile import SecureScoreControlProfile
6
8
  from office365.directory.security.threatintelligence.threat_intelligence import (
7
9
  ThreatIntelligence,
8
10
  )
@@ -35,12 +37,10 @@ class Security(Entity):
35
37
 
36
38
  @property
37
39
  def alerts(self):
38
- # type: () -> EntityCollection[Alert]
40
+ # type: () -> AlertCollection
39
41
  return self.properties.get(
40
42
  "alerts",
41
- EntityCollection(
42
- self.context, Alert, ResourcePath("alerts", self.resource_path)
43
- ),
43
+ AlertCollection(self.context, ResourcePath("alerts", self.resource_path)),
44
44
  )
45
45
 
46
46
  @property
@@ -83,6 +83,18 @@ class Security(Entity):
83
83
  ),
84
84
  )
85
85
 
86
+ @property
87
+ def secure_score_control_profiles(self):
88
+ """"""
89
+ return self.properties.get(
90
+ "secureScoreControlProfiles",
91
+ EntityCollection(
92
+ self.context,
93
+ SecureScoreControlProfile,
94
+ ResourcePath("secureScoreControlProfiles", self.resource_path),
95
+ ),
96
+ )
97
+
86
98
  @property
87
99
  def triggers(self):
88
100
  """"""
@@ -106,6 +118,7 @@ class Security(Entity):
106
118
  property_mapping = {
107
119
  "alerts_v2": self.alerts_v2,
108
120
  "attackSimulation": self.attack_simulation,
121
+ "secureScoreControlProfiles": self.secure_score_control_profiles,
109
122
  "threatIntelligence": self.threat_intelligence,
110
123
  }
111
124
  default_value = property_mapping.get(name, None)