Office365-REST-Python-Client 3.0.0__py3-none-any.whl → 3.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1199) hide show
  1. office365/admin/baseline_parameter.py +15 -0
  2. office365/admin/baseline_resource.py +17 -0
  3. office365/admin/drift_status.py +13 -0
  4. office365/admin/exchange/exchange_message_trace_status.py +18 -0
  5. office365/admin/snapshot_job_status.py +16 -0
  6. office365/backuprestore/artifact_query.py +16 -0
  7. office365/backuprestore/notification_events_type.py +13 -0
  8. office365/backuprestore/restorejobtype.py +1 -0
  9. office365/backuprestore/restorepoints/search_response.py +21 -0
  10. office365/backuprestore/restorepoints/search_result.py +14 -0
  11. office365/backuprestore/restoresessions/artifact_count.py +17 -0
  12. office365/backuprestore/restoresessions/browsable_resource_type.py +15 -0
  13. office365/backuprestore/restoresessions/browse_query_order.py +15 -0
  14. office365/backuprestore/restoresessions/browse_query_response_item.py +20 -0
  15. office365/backuprestore/restoresessions/browse_query_response_item_type.py +16 -0
  16. office365/backuprestore/restoresessions/browse_session_status.py +14 -0
  17. office365/backuprestore/restoresessions/browser_shared_cookie_history.py +24 -0
  18. office365/backuprestore/service_status.py +28 -1
  19. office365/backuprestore/time_period.py +16 -0
  20. office365/booking/assigned_place_mode.py +15 -0
  21. office365/booking/business/import_building_map_setting.py +14 -0
  22. office365/booking/chedulingpolicy.py +4 -2
  23. office365/booking/customers/information.py +4 -2
  24. office365/booking/drop_in_place_mode.py +10 -0
  25. office365/booking/mailbox_details.py +15 -0
  26. office365/booking/place_mode.py +10 -0
  27. office365/booking/place_service_plan_info.py +14 -0
  28. office365/booking/reservable_place_mode.py +10 -0
  29. office365/booking/unavailable_place_mode.py +14 -0
  30. office365/communications/adhoc_call.py +31 -0
  31. office365/communications/broadcastmeetingaudience.py +9 -1
  32. office365/communications/callrecords/audio_codec.py +33 -0
  33. office365/communications/callrecords/media_stream_direction.py +12 -0
  34. office365/communications/callrecords/modality.py +0 -1
  35. office365/communications/callrecords/network_connection_type.py +16 -0
  36. office365/communications/callrecords/network_transport_protocol.py +14 -0
  37. office365/communications/callrecords/product_family.py +16 -0
  38. office365/communications/callrecords/pstn_call_duration_source.py +12 -0
  39. office365/communications/callrecords/service_role.py +32 -0
  40. office365/communications/callrecords/user_feedback_rating.py +17 -0
  41. office365/communications/callrecords/video_codec.py +22 -0
  42. office365/communications/cloud_communications.py +3 -6
  43. office365/communications/onlinemeetings/attendee_notification_info.py +15 -0
  44. office365/communications/onlinemeetings/base.py +152 -1
  45. office365/communications/onlinemeetings/broadcast_settings.py +4 -0
  46. office365/communications/onlinemeetings/lobby_bypass_settings.py +16 -0
  47. office365/communications/onlinemeetings/online_meeting.py +48 -23
  48. office365/communications/onlinemeetings/online_meeting_info.py +22 -0
  49. office365/communications/onlinemeetings/online_meeting_type.py +16 -0
  50. office365/communications/onlinemeetings/participants.py +5 -3
  51. office365/communications/onlinemeetings/watermark_protection_values.py +15 -0
  52. office365/communications/presences/presence.py +15 -5
  53. office365/communications/presences/work_location_source.py +15 -0
  54. office365/communications/presences/work_location_type.py +15 -0
  55. office365/communications/virtualevents/communications_identity_set.py +23 -0
  56. office365/copilot/ai_agent_info.py +14 -0
  57. office365/copilot/ai_interaction_entity.py +16 -0
  58. office365/copilot/ai_interaction_plugin.py +10 -0
  59. office365/copilot/package_access_entity.py +14 -0
  60. office365/copilot/package_element.py +16 -0
  61. office365/copilot/package_element_detail.py +19 -0
  62. office365/copilot/retrieval_data_source.py +14 -0
  63. office365/copilot/retrieval_entity_type.py +17 -0
  64. office365/count_collection.py +1 -1
  65. office365/delta_collection.py +41 -2
  66. office365/directory/applications/all_allowed_scopes.py +10 -0
  67. office365/directory/applications/custom_security_attribute_exemption.py +18 -0
  68. office365/directory/applications/custom_security_attribute_string_value_exemption.py +14 -0
  69. office365/directory/applications/enumerated_scopes.py +15 -0
  70. office365/directory/applications/identifier_uri_restriction.py +22 -0
  71. office365/directory/applications/implicitgrantsettings.py +8 -1
  72. office365/directory/applications/inheritable_scopes.py +15 -0
  73. office365/directory/applications/key_credential_configuration.py +22 -0
  74. office365/directory/applications/no_scopes.py +10 -0
  75. office365/directory/applications/optional_claim.py +14 -1
  76. office365/directory/applications/password_credential_configuration.py +22 -0
  77. office365/directory/applications/preauthorized.py +11 -1
  78. office365/directory/applications/redirecturisettings.py +8 -1
  79. office365/directory/applications/resource_access.py +4 -0
  80. office365/directory/applications/template.py +63 -3
  81. office365/directory/attribute_rule_members.py +15 -0
  82. office365/directory/audit/directory.py +9 -0
  83. office365/directory/audit/log_root.py +15 -15
  84. office365/directory/audit/logs/recordtype.py +476 -1
  85. office365/directory/audit/logs/usertype.py +16 -1
  86. office365/directory/audit/provisioning/object_summary.py +67 -3
  87. office365/directory/audit/signins/authentication_app_device_details.py +17 -0
  88. office365/directory/audit/signins/governance_insight.py +17 -0
  89. office365/directory/audit/signins/membership_outlier_insight.py +55 -0
  90. office365/directory/audit/signins/signin.py +78 -8
  91. office365/directory/authentication/attributecollection/external_users_self_service_sign_up.py +20 -0
  92. office365/directory/authentication/attributecollection/handler.py +10 -0
  93. office365/directory/authentication/attributecollection/method_load_start_handler.py +10 -0
  94. office365/directory/authentication/attributecollection/start_custom_extension_handler.py +17 -0
  95. office365/directory/authentication/attributecollection/start_handler.py +10 -0
  96. office365/directory/authentication/attributecollection/submit_custom_extension_handler.py +17 -0
  97. office365/directory/authentication/attributecollection/submit_handler.py +10 -0
  98. office365/directory/authentication/authentication.py +13 -36
  99. office365/directory/authentication/error_correction_level.py +14 -0
  100. office365/directory/authentication/fraud_protection_configuration.py +10 -0
  101. office365/directory/authentication/fraud_protection_provider_configuration.py +12 -0
  102. office365/directory/authentication/generic_error.py +8 -1
  103. office365/directory/authentication/methods/configuration.py +17 -0
  104. office365/directory/authentication/methods/details.py +36 -0
  105. office365/directory/authentication/methods/mode_detail.py +17 -0
  106. office365/directory/authentication/methods/passkey_type.py +13 -0
  107. office365/directory/authentication/methods/root.py +8 -12
  108. office365/directory/authentication/methods/target.py +17 -0
  109. office365/directory/authentication/oidc_address_inbound_claims.py +18 -0
  110. office365/directory/authentication/oidc_client_authentication.py +10 -0
  111. office365/directory/authentication/oidc_client_secret_authentication.py +14 -0
  112. office365/directory/authentication/oidc_inbound_claim_mapping_override.py +23 -0
  113. office365/directory/authentication/oidc_private_jwt_key_client_authentication.py +10 -0
  114. office365/directory/authentication/signing_certificate_update_status.py +16 -0
  115. office365/directory/authentication/strength/root.py +39 -0
  116. office365/directory/authentication/strength/usage.py +4 -0
  117. office365/directory/certificates/authority.py +5 -0
  118. office365/directory/certificates/pkcs12_certificate.py +15 -0
  119. office365/directory/certificates/self_signed.py +4 -0
  120. office365/directory/certificates/x509/issuer_hints_configuration.py +2 -1
  121. office365/directory/connected_organization_members.py +15 -0
  122. office365/directory/connection_info.py +14 -0
  123. office365/directory/domains/state.py +13 -1
  124. office365/directory/domains/verified.py +14 -4
  125. office365/directory/extensions/custom/http_request_endpoint.py +16 -0
  126. office365/directory/groups/access_type.py +15 -0
  127. office365/directory/groups/group_members.py +15 -0
  128. office365/directory/groups/setting_template_value.py +17 -0
  129. office365/directory/identities/application_context.py +15 -0
  130. office365/directory/identities/application_enforced_restrictions_session_control.py +10 -0
  131. office365/directory/identities/auth_context.py +14 -0
  132. office365/directory/identities/authentication_flow.py +15 -0
  133. office365/directory/identities/conditional_access_root.py +35 -3
  134. office365/directory/identities/conditional_access_session_control.py +14 -0
  135. office365/directory/identities/ip_range.py +10 -0
  136. office365/directory/identities/on_fraud_protection_load_start_external_users_auth_handler.py +15 -0
  137. office365/directory/identities/on_interactive_auth_flow_start_external_users_self_service_sign_up.py +14 -0
  138. office365/directory/identities/on_interactive_auth_flow_start_handler.py +10 -0
  139. office365/directory/identities/on_otp_send_custom_extension_handler.py +17 -0
  140. office365/directory/identities/on_otp_send_handler.py +10 -0
  141. office365/directory/identities/on_password_submit_handler.py +10 -0
  142. office365/directory/identities/providers/on_authentication_method_load_start_external_users_self_service_sign_up.py +16 -0
  143. office365/directory/identities/providers/on_fraud_protection_load_start_handler.py +10 -0
  144. office365/directory/identities/providers/verified_id_profile_state.py +13 -0
  145. office365/directory/identities/providers/verified_id_usage_configuration_purpose.py +14 -0
  146. office365/directory/identities/riskPrevention/web_application_firewall_dns_configuration.py +21 -0
  147. office365/directory/identities/riskPrevention/web_application_firewall_verification_result.py +23 -0
  148. office365/directory/identities/riskPrevention/web_application_firewall_verified_details.py +8 -1
  149. office365/directory/identities/sign_in_context.py +10 -0
  150. office365/directory/identities/userflows/user_attribute_values_item.py +16 -0
  151. office365/directory/identities/userflows/user_flow_api_connector_configuration.py +16 -0
  152. office365/directory/identitygovernance/accessreview/custom_data_provided_resource_upload_session_request.py +12 -0
  153. office365/directory/identitygovernance/accessreview/custom_data_provided_resource_upload_stats.py +15 -0
  154. office365/directory/identitygovernance/accessreview/disable_and_delete_user_apply_action.py +10 -0
  155. office365/directory/identitygovernance/accessreview/error.py +10 -0
  156. office365/directory/identitygovernance/accessreview/history/definition.py +3 -3
  157. office365/directory/identitygovernance/accessreview/history_schedule_settings.py +16 -0
  158. office365/directory/identitygovernance/accessreview/inactive_users_query_scope.py +15 -0
  159. office365/directory/identitygovernance/accessreview/instance.py +2 -2
  160. office365/directory/identitygovernance/accessreview/instance_decision_item_access_package_assignment_policy_resource.py +15 -0
  161. office365/directory/identitygovernance/accessreview/instance_decision_item_access_package_resource.py +15 -0
  162. office365/directory/identitygovernance/accessreview/instance_decision_item_azure_role_resource.py +17 -0
  163. office365/directory/identitygovernance/accessreview/instance_decision_item_resource.py +16 -0
  164. office365/directory/identitygovernance/accessreview/instance_decision_item_service_principal_resource.py +16 -0
  165. office365/directory/identitygovernance/accessreview/notification_recipient_item.py +20 -0
  166. office365/directory/identitygovernance/accessreview/notification_recipient_query_scope.py +16 -0
  167. office365/directory/identitygovernance/accessreview/notification_recipients_type.py +16 -0
  168. office365/directory/identitygovernance/accessreview/notify_members.py +14 -0
  169. office365/directory/identitygovernance/accessreview/principal_resource_memberships_scope.py +20 -0
  170. office365/directory/identitygovernance/accessreview/principal_scope.py +12 -0
  171. office365/directory/identitygovernance/accessreview/query_scope.py +16 -0
  172. office365/directory/identitygovernance/accessreview/recommendation_insight_setting.py +10 -0
  173. office365/directory/identitygovernance/accessreview/remove_access_apply_action.py +10 -0
  174. office365/directory/identitygovernance/accessreview/resource_scope.py +15 -0
  175. office365/directory/identitygovernance/accessreview/reviewer_scope.py +17 -0
  176. office365/directory/identitygovernance/accessreview/schedule/settings.py +33 -1
  177. office365/directory/identitygovernance/accessreview/stage.py +1 -1
  178. office365/directory/identitygovernance/accessreview/stage_settings.py +33 -0
  179. office365/directory/identitygovernance/accessreview/target_owners.py +17 -0
  180. office365/directory/identitygovernance/activate_processing_result_scope.py +3 -0
  181. office365/directory/identitygovernance/activate_run_scope.py +2 -0
  182. office365/directory/identitygovernance/appconsent/request_scope.py +8 -1
  183. office365/directory/identitygovernance/attribute_set_entry.py +15 -0
  184. office365/directory/identitygovernance/awaited_workflow_processing_result.py +17 -0
  185. office365/directory/identitygovernance/cancel_runs_scope.py +16 -0
  186. office365/directory/identitygovernance/cancel_scope.py +10 -0
  187. office365/directory/identitygovernance/content_base.py +10 -0
  188. office365/directory/identitygovernance/content_category.py +24 -0
  189. office365/directory/identitygovernance/count_based_quarantine_condition.py +14 -0
  190. office365/directory/identitygovernance/custom_task_extension_callout_data.py +4 -0
  191. office365/directory/identitygovernance/custom_task_extension_response_data.py +21 -0
  192. office365/directory/identitygovernance/directory_object_workflow_subject.py +15 -0
  193. office365/directory/identitygovernance/entitlementmanagement/accesspackage/answer.py +16 -0
  194. office365/directory/identitygovernance/entitlementmanagement/accesspackage/answer_choice.py +22 -0
  195. office365/directory/identitygovernance/entitlementmanagement/accesspackage/answer_string.py +14 -0
  196. office365/directory/identitygovernance/entitlementmanagement/accesspackage/approval_stage.py +36 -0
  197. office365/directory/identitygovernance/entitlementmanagement/accesspackage/approver_information_visibility.py +14 -0
  198. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_approval_settings.py +23 -0
  199. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_policy_scope.py +17 -0
  200. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_request_callback_data.py +20 -0
  201. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_request_parameters.py +14 -0
  202. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_request_requirements.py +25 -0
  203. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_requestor_settings.py +25 -0
  204. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_review_settings.py +29 -0
  205. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignmentfilterbycurrentuseroptions.py +2 -0
  206. office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignmentrequestfilterbycurrentuseroptions.py +4 -0
  207. office365/directory/identitygovernance/entitlementmanagement/accesspackage/automatic_request_settings.py +17 -0
  208. office365/directory/identitygovernance/entitlementmanagement/accesspackage/custom_data_provided_resource_upload_status.py +14 -0
  209. office365/directory/identitygovernance/entitlementmanagement/accesspackage/custom_extension_callout_instance.py +21 -0
  210. office365/directory/identitygovernance/entitlementmanagement/accesspackage/dynamic_approval_stage.py +10 -0
  211. office365/directory/identitygovernance/entitlementmanagement/accesspackage/expiration_pattern.py +20 -0
  212. office365/directory/identitygovernance/entitlementmanagement/accesspackage/localized_text.py +15 -0
  213. office365/directory/identitygovernance/entitlementmanagement/accesspackage/notification_settings.py +14 -0
  214. office365/directory/identitygovernance/entitlementmanagement/accesspackage/request_approval_stage_callback_configuration.py +10 -0
  215. office365/directory/identitygovernance/entitlementmanagement/accesspackage/requesttype.py +1 -0
  216. office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute.py +26 -0
  217. office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute_destination.py +10 -0
  218. office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute_question.py +15 -0
  219. office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute_source.py +10 -0
  220. office365/directory/identitygovernance/entitlementmanagement/accesspackage/subject_lifecycle.py +14 -0
  221. office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_filter_by_current_user_options.py +14 -0
  222. office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_reason.py +10 -0
  223. office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_related_people_based.py +17 -0
  224. office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_related_people_insight_level.py +14 -0
  225. office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_self_assignment_history_based.py +16 -0
  226. office365/directory/identitygovernance/entitlementmanagement/accesspackage/user_directory_attribute_store.py +10 -0
  227. office365/directory/identitygovernance/entitlementmanagement/assignment_request_approval_stage_callback_data.py +17 -0
  228. office365/directory/identitygovernance/entitlementmanagement/azure_active_directory_tenant.py +15 -0
  229. office365/directory/identitygovernance/entitlementmanagement/domain_identity_source.py +15 -0
  230. office365/directory/identitygovernance/entitlementmanagement/fallback_to_microsoft_provider_on_error.py +12 -0
  231. office365/directory/identitygovernance/entitlementmanagement/identity_source.py +10 -0
  232. office365/directory/identitygovernance/entitlementmanagement/schedule.py +21 -0
  233. office365/directory/identitygovernance/entitlementmanagement/social_identity_source.py +18 -0
  234. office365/directory/identitygovernance/guest_sponsor_trigger.py +14 -0
  235. office365/directory/identitygovernance/percentage_based_quarantine_condition.py +14 -0
  236. office365/directory/identitygovernance/preview_failed_task.py +17 -0
  237. office365/directory/identitygovernance/process_content_metadata_base.py +26 -0
  238. office365/directory/identitygovernance/provisioning_attribute_mapping.py +10 -0
  239. office365/directory/identitygovernance/provisioning_object_workflow_subject.py +19 -0
  240. office365/directory/identitygovernance/quarantine_condition.py +10 -0
  241. office365/directory/identitygovernance/quarantine_configuration.py +20 -0
  242. office365/directory/identitygovernance/quarantine_details.py +18 -0
  243. office365/directory/identitygovernance/resource_access_detail.py +23 -0
  244. office365/directory/identitygovernance/subject_summary.py +18 -0
  245. office365/directory/identitygovernance/termsofuse/agreement_file_data.py +14 -0
  246. office365/directory/identitygovernance/termsofuse/terms_expiration.py +16 -0
  247. office365/directory/identitygovernance/text_content.py +14 -0
  248. office365/directory/identitygovernance/workflow.py +23 -0
  249. office365/directory/identitygovernance/workflow_setting.py +15 -0
  250. office365/directory/identitygovernance/workflow_subject.py +10 -0
  251. office365/directory/insights/office_graph.py +7 -6
  252. office365/directory/invitations/invitation.py +45 -2
  253. office365/directory/licenses/service_plan_info.py +4 -0
  254. office365/directory/licenses/units_detail.py +4 -0
  255. office365/directory/objects/collection.py +34 -8
  256. office365/directory/objects/service_provisioning_xml_error.py +14 -0
  257. office365/directory/permissions/comment_action.py +18 -0
  258. office365/directory/permissions/create_action.py +10 -0
  259. office365/directory/permissions/default_user_role.py +16 -1
  260. office365/directory/permissions/delete_action.py +15 -0
  261. office365/directory/permissions/email_identity.py +7 -9
  262. office365/directory/policies/all_devices_assignment_target.py +12 -0
  263. office365/directory/policies/all_domains.py +10 -0
  264. office365/directory/policies/all_licensed_users_assignment_target.py +10 -0
  265. office365/directory/policies/allowedtargetscope.py +1 -0
  266. office365/directory/policies/app_management_application_configuration.py +15 -0
  267. office365/directory/policies/app_management_configuration.py +22 -0
  268. office365/directory/policies/app_management_policy_actor_exemptions.py +18 -0
  269. office365/directory/policies/app_management_service_principal_configuration.py +10 -0
  270. office365/directory/policies/authentication_combination_configuration.py +18 -0
  271. office365/directory/policies/authentication_context_class_reference.py +26 -0
  272. office365/directory/policies/authentication_methods.py +59 -0
  273. office365/directory/policies/authentication_strength.py +65 -8
  274. office365/directory/policies/azure_ad_registration_policy.py +16 -0
  275. office365/directory/policies/ca_policies_deletable_root.py +33 -0
  276. office365/directory/policies/claims_mapping_policy.py +7 -0
  277. office365/directory/policies/cloud_app_security_session_control.py +15 -0
  278. office365/directory/policies/conditionalaccess/all_external_tenants.py +10 -0
  279. office365/directory/policies/conditionalaccess/applications.py +20 -0
  280. office365/directory/policies/conditionalaccess/authentication_flows.py +15 -0
  281. office365/directory/policies/conditionalaccess/client_applications.py +18 -0
  282. office365/directory/policies/conditionalaccess/condition_set.py +42 -0
  283. office365/directory/policies/conditionalaccess/device_and_app_management_assignment_target.py +10 -0
  284. office365/directory/policies/conditionalaccess/device_info.py +43 -0
  285. office365/directory/policies/conditionalaccess/devices.py +15 -0
  286. office365/directory/policies/conditionalaccess/enumerated_external_tenants.py +15 -0
  287. office365/directory/policies/conditionalaccess/external_tenants.py +17 -0
  288. office365/directory/policies/conditionalaccess/filter.py +16 -0
  289. office365/directory/policies/conditionalaccess/grant_controls.py +24 -0
  290. office365/directory/policies/conditionalaccess/grantcontrol.py +1 -0
  291. office365/directory/policies/conditionalaccess/guests_or_external_users.py +19 -0
  292. office365/directory/policies/conditionalaccess/locations.py +16 -0
  293. office365/directory/policies/conditionalaccess/persistent_browser_session_control.py +15 -0
  294. office365/directory/policies/conditionalaccess/platforms.py +21 -0
  295. office365/directory/policies/conditionalaccess/policy_deletable_item.py +17 -0
  296. office365/directory/policies/conditionalaccess/policy_detail.py +19 -0
  297. office365/directory/policies/conditionalaccess/secure_sign_in_session_control.py +10 -0
  298. office365/directory/policies/conditionalaccess/service_principal_sign_in.py +14 -0
  299. office365/directory/policies/conditionalaccess/session_controls.py +32 -0
  300. office365/directory/policies/conditionalaccess/sign_in_conditions.py +29 -0
  301. office365/directory/policies/conditionalaccess/sign_in_frequency_session_control.py +24 -0
  302. office365/directory/policies/conditionalaccess/sign_in_identity.py +10 -0
  303. office365/directory/policies/conditionalaccess/user_action_context.py +15 -0
  304. office365/directory/policies/conditionalaccess/user_sign_in.py +19 -0
  305. office365/directory/policies/conditionalaccess/users.py +29 -0
  306. office365/directory/policies/crosstenant/app_service_connect_setting.py +19 -0
  307. office365/directory/policies/crosstenant/b2_b_setting.py +22 -0
  308. office365/directory/policies/crosstenant/inbound_trust.py +16 -0
  309. office365/directory/policies/crosstenant/m365_collaboration_inbound_setting.py +17 -0
  310. office365/directory/policies/crosstenant/m365_collaboration_outbound_setting.py +19 -0
  311. office365/directory/policies/crosstenant/target.py +16 -0
  312. office365/directory/policies/crosstenant/target_configuration.py +24 -0
  313. office365/directory/policies/crosstenant/tenant_restrictions.py +15 -0
  314. office365/directory/policies/crosstenant/user_sync_inbound.py +14 -0
  315. office365/directory/policies/custom_app_management_application_configuration.py +15 -0
  316. office365/directory/policies/custom_app_management_configuration.py +19 -0
  317. office365/directory/policies/default_invitation_redemption_identity_provider_configuration.py +10 -0
  318. office365/directory/policies/devices_filter.py +20 -0
  319. office365/directory/policies/enumerated_domains.py +15 -0
  320. office365/directory/policies/face_check_configuration.py +15 -0
  321. office365/directory/policies/group_scope.py +10 -0
  322. office365/directory/policies/identifier_uri_configuration.py +16 -0
  323. office365/directory/policies/inbound_outbound_policy_configuration.py +15 -0
  324. office365/directory/policies/invitation_redemption_identity_provider_configuration.py +19 -0
  325. office365/directory/policies/match_confidence_level.py +13 -0
  326. office365/directory/policies/protected_application_metadata.py +15 -0
  327. office365/directory/policies/protection_policy_artifact_count.py +17 -0
  328. office365/directory/policies/restrict_access_action.py +10 -0
  329. office365/directory/policies/restrict_access_action_base.py +15 -0
  330. office365/directory/policies/retention_setting.py +16 -0
  331. office365/directory/policies/root.py +14 -1
  332. office365/directory/policies/scope_base.py +14 -0
  333. office365/directory/policies/security_defaults.py +16 -0
  334. office365/directory/policies/self_service_sign_up_authentication_flow_configuration.py +14 -0
  335. office365/directory/policies/tenant_scope.py +10 -0
  336. office365/directory/policies/unifiedrolemanagement/role_assignment_schedule_filter_by_current_user_options.py +12 -0
  337. office365/directory/policies/unifiedrolemanagement/role_assignment_schedule_instance_filter_by_current_user_options.py +12 -0
  338. office365/directory/policies/unifiedrolemanagement/role_assignment_schedule_request_filter_by_current_user_options.py +14 -0
  339. office365/directory/policies/unifiedrolemanagement/role_eligibility_schedule_filter_by_current_user_options.py +12 -0
  340. office365/directory/policies/unifiedrolemanagement/role_eligibility_schedule_instance_filter_by_current_user_options.py +12 -0
  341. office365/directory/policies/unifiedrolemanagement/role_eligibility_schedule_request_filter_by_current_user_options.py +14 -0
  342. office365/directory/policies/user_scope.py +10 -0
  343. office365/directory/policies/validating_domains.py +15 -0
  344. office365/directory/policies/verified_id_profile_configuration.py +15 -0
  345. office365/directory/policies/verified_id_usage_configuration.py +14 -0
  346. office365/directory/protection/riskyusers/activity.py +7 -1
  347. office365/directory/protection/riskyusers/risk_service_principal_activity.py +17 -0
  348. office365/directory/recovery/recovery_action.py +14 -0
  349. office365/directory/recovery/recovery_status.py +18 -0
  350. office365/directory/recovery/resource_type_name.py +23 -0
  351. office365/directory/requestor_manager.py +14 -0
  352. office365/directory/rolemanagement/unifiedrole/notification_recipients.py +20 -0
  353. office365/directory/rolemanagement/unifiedrole/permission.py +4 -0
  354. office365/directory/security/account.py +0 -1
  355. office365/directory/security/action.py +17 -0
  356. office365/directory/security/ai_agent_platform.py +15 -0
  357. office365/directory/security/alerts/alert.py +17 -0
  358. office365/directory/security/{blob_container_evidence.py → alerts/blob_container_evidence.py} +1 -1
  359. office365/directory/security/{blob_evidence.py → alerts/blob_evidence.py} +1 -1
  360. office365/directory/security/alerts/connection_direction.py +14 -0
  361. office365/directory/security/{sas_token_evidence.py → alerts/sas_token_evidence.py} +1 -1
  362. office365/directory/security/alerts/status.py +1 -2
  363. office365/directory/security/analyzed_message_evidence.py +3 -0
  364. office365/directory/security/antispam_directionality.py +15 -0
  365. office365/directory/security/attacksimulations/account_target_content_type.py +14 -0
  366. office365/directory/security/audit/audit_data.py +15 -0
  367. office365/directory/security/audit/audit_log_query_status.py +16 -0
  368. office365/directory/security/audit/multi_tenant_organization_join_request_transition_details.py +20 -0
  369. office365/directory/security/audit/multi_tenant_organization_member_transition_details.py +22 -0
  370. office365/directory/security/audit/whois_domain_status.py +16 -0
  371. office365/directory/security/{whois_record.py → audit/whois_record.py} +1 -1
  372. office365/directory/security/cases/additionaldataoptions.py +1 -0
  373. office365/directory/security/cases/ediscovery.py +3 -0
  374. office365/directory/security/cloud_application_evidence.py +3 -1
  375. office365/directory/security/cloud_logon_session_evidence.py +2 -0
  376. office365/directory/security/{analyzed_email_attachment.py → collaboration/analyzed_email_attachment.py} +3 -1
  377. office365/directory/security/{collaboration_root.py → collaboration/collaboration_root.py} +1 -1
  378. office365/directory/security/container_evidence.py +4 -0
  379. office365/directory/security/container_image_evidence.py +4 -1
  380. office365/directory/security/correlation_reason.py +28 -0
  381. office365/directory/security/datasecurity/classifcation_error_base.py +18 -0
  382. office365/directory/security/{audit_data.py → datasecurity/classification_error.py} +2 -2
  383. office365/directory/security/datasecurity/classification_inner_error.py +18 -0
  384. office365/directory/security/datasecurity/compute_rights_and_inheritance_result.py +17 -0
  385. office365/directory/security/datasecurity/custom_metadata_dictionary.py +10 -0
  386. office365/directory/security/datasecurity/dlp_action_info.py +15 -0
  387. office365/directory/security/{data_security → datasecurity}/governance.py +1 -1
  388. office365/directory/security/datasecurity/integrated_application_metadata.py +15 -0
  389. office365/directory/security/datasecurity/policy_binding.py +17 -0
  390. office365/directory/security/datasecurity/policy_location.py +14 -0
  391. office365/directory/security/datasecurity/policy_location_application.py +10 -0
  392. office365/directory/security/datasecurity/policy_location_domain.py +10 -0
  393. office365/directory/security/datasecurity/policy_location_url.py +10 -0
  394. office365/directory/security/datasecurity/policy_scope_base.py +26 -0
  395. office365/directory/security/datasecurity/policy_tenant_scope.py +15 -0
  396. office365/directory/security/datasecurity/policy_tip_action.py +16 -0
  397. office365/directory/security/datasecurity/policy_user_scope.py +10 -0
  398. office365/directory/security/datasecurity/process_content_batch_request.py +17 -0
  399. office365/directory/security/datasecurity/process_content_request.py +24 -0
  400. office365/directory/security/datasecurity/process_content_response.py +24 -0
  401. office365/directory/security/datasecurity/process_content_responses.py +16 -0
  402. office365/directory/security/datasecurity/process_conversation_metadata.py +27 -0
  403. office365/directory/security/datasecurity/process_file_metadata.py +16 -0
  404. office365/directory/security/datasecurity/protected_content.py +16 -0
  405. office365/directory/security/delivery_action.py +16 -0
  406. office365/directory/security/delivery_location.py +20 -0
  407. office365/directory/security/detonation_details.py +11 -0
  408. office365/directory/security/device_evidence.py +11 -0
  409. office365/directory/security/dns_evidence.py +6 -1
  410. office365/directory/security/event_source.py +14 -0
  411. office365/directory/security/file_plan_applied_category.py +4 -1
  412. office365/directory/security/formatted_content.py +16 -0
  413. office365/directory/security/indicator_source.py +14 -0
  414. office365/directory/security/intelligence_profile_kind.py +13 -0
  415. office365/directory/security/investigation_state.py +29 -0
  416. office365/directory/security/invoke_action_result.py +0 -1
  417. office365/directory/security/io_t_device_evidence.py +6 -1
  418. office365/directory/security/ip_evidence.py +2 -0
  419. office365/directory/security/kubernetes_controller_evidence.py +2 -0
  420. office365/directory/security/kubernetes_pod_evidence.py +10 -0
  421. office365/directory/security/labels/retention/duration_in_days.py +3 -0
  422. office365/directory/security/mailbox_configuration_type.py +16 -0
  423. office365/directory/security/mailbox_evidence.py +3 -1
  424. office365/directory/security/onboarding_status.py +15 -0
  425. office365/directory/security/passive_dns_record.py +1 -1
  426. office365/directory/security/processing_error.py +15 -0
  427. office365/directory/security/protocol_type.py +13 -0
  428. office365/directory/security/public_error_response.py +4 -1
  429. office365/directory/security/query_type.py +13 -0
  430. office365/directory/security/recipient_type.py +13 -0
  431. office365/directory/security/remediation_action.py +17 -0
  432. office365/directory/security/remediation_severity.py +14 -0
  433. office365/directory/security/security.py +1 -1
  434. office365/directory/security/sensor_candidate_activation_mode.py +13 -0
  435. office365/directory/security/service_principal_type.py +15 -0
  436. office365/directory/security/service_source.py +25 -0
  437. office365/directory/security/ssl_certificate.py +1 -1
  438. office365/directory/security/subdomain.py +1 -1
  439. office365/directory/security/subjectrightsrequests/all_mailbox_location.py +10 -0
  440. office365/directory/security/subjectrightsrequests/all_site_location.py +10 -0
  441. office365/directory/security/subjectrightsrequests/data_subject.py +17 -0
  442. office365/directory/security/subjectrightsrequests/detail.py +26 -0
  443. office365/directory/security/subjectrightsrequests/enumerated_mailbox_location.py +15 -0
  444. office365/directory/security/subjectrightsrequests/enumerated_site_location.py +15 -0
  445. office365/directory/security/subjectrightsrequests/history.py +22 -0
  446. office365/directory/security/subjectrightsrequests/mailbox_location.py +10 -0
  447. office365/directory/security/subjectrightsrequests/site_location.py +10 -0
  448. office365/directory/security/subjectrightsrequests/stage_detail.py +19 -0
  449. office365/directory/security/teams_delivery_location.py +15 -0
  450. office365/directory/security/teams_message_delivery_action.py +16 -0
  451. office365/directory/security/threat_type.py +16 -0
  452. office365/directory/security/{host.py → threatintelligence/host.py} +8 -8
  453. office365/directory/security/{host_component.py → threatintelligence/host_component.py} +1 -1
  454. office365/directory/security/{host_cookie.py → threatintelligence/host_cookie.py} +1 -1
  455. office365/directory/security/{host_pair.py → threatintelligence/host_pair.py} +1 -1
  456. office365/directory/security/{host_port.py → threatintelligence/host_port.py} +1 -1
  457. office365/directory/security/threatintelligence/host_port_banner.py +19 -0
  458. office365/directory/security/threatintelligence/host_port_component.py +19 -0
  459. office365/directory/security/threatintelligence/host_port_protocol.py +13 -0
  460. office365/directory/security/threatintelligence/host_port_status.py +14 -0
  461. office365/directory/security/threatintelligence/host_reputation_classification.py +15 -0
  462. office365/directory/security/threatintelligence/host_reputation_rule.py +16 -0
  463. office365/directory/security/threatintelligence/host_reputation_rule_severity.py +15 -0
  464. office365/directory/security/{host_ssl_certificate.py → threatintelligence/host_ssl_certificate.py} +1 -1
  465. office365/directory/security/{host_tracker.py → threatintelligence/host_tracker.py} +1 -1
  466. office365/directory/security/threatintelligence/hosts/__init__.py +0 -0
  467. office365/directory/security/threatintelligence/threat_intelligence.py +9 -9
  468. office365/directory/security/threatintelligence/whoisrecords/__init__.py +0 -0
  469. office365/directory/security/timeline_event_type.py +20 -0
  470. office365/directory/security/user_evidence.py +2 -0
  471. office365/directory/security/verdict_category.py +20 -0
  472. office365/directory/security/vm_cloud_provider.py +13 -0
  473. office365/directory/security/vulnerability_severity.py +16 -0
  474. office365/directory/security/whois_base_record.py +1 -1
  475. office365/directory/serviceprincipals/delegated_permission_classification.py +27 -0
  476. office365/directory/serviceprincipals/remote_desktop_security_configuration.py +16 -0
  477. office365/directory/single_service_principal.py +15 -0
  478. office365/directory/single_user.py +15 -0
  479. office365/directory/synchronization/attribute_mapping.py +23 -0
  480. office365/directory/synchronization/error.py +10 -1
  481. office365/directory/synchronization/job_application_parameters.py +19 -0
  482. office365/directory/synchronization/job_restart_criteria.py +7 -1
  483. office365/directory/synchronization/job_subject.py +17 -0
  484. office365/directory/synchronization/linked_objects.py +22 -0
  485. office365/directory/synchronization/metadata_entry.py +16 -0
  486. office365/directory/synchronization/on_premises_accidental_deletion_prevention.py +20 -0
  487. office365/directory/synchronization/on_premises_directory_synchronization_configuration.py +19 -0
  488. office365/directory/synchronization/on_premises_directory_synchronization_feature.py +33 -0
  489. office365/directory/synchronization/progress.py +4 -0
  490. office365/directory/synchronization/quarantine.py +11 -0
  491. office365/directory/synchronization/rule.py +32 -0
  492. office365/directory/synchronization/schedule.py +18 -0
  493. office365/directory/synchronization/secret_key_string_value_pair.py +16 -0
  494. office365/directory/synchronization/status.py +17 -3
  495. office365/directory/synchronization/task_execution.py +26 -1
  496. office365/directory/target_agent_identity_sponsors_or_owners.py +10 -0
  497. office365/directory/target_application_owners.py +10 -0
  498. office365/directory/target_manager.py +14 -0
  499. office365/directory/target_user_sponsors.py +10 -0
  500. office365/directory/tenantinformation/information.py +4 -0
  501. office365/directory/users/activities/activity.py +42 -8
  502. office365/directory/users/settings.py +5 -13
  503. office365/directory/users/user.py +4 -3
  504. office365/directory/users/work_location_update_scope.py +13 -0
  505. office365/education/related_contact.py +19 -0
  506. office365/entity_collection.py +0 -20
  507. office365/externalconnectors/acl_type.py +16 -0
  508. office365/externalconnectors/binary_operator.py +12 -0
  509. office365/externalconnectors/connection_operation_status.py +15 -0
  510. office365/externalconnectors/connection_state.py +15 -0
  511. office365/externalconnectors/external_activity_type.py +15 -0
  512. office365/externalconnectors/external_item_content_type.py +13 -0
  513. office365/externalconnectors/identity_type.py +14 -0
  514. office365/externalconnectors/label.py +65 -0
  515. office365/externalconnectors/property_type.py +22 -0
  516. office365/externalconnectors/rule_operation.py +19 -0
  517. office365/graph_client.py +120 -16
  518. office365/graph_request.py +3 -1
  519. office365/intune/browser/browser_site_history.py +25 -0
  520. office365/intune/devices/alternative_security_id.py +5 -0
  521. office365/intune/devices/cloud_pc_launch_detail.py +22 -0
  522. office365/intune/devices/cloud_pc_windows_setting.py +14 -0
  523. office365/intune/devices/device_metadata.py +17 -0
  524. office365/intune/devices/enumerated_device_registration_membership.py +16 -0
  525. office365/intune/devices/imported_windows_autopilot_device_identity_import_status.py +15 -0
  526. office365/intune/devices/imported_windows_autopilot_device_identity_upload_status.py +14 -0
  527. office365/intune/devices/management/all_device_registration_membership.py +10 -0
  528. office365/intune/devices/management/device_protection_overview.py +24 -0
  529. office365/intune/devices/management/managed/managed.py +79 -0
  530. office365/intune/devices/management/managed/windows/autopilot_device_type.py +13 -0
  531. office365/intune/devices/management/managed/windows/defender_product_status.py +36 -0
  532. office365/intune/devices/management/managed/windows/information_protection_enforcement_level.py +14 -0
  533. office365/intune/devices/management/mobileapps/file_encryption_info.py +20 -0
  534. office365/intune/devices/management/mobileapps/ios/ios_device_type.py +15 -0
  535. office365/intune/devices/management/user_experience_analytics_settings.py +14 -0
  536. office365/intune/devices/management/user_experience_analytics_summarized_by.py +17 -0
  537. office365/intune/devices/management/virtualendpoint/cloudpcs/exclusion_group_assignment_target.py +10 -0
  538. office365/intune/devices/management/virtualendpoint/cloudpcs/group_assignment_target.py +16 -0
  539. office365/intune/devices/management/virtualendpoint/provisioningpolicies/microsoft_managed_desktop.py +18 -0
  540. office365/intune/devices/management/windows_malware_overview.py +16 -0
  541. office365/intune/devices/no_device_registration_membership.py +10 -0
  542. office365/intune/devices/operating_system_specifications.py +15 -0
  543. office365/intune/enrollment_state.py +15 -0
  544. office365/intune/instance_resource_access.py +19 -0
  545. office365/intune/organizations/content_customization.py +15 -0
  546. office365/intune/organizations/login_page_layout_configuration.py +17 -0
  547. office365/intune/organizations/login_page_text_visibility_settings.py +19 -0
  548. office365/intune/organizations/physical_office_address.py +19 -0
  549. office365/intune/organizations/privacy_profile.py +15 -0
  550. office365/intune/policies/azure_ad_join_policy.py +18 -0
  551. office365/intune/policies/local_admin_password_settings.py +14 -0
  552. office365/intune/policies/local_admin_settings.py +16 -0
  553. office365/intune/print/printers/incompatible_printer_settings.py +13 -0
  554. office365/intune/print/user_print.py +0 -2
  555. office365/intune/process_integrity_level.py +17 -0
  556. office365/intune/resource_permission.py +15 -0
  557. office365/migration/__init__.py +122 -7
  558. office365/migration/_util.py +73 -0
  559. office365/migration/adapters/__init__.py +94 -0
  560. office365/migration/adapters/filesystem.py +174 -0
  561. office365/migration/assessment/__init__.py +27 -0
  562. office365/migration/assessment/containers.py +24 -0
  563. office365/migration/assessment/export.py +51 -0
  564. office365/migration/assessment/registry.py +60 -0
  565. office365/migration/assessment/report.py +142 -31
  566. office365/migration/assessment/runner.py +57 -0
  567. office365/migration/assessment/scanners/__init__.py +13 -0
  568. office365/migration/assessment/scanners/base.py +135 -0
  569. office365/migration/base.py +53 -4
  570. office365/migration/checkpoint.py +76 -0
  571. office365/migration/job.py +209 -0
  572. office365/migration/manifest.py +71 -0
  573. office365/migration/outlook/__init__.py +20 -0
  574. office365/migration/outlook/assessor.py +73 -0
  575. office365/migration/outlook/registry.py +27 -0
  576. office365/migration/outlook/scanner.py +82 -0
  577. office365/migration/report.py +111 -0
  578. office365/migration/runner.py +208 -0
  579. office365/migration/server_job.py +90 -0
  580. office365/migration/session.py +105 -0
  581. office365/migration/sharepoint/__init__.py +53 -0
  582. office365/migration/sharepoint/adapters.py +354 -0
  583. office365/migration/sharepoint/assessor.py +312 -0
  584. office365/migration/sharepoint/registry.py +48 -0
  585. office365/migration/sharepoint/scanners/__init__.py +27 -0
  586. office365/migration/sharepoint/scanners/fields.py +52 -0
  587. office365/migration/sharepoint/scanners/files.py +25 -0
  588. office365/migration/sharepoint/scanners/large_sites.py +124 -0
  589. office365/migration/sharepoint/scanners/locked_sites.py +38 -0
  590. office365/migration/sharepoint/scanners/paths.py +45 -0
  591. office365/migration/sharepoint/scanners/permissions.py +24 -0
  592. office365/migration/sharepoint/scanners/summary.py +37 -0
  593. office365/migration/sharepoint/tenant_assessor.py +93 -0
  594. office365/migration/sharepoint/transfer.py +92 -0
  595. office365/migration/teams/__init__.py +29 -0
  596. office365/migration/teams/_extract.py +108 -0
  597. office365/migration/teams/adapters.py +190 -0
  598. office365/migration/teams/models.py +73 -0
  599. office365/migration/validators.py +65 -0
  600. office365/onedrive/base_item.py +10 -15
  601. office365/onedrive/contenttypes/content_type.py +8 -13
  602. office365/onedrive/documentsets/version.py +3 -6
  603. office365/onedrive/driveitems/audio.py +16 -0
  604. office365/onedrive/driveitems/bundle.py +4 -0
  605. office365/onedrive/driveitems/driveItem.py +126 -24
  606. office365/onedrive/driveitems/image.py +4 -0
  607. office365/onedrive/driveitems/malware.py +14 -0
  608. office365/onedrive/driveitems/package.py +14 -0
  609. office365/onedrive/driveitems/photo.py +13 -1
  610. office365/onedrive/driveitems/publication_facet.py +4 -0
  611. office365/onedrive/driveitems/remote_item.py +18 -0
  612. office365/onedrive/driveitems/special_folder.py +4 -0
  613. office365/onedrive/driveitems/uploadable_properties.py +2 -2
  614. office365/onedrive/driveitems/video.py +15 -1
  615. office365/onedrive/drives/drive.py +9 -0
  616. office365/onedrive/drives/quota.py +9 -1
  617. office365/onedrive/files/file.py +4 -0
  618. office365/onedrive/files/system_info.py +4 -0
  619. office365/onedrive/filestorage/containertypes/app_permission.py +20 -1
  620. office365/onedrive/filestorage/containertypes/billing_classification.py +8 -0
  621. office365/onedrive/filestorage/containertypes/billing_status.py +7 -0
  622. office365/onedrive/filestorage/containertypes/settings_override.py +17 -0
  623. office365/onedrive/folders/folder.py +4 -0
  624. office365/onedrive/internal/paths/shared.py +1 -3
  625. office365/onedrive/internal/paths/site.py +2 -1
  626. office365/onedrive/listitems/collection.py +2 -2
  627. office365/onedrive/lists/info.py +4 -0
  628. office365/onedrive/operations/pending.py +4 -0
  629. office365/onedrive/operations/public_inner_error.py +21 -0
  630. office365/onedrive/sensitivitylabels/usagerights.py +1 -1
  631. office365/onedrive/share_point_migration_job_error_level.py +15 -0
  632. office365/onedrive/share_point_migration_object_type.py +20 -0
  633. office365/onedrive/shares/shared.py +4 -0
  634. office365/onedrive/sites/collection.py +4 -0
  635. office365/onedrive/sites/sites_with_root.py +3 -3
  636. office365/onedrive/sites/website.py +17 -0
  637. office365/onedrive/sites/website_type.py +15 -0
  638. office365/onedrive/termstore/groups/collection.py +6 -6
  639. office365/onedrive/termstore/groups/group.py +6 -1
  640. office365/onedrive/termstore/relation_type.py +13 -0
  641. office365/onedrive/termstore/sets/collection.py +6 -6
  642. office365/onedrive/termstore/store.py +14 -29
  643. office365/onedrive/termstore/store_manager.py +128 -0
  644. office365/onedrive/termstore/terms/collection.py +6 -6
  645. office365/onedrive/workbooks/charts/axes.py +4 -10
  646. office365/onedrive/workbooks/filter_criteria.py +9 -0
  647. office365/onedrive/workbooks/filter_datetime.py +15 -0
  648. office365/onedrive/workbooks/icon.py +7 -1
  649. office365/onedrive/workbooks/operations/error.py +4 -0
  650. office365/onedrive/workbooks/ranges/reference.py +4 -0
  651. office365/onedrive/workbooks/session_info.py +4 -0
  652. office365/onedrive/workbooks/sort_field.py +5 -0
  653. office365/onedrive/workbooks/worksheets/protection_options.py +4 -0
  654. office365/onedrive/workbooks/worksheets/worksheet.py +5 -3
  655. office365/onenote/pages/collection.py +1 -1
  656. office365/onenote/pages/page.py +5 -11
  657. office365/outlook/calendar/attendees/attendee.py +4 -0
  658. office365/outlook/calendar/attendees/availability.py +4 -0
  659. office365/outlook/calendar/attendees/base.py +4 -0
  660. office365/outlook/calendar/collection.py +7 -0
  661. office365/outlook/calendar/events/event.py +8 -14
  662. office365/outlook/calendar/events/reminder.py +4 -0
  663. office365/outlook/calendar/location_constraint.py +4 -0
  664. office365/outlook/calendar/meetingtimes/suggestion.py +8 -0
  665. office365/outlook/calendar/meetingtimes/suggestions_result.py +4 -0
  666. office365/outlook/calendar/meetingtimes/time_constraint.py +4 -0
  667. office365/outlook/calendar/response_status.py +7 -1
  668. office365/outlook/calendar/schedule/free_busy_error.py +15 -0
  669. office365/outlook/calendar/schedule/information.py +4 -0
  670. office365/outlook/calendar/schedule/item.py +4 -0
  671. office365/outlook/calendar/sharing/message_action.py +11 -1
  672. office365/outlook/calendar/timezones/base.py +4 -0
  673. office365/outlook/calendar/timezones/custom.py +9 -1
  674. office365/outlook/calendar/timezones/daylight_time_zone_offset.py +14 -0
  675. office365/outlook/calendar/working_hours.py +4 -0
  676. office365/outlook/check_in_method.py +15 -0
  677. office365/outlook/contacts/folders/collection.py +1 -1
  678. office365/outlook/convert_id_result.py +7 -1
  679. office365/outlook/item.py +3 -11
  680. office365/outlook/locale_info.py +4 -0
  681. office365/outlook/mail/attachments/attachment_item.py +7 -0
  682. office365/outlook/mail/attachments/collection.py +33 -18
  683. office365/outlook/mail/automaticreplies/mailtips.py +4 -0
  684. office365/outlook/mail/automaticreplies/setting.py +4 -0
  685. office365/outlook/mail/email_details.py +16 -0
  686. office365/outlook/mail/export_item_response.py +19 -0
  687. office365/outlook/mail/folders/folder.py +5 -11
  688. office365/outlook/mail/location.py +1 -1
  689. office365/outlook/mail/location_constraint_item.py +8 -1
  690. office365/outlook/mail/mailbox_item_import_session.py +16 -0
  691. office365/outlook/mail/messages/collection.py +1 -1
  692. office365/outlook/mail/messages/followup_flag.py +4 -0
  693. office365/outlook/mail/messages/internet_header.py +4 -0
  694. office365/outlook/mail/messages/message.py +21 -7
  695. office365/outlook/mail/messages/rules/actions.py +4 -0
  696. office365/outlook/mail/messages/rules/predicates.py +29 -0
  697. office365/outlook/mail/messages/rules/rule.py +1 -1
  698. office365/outlook/mail/messages/rules/size_range.py +15 -0
  699. office365/outlook/mail/patterned_recurrence.py +4 -0
  700. office365/outlook/mail/recurrence_pattern.py +4 -0
  701. office365/outlook/mail/recurrence_range.py +4 -0
  702. office365/outlook/mail/tips/error.py +7 -1
  703. office365/outlook/people/person_type.py +14 -0
  704. office365/outlook/place_feature_enablement.py +14 -0
  705. office365/outlook/resource_link.py +17 -0
  706. office365/outlook/resource_link_type.py +12 -0
  707. office365/outlook/scored_email_address.py +18 -0
  708. office365/outlook/timezones/information.py +4 -0
  709. office365/outlook/timezones/standard_time_zone_offset.py +20 -0
  710. office365/partners/billing/attribute_set.py +13 -0
  711. office365/partners/billing/billing_period.py +13 -0
  712. office365/partners/partners.py +5 -4
  713. office365/planner/buckets/collection.py +2 -2
  714. office365/planner/plans/details.py +3 -9
  715. office365/planner/user.py +6 -4
  716. office365/reports/internal/queries/create_report_query.py +26 -12
  717. office365/reports/print_usage.py +67 -0
  718. office365/reports/print_usage_by_printer.py +21 -0
  719. office365/reports/print_usage_by_user.py +16 -0
  720. office365/reports/relying_party_detailed_summary.py +70 -0
  721. office365/reports/root.py +77 -95
  722. office365/runtime/auth/authentication_context.py +41 -15
  723. office365/runtime/auth/entra/authentication_context.py +22 -2
  724. office365/runtime/auth/providers/acs_token_provider.py +6 -2
  725. office365/runtime/auth/providers/cookie_provider.py +7 -3
  726. office365/runtime/auth/providers/saml_token_provider.py +6 -2
  727. office365/runtime/auth/sts_profile.py +1 -1
  728. office365/runtime/client_object.py +50 -67
  729. office365/runtime/client_object_collection.py +297 -14
  730. office365/runtime/client_request_exception.py +63 -4
  731. office365/runtime/client_result.py +26 -18
  732. office365/runtime/client_runtime_context.py +232 -25
  733. office365/runtime/client_value.py +14 -40
  734. office365/runtime/client_value_collection.py +4 -8
  735. office365/runtime/converters/__init__.py +1 -0
  736. office365/runtime/converters/csv_reader.py +94 -0
  737. office365/runtime/converters/csv_writer.py +60 -0
  738. office365/runtime/converters/dataframe.py +122 -0
  739. office365/runtime/converters/excel.py +44 -0
  740. office365/runtime/converters/json_file.py +21 -0
  741. office365/runtime/converters/keyvalue.py +95 -0
  742. office365/runtime/converters/ndjson.py +17 -0
  743. office365/runtime/converters/records.py +82 -0
  744. office365/runtime/converters/scalars.py +128 -0
  745. office365/runtime/converters/value.py +186 -0
  746. office365/runtime/decorators.py +27 -0
  747. office365/runtime/http/mime.py +12 -0
  748. office365/runtime/http/throttling.py +205 -0
  749. office365/runtime/http/url.py +36 -0
  750. office365/runtime/odata/batch_util.py +92 -0
  751. office365/runtime/odata/query_options.py +26 -1
  752. office365/runtime/odata/request.py +27 -16
  753. office365/runtime/odata/type.py +47 -105
  754. office365/runtime/odata/v3/batch_request.py +88 -1
  755. office365/runtime/odata/v4/batch_request.py +88 -0
  756. office365/runtime/odata/v4/upload_session.py +4 -0
  757. office365/runtime/odata/v4/upload_session_request.py +26 -10
  758. office365/runtime/operations.py +135 -0
  759. office365/runtime/parallel.py +96 -0
  760. office365/runtime/paths/builder.py +4 -2
  761. office365/runtime/queries/batch.py +23 -14
  762. office365/runtime/queries/client_query.py +8 -10
  763. office365/runtime/queries/deferred.py +72 -0
  764. office365/runtime/queries/delete_entity.py +2 -2
  765. office365/runtime/queries/function.py +35 -1
  766. office365/runtime/queries/read_entity.py +23 -4
  767. office365/runtime/queries/update_entity.py +2 -2
  768. office365/runtime/queries/upload_session.py +1 -1
  769. office365/runtime/retry.py +137 -0
  770. office365/runtime/types/binary_content.py +14 -0
  771. office365/runtime/types/ipv4_cidr_range.py +14 -0
  772. office365/runtime/types/ipv6_cidr_range.py +14 -0
  773. office365/runtime/types/json.py +10 -0
  774. office365/runtime/types/odata_property.py +7 -0
  775. office365/runtime/types/public_error.py +23 -0
  776. office365/runtime/types/public_inner_error.py +21 -0
  777. office365/runtime/types/setting_value.py +15 -0
  778. office365/search/request.py +2 -2
  779. office365/sharepoint/agreements/summarydata.py +15 -5
  780. office365/sharepoint/authentication/auth_file_detonation_request_response.py +48 -0
  781. office365/sharepoint/authentication/spo_auth_file_detonation_request.py +7 -0
  782. office365/sharepoint/brandcenter/brand_font_file_delete_result.py +9 -0
  783. office365/sharepoint/changes/change.py +6 -0
  784. office365/sharepoint/changes/collection.py +1 -1
  785. office365/sharepoint/changes/item.py +4 -10
  786. office365/sharepoint/client_context.py +78 -33
  787. office365/sharepoint/clientsidecomponent/agreementssolutionfilecontext.py +1 -0
  788. office365/sharepoint/clientsidecomponent/spteamsappcomponent.py +3 -0
  789. office365/sharepoint/comments/comment.py +2 -10
  790. office365/sharepoint/comments/contentanchor.py +6 -0
  791. office365/sharepoint/compliance/store_proxy.py +306 -68
  792. office365/sharepoint/compliance/tags/tag.py +3 -0
  793. office365/sharepoint/containers/active/properties.py +3 -0
  794. office365/sharepoint/contentcenter/machinelearning/column_autofill_choice_settings.py +15 -0
  795. office365/sharepoint/contentcenter/machinelearning/column_autofill_preview_data.py +25 -0
  796. office365/sharepoint/contentcenter/machinelearning/column_autofill_preview_result.py +12 -0
  797. office365/sharepoint/contentcenter/machinelearning/hub.py +231 -29
  798. office365/sharepoint/contentcenter/machinelearning/list_autofill_entity_data.py +15 -0
  799. office365/sharepoint/contentcenter/machinelearning/list_autofill_item_results.py +18 -0
  800. office365/sharepoint/contentcenter/machinelearning/modeldependencies.py +4 -3
  801. office365/sharepoint/contentcenter/machinelearning/models/model.py +254 -0
  802. office365/sharepoint/contentcenter/machinelearning/publications/publication.py +177 -0
  803. office365/sharepoint/contentcenter/machinelearning/samples/sample.py +134 -0
  804. office365/sharepoint/contentcenter/machinelearning/sp_machine_learning_doc_lib_autofill_item_results.py +19 -0
  805. office365/sharepoint/contentcenter/machinelearning/workitems/item.py +149 -0
  806. office365/sharepoint/contenttypes/collection.py +9 -10
  807. office365/sharepoint/contenttypes/content_type.py +4 -10
  808. office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -7
  809. office365/sharepoint/directory/helper.py +5 -5
  810. office365/sharepoint/directory/multi_conditional_access_policy.py +37 -0
  811. office365/sharepoint/directory/named_location_policy.py +62 -0
  812. office365/sharepoint/directory/provider/provider.py +1 -1
  813. office365/sharepoint/entity.py +8 -4
  814. office365/sharepoint/eventreceivers/definition_collection.py +32 -0
  815. office365/sharepoint/fields/collection.py +165 -67
  816. office365/sharepoint/fields/field.py +4 -2
  817. office365/sharepoint/fields/name.py +11 -0
  818. office365/sharepoint/files/checked_out_file.py +2 -6
  819. office365/sharepoint/files/collection.py +75 -8
  820. office365/sharepoint/files/file.py +68 -6
  821. office365/sharepoint/files/file_url_virus_status_update.py +22 -0
  822. office365/sharepoint/files/versionbatchdeleteparameters.py +1 -0
  823. office365/sharepoint/files/versions/version.py +2 -8
  824. office365/sharepoint/folders/collection.py +5 -2
  825. office365/sharepoint/folders/folder.py +198 -26
  826. office365/sharepoint/internal/image_content_part.py +5 -0
  827. office365/sharepoint/internal/paths/web.py +3 -1
  828. office365/sharepoint/internal/sticky_routing_options.py +13 -0
  829. office365/sharepoint/likes/liked_by_information.py +2 -6
  830. office365/sharepoint/listitems/collection.py +28 -0
  831. office365/sharepoint/listitems/compliance_info.py +1 -0
  832. office365/sharepoint/listitems/form_update_value.py +2 -1
  833. office365/sharepoint/listitems/listdata_validation_exception_value.py +3 -1
  834. office365/sharepoint/listitems/listitem.py +5 -5
  835. office365/sharepoint/listitems/versions/version.py +3 -15
  836. office365/sharepoint/lists/batch_convert_item_result.py +19 -0
  837. office365/sharepoint/lists/batch_convert_result.py +17 -0
  838. office365/sharepoint/lists/collection.py +36 -0
  839. office365/sharepoint/lists/conversion_loss_item.py +13 -0
  840. office365/sharepoint/lists/conversion_loss_report.py +18 -0
  841. office365/sharepoint/lists/extended_share_point_permission_settings.py +17 -0
  842. office365/sharepoint/lists/list.py +95 -20
  843. office365/sharepoint/lists/list_forms_api.py +7 -0
  844. office365/sharepoint/logger/activityrequest.py +3 -0
  845. office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_response.py +7 -3
  846. office365/sharepoint/marketplace/corporatecuratedgallery/available_addins_response.py +3 -1
  847. office365/sharepoint/marketplace/tenant/appcatalog/accessor.py +4 -10
  848. office365/sharepoint/microfeed/attachment_store.py +69 -0
  849. office365/sharepoint/microfeed/data.py +64 -0
  850. office365/sharepoint/microfeed/manager.py +259 -0
  851. office365/sharepoint/microfeed/microfeedstore.py +69 -0
  852. office365/sharepoint/migrationcenter/service/performance/dashboard_data.py +4 -2
  853. office365/sharepoint/multigeo/service/dfdeprecationjob.py +8 -1
  854. office365/sharepoint/multigeo/service/geoexperience.py +15 -0
  855. office365/sharepoint/multigeo/service/groupmovejob.py +9 -0
  856. office365/sharepoint/multigeo/service/move_job_report.py +23 -0
  857. office365/sharepoint/multigeo/service/movesiterostate.py +8 -1
  858. office365/sharepoint/multigeo/service/partner_company_id_lookup.py +22 -0
  859. office365/sharepoint/multigeo/service/services.py +3 -6
  860. office365/sharepoint/multigeo/service/sitemovejob.py +9 -0
  861. office365/sharepoint/navigation/menu/node.py +5 -3
  862. office365/sharepoint/navigation/menu/state.py +1 -1
  863. office365/sharepoint/navigation/nodes/collection.py +36 -1
  864. office365/sharepoint/navigation/service.py +2 -8
  865. office365/sharepoint/permissions/roles/assignments/assignment.py +2 -8
  866. office365/sharepoint/permissions/roles/definitions/definition.py +3 -9
  867. office365/sharepoint/portal/groups/service.py +12 -0
  868. office365/sharepoint/portal/groups/site_manager.py +283 -32
  869. office365/sharepoint/portal/linkedsites/manager.py +25 -3
  870. office365/sharepoint/portal/sites/manager.py +197 -0
  871. office365/sharepoint/principal/principal.py +3 -8
  872. office365/sharepoint/principal/users/user.py +5 -6
  873. office365/sharepoint/publishing/announcements/controller.py +31 -0
  874. office365/sharepoint/publishing/content_distribution_controller.py +23 -0
  875. office365/sharepoint/publishing/copytoparams.py +3 -0
  876. office365/sharepoint/publishing/diagnostics/controller.py +12 -0
  877. office365/sharepoint/publishing/emailpublishingstatus.py +4 -2
  878. office365/sharepoint/publishing/engage_distribution_info.py +2 -0
  879. office365/sharepoint/publishing/feedvideopage.py +358 -0
  880. office365/sharepoint/publishing/navigation/structural_navigation_cache_wrapper.py +40 -0
  881. office365/sharepoint/publishing/pages/3d/page.py +314 -0
  882. office365/sharepoint/publishing/pages/campaign/publication.py +549 -7
  883. office365/sharepoint/publishing/pages/metadata.py +6 -11
  884. office365/sharepoint/publishing/pages/page.py +469 -0
  885. office365/sharepoint/publishing/pages/reposts/repost.py +334 -0
  886. office365/sharepoint/publishing/pages/service.py +95 -43
  887. office365/sharepoint/publishing/pages/topics/topic.py +314 -0
  888. office365/sharepoint/publishing/point/post.py +28 -0
  889. office365/sharepoint/publishing/point/postservicemanager.py +31 -0
  890. office365/sharepoint/publishing/point/tenantmanager.py +9 -0
  891. office365/sharepoint/publishing/point/user.py +9 -0
  892. office365/sharepoint/publishing/portallaunchwavesmanager.py +36 -0
  893. office365/sharepoint/publishing/portalnavigationcachewrapper.py +21 -0
  894. office365/sharepoint/publishing/rich_sharing.py +12 -0
  895. office365/sharepoint/publishing/sites/communication/site.py +14 -6
  896. office365/sharepoint/publishing/subtitlefile.py +40 -0
  897. office365/sharepoint/publishing/video/channel.py +112 -0
  898. office365/sharepoint/publishing/video/item.py +231 -0
  899. office365/sharepoint/publishing/videopermissiongroup.py +16 -0
  900. office365/sharepoint/request.py +35 -7
  901. office365/sharepoint/search/analytics/signal_store.py +15 -0
  902. office365/sharepoint/search/promoted_result_query_rule.py +6 -2
  903. office365/sharepoint/search/ranking_labeling.py +11 -0
  904. office365/sharepoint/search/relevant_results.py +1 -1
  905. office365/sharepoint/search/reordering_rule_collection.py +30 -0
  906. office365/sharepoint/search/result.py +1 -1
  907. office365/sharepoint/search/service.py +61 -0
  908. office365/sharepoint/search/setting.py +75 -15
  909. office365/sharepoint/search/simple_data_row.py +1 -1
  910. office365/sharepoint/sharing/direct_abilities.py +1 -0
  911. office365/sharepoint/sharing/main_link_audience_role_abilities.py +17 -0
  912. office365/sharepoint/sharing/mainlinkabilities.py +3 -3
  913. office365/sharepoint/sharing/mainlinkaudienceabilities.py +4 -0
  914. office365/sharepoint/sharing/mainlinkinfo.py +4 -0
  915. office365/sharepoint/sharing/object_sharing_settings.py +4 -10
  916. office365/sharepoint/sitedesigns/app_settings_in_teams.py +6 -1
  917. office365/sharepoint/sitedesigns/creation_info.py +1 -1
  918. office365/sharepoint/sitedesigns/insert_field_response.py +10 -1
  919. office365/sharepoint/sitedesigns/main_link_details.py +2 -0
  920. office365/sharepoint/sitedesigns/sectiondesignideasapi.py +26 -0
  921. office365/sharepoint/sitedesigns/thread_engagement_data.py +2 -0
  922. office365/sharepoint/sites/home/sharepointhomeservicemanager.py +18 -0
  923. office365/sharepoint/sites/manager/baaa_request.py +2 -0
  924. office365/sharepoint/sites/manager/service.py +192 -5
  925. office365/sharepoint/sites/site.py +12 -0
  926. office365/sharepoint/sites/version_policy_manager.py +6 -10
  927. office365/sharepoint/sitescripts/utility.py +1 -1
  928. office365/sharepoint/social/rest_thread.py +2 -6
  929. office365/sharepoint/taxonomy/field.py +1 -0
  930. office365/sharepoint/taxonomy/groups/group.py +2 -6
  931. office365/sharepoint/taxonomy/item.py +12 -6
  932. office365/sharepoint/taxonomy/service.py +18 -2
  933. office365/sharepoint/teams/manage_channel_capabilities_request.py +3 -0
  934. office365/sharepoint/tenant/administration/bulk_insert_operation_result.py +5 -0
  935. office365/sharepoint/tenant/administration/catalog_management_category.py +23 -0
  936. office365/sharepoint/tenant/administration/catalog_management_custom_property_map.py +3 -0
  937. office365/sharepoint/tenant/administration/catalog_management_group.py +16 -0
  938. office365/sharepoint/tenant/administration/catalog_management_schema.py +18 -0
  939. office365/sharepoint/tenant/administration/catalog_management_status.py +23 -0
  940. office365/sharepoint/tenant/administration/container/properties.py +6 -0
  941. office365/sharepoint/tenant/administration/dataset_metadata_response.py +6 -0
  942. office365/sharepoint/tenant/administration/ransomware/activitiesoverview.py +2 -1
  943. office365/sharepoint/tenant/administration/rcd_categories_map.py +19 -0
  944. office365/sharepoint/tenant/administration/rcd_category_detail_result.py +17 -0
  945. office365/sharepoint/tenant/administration/rcd_group_definition.py +19 -0
  946. office365/sharepoint/tenant/administration/rcd_group_metadata.py +20 -0
  947. office365/sharepoint/tenant/administration/rcd_save_result.py +12 -0
  948. office365/sharepoint/tenant/administration/rcd_site_status_detail.py +18 -0
  949. office365/sharepoint/tenant/administration/secondary_administrators_info.py +0 -7
  950. office365/sharepoint/tenant/administration/site_property_scope_config.py +1 -0
  951. office365/sharepoint/tenant/administration/spom365agentinsightsm365agentsonsitesdetails.py +3 -1
  952. office365/sharepoint/tenant/administration/tenant.py +94 -227
  953. office365/sharepoint/tenant/administration/tenant_admin_ransomware_event_site_restore_point.py +1 -0
  954. office365/sharepoint/tenant/administration/tenant_data_loss_prevention_quarantine_settings.py +17 -0
  955. office365/sharepoint/tenant/cdn_api.py +18 -4
  956. office365/sharepoint/tenant/management/office365_tenant.py +15 -10
  957. office365/sharepoint/tenantadministration/spo_file_archive_policy_info.py +28 -0
  958. office365/sharepoint/tenantadministration/spo_file_archive_policy_report_info.py +20 -0
  959. office365/sharepoint/tenantadministration/spo_file_archive_policy_site_info.py +15 -0
  960. office365/sharepoint/tenantadministration/spom365_agent_insights_top20_agents_details.py +14 -0
  961. office365/sharepoint/types/resource_path.py +2 -1
  962. office365/sharepoint/usercustomactions/collection.py +41 -0
  963. office365/sharepoint/userprofiles/person_properties.py +4 -10
  964. office365/sharepoint/utilities/autofillcolumninfo.py +2 -0
  965. office365/sharepoint/utilities/llmcolumninfo.py +2 -0
  966. office365/sharepoint/utilities/move_copy_util.py +284 -10
  967. office365/sharepoint/viva/site_manager.py +10 -0
  968. office365/sharepoint/webhooks/subscription.py +41 -1
  969. office365/sharepoint/webhooks/subscription_information.py +2 -2
  970. office365/sharepoint/webparts/definitions/definition.py +8 -10
  971. office365/sharepoint/webparts/limited_manager.py +2 -6
  972. office365/sharepoint/webs/regional_settings.py +11 -15
  973. office365/sharepoint/webs/time_zone.py +9 -6
  974. office365/sharepoint/webs/web.py +57 -10
  975. office365/sharepoint/webs/web_fetch_result.py +13 -0
  976. office365/subscriptions/subscription.py +2 -8
  977. office365/teams/administration/account_type.py +17 -0
  978. office365/teams/administration/activation_state.py +16 -0
  979. office365/teams/administration/assignment_category.py +8 -1
  980. office365/teams/administration/assignment_status.py +18 -0
  981. office365/teams/administration/customer_action.py +13 -0
  982. office365/teams/administration/number_capability.py +15 -0
  983. office365/teams/administration/number_source.py +13 -0
  984. office365/teams/administration/number_type.py +15 -0
  985. office365/teams/administration/port_in_status.py +13 -0
  986. office365/teams/administration/reverse_number_lookup_option.py +12 -0
  987. office365/teams/apps/app.py +5 -5
  988. office365/teams/apps/installed_event_message_detail.py +17 -0
  989. office365/teams/apps/removed_event_message_detail.py +17 -0
  990. office365/teams/apps/upgraded_event_message_detail.py +17 -0
  991. office365/teams/archived_event_message_detail.py +16 -0
  992. office365/teams/channels/channel.py +23 -22
  993. office365/teams/channels/collection.py +10 -5
  994. office365/teams/chats/chat.py +36 -27
  995. office365/teams/chats/collection.py +19 -0
  996. office365/teams/chats/messages/body.py +32 -0
  997. office365/teams/chats/messages/collection.py +43 -0
  998. office365/teams/chats/messages/hosted_content.py +27 -0
  999. office365/teams/chats/messages/message.py +68 -3
  1000. office365/teams/class_settings.py +14 -0
  1001. office365/teams/collection.py +89 -14
  1002. office365/teams/created_event_message_detail.py +18 -0
  1003. office365/teams/description_updated_event_message_detail.py +17 -0
  1004. office365/teams/joining_disabled_event_message_detail.py +16 -0
  1005. office365/teams/joining_enabled_event_message_detail.py +16 -0
  1006. office365/teams/licensing_details.py +14 -0
  1007. office365/teams/members/aad_user_conversation.py +4 -4
  1008. office365/teams/members/conversation.py +3 -3
  1009. office365/teams/members/conversation_collection.py +7 -9
  1010. office365/teams/members_notification_recipient.py +14 -0
  1011. office365/teams/operations/async_operation.py +59 -8
  1012. office365/teams/operations/type.py +4 -1
  1013. office365/teams/renamed_event_message_detail.py +17 -0
  1014. office365/teams/schedule/entitytheme.py +23 -0
  1015. office365/teams/schedule/time_card_break.py +19 -0
  1016. office365/teams/schedule/time_card_entry.py +19 -0
  1017. office365/teams/schedule/time_card_event.py +18 -0
  1018. office365/teams/schedule/time_card_state.py +14 -0
  1019. office365/teams/schedule/time_clock_settings.py +15 -0
  1020. office365/teams/schedule/time_off_details.py +15 -0
  1021. office365/teams/schedule/time_off_item.py +14 -0
  1022. office365/teams/schedule/time_off_reason_icon_type.py +32 -0
  1023. office365/teams/tabs/updated_event_message_detail.py +16 -0
  1024. office365/teams/team.py +88 -46
  1025. office365/teams/teamwork/application_identity.py +15 -0
  1026. office365/teams/teamwork/shiftmanagement/user_solution_root.py +4 -0
  1027. office365/teams/teamwork/user.py +6 -8
  1028. office365/teams/teamwork/workforce_integration_encryption_protocol.py +12 -0
  1029. office365/teams/teamwork/workforce_integration_supported_entities.py +22 -0
  1030. office365/teams/unarchived_event_message_detail.py +16 -0
  1031. office365/teams/viva/employee_experience_user.py +5 -3
  1032. office365/todo/attachments/collection.py +78 -3
  1033. office365/todo/attachments/info.py +17 -1
  1034. office365/todo/attachments/session.py +74 -0
  1035. office365/todo/attachments/type.py +14 -2
  1036. office365/todo/linked_resource.py +10 -0
  1037. office365/todo/tasks/collection.py +5 -3
  1038. office365/todo/tasks/lists/collection.py +4 -4
  1039. office365/todo/tasks/lists/list.py +36 -0
  1040. office365/todo/tasks/task.py +95 -8
  1041. office365/todo/todo.py +5 -2
  1042. {office365_rest_python_client-3.0.0.dist-info → office365_rest_python_client-3.1.0.dist-info}/METADATA +13 -3
  1043. {office365_rest_python_client-3.0.0.dist-info → office365_rest_python_client-3.1.0.dist-info}/RECORD +1179 -598
  1044. office365/migration/assessor.py +0 -243
  1045. office365/onedrive/termstore/store_exporter.py +0 -40
  1046. office365/onedrive/termstore/store_importer.py +0 -34
  1047. office365/runtime/csv_writer.py +0 -77
  1048. office365/runtime/odata/member.py +0 -14
  1049. office365/runtime/odata/method.py +0 -19
  1050. office365/runtime/odata/model.py +0 -54
  1051. office365/runtime/odata/parameter.py +0 -19
  1052. office365/runtime/odata/property.py +0 -19
  1053. office365/runtime/odata/query_options_builder.py +0 -38
  1054. office365/runtime/odata/reader.py +0 -99
  1055. office365/runtime/odata/type_information.py +0 -32
  1056. office365/runtime/odata/v3/metadata_reader.py +0 -52
  1057. office365/runtime/odata/v4/metadata_reader.py +0 -28
  1058. office365/runtime/queries/noop.py +0 -17
  1059. office365/runtime/utilities.py +0 -226
  1060. office365/sharepoint/migration/assessment/scanners/base.py +0 -57
  1061. office365/sharepoint/migration/assessment/scanners/list.py +0 -68
  1062. office365/sharepoint/migration/assessment/scanners/site.py +0 -25
  1063. office365/todo/wellknown_list_name.py +0 -2
  1064. /office365/directory/identitygovernance/accessreview/{access_review_history_instance.py → history_instance.py} +0 -0
  1065. /office365/directory/identitygovernance/accessreview/{access_review_instance_decision_item.py → instance_decision_item.py} +0 -0
  1066. /office365/directory/identitygovernance/accessreview/{access_review_reviewer.py → reviewer.py} +0 -0
  1067. /office365/directory/identitygovernance/accessreview/{access_review_schedule_definition.py → schedule_definition.py} +0 -0
  1068. /office365/directory/identitygovernance/{accessreview/access_package_text_input_question.py → entitlementmanagement/accesspackage/text_input_question.py} +0 -0
  1069. /office365/directory/{security/data_security → recovery}/__init__.py +0 -0
  1070. /office365/directory/security/{active_directory_domain_evidence.py → alerts/active_directory_domain_evidence.py} +0 -0
  1071. /office365/directory/security/{azure_resource_evidence.py → alerts/azure_resource_evidence.py} +0 -0
  1072. /office365/{sharepoint/migration → directory/security/audit}/__init__.py +0 -0
  1073. /office365/directory/security/{a365_ai_execute_tool.py → audit/a365_ai_execute_tool.py} +0 -0
  1074. /office365/directory/security/{aad_risk_detection_audit_record.py → audit/aad_risk_detection_audit_record.py} +0 -0
  1075. /office365/directory/security/{ai_app_interaction_audit_record.py → audit/ai_app_interaction_audit_record.py} +0 -0
  1076. /office365/directory/security/{ai_execute_tool_audit_record.py → audit/ai_execute_tool_audit_record.py} +0 -0
  1077. /office365/directory/security/{ai_interactions_change_notification_audit_record.py → audit/ai_interactions_change_notification_audit_record.py} +0 -0
  1078. /office365/directory/security/{ai_interactions_export_audit_record.py → audit/ai_interactions_export_audit_record.py} +0 -0
  1079. /office365/directory/security/{ai_interactions_subscription_audit_record.py → audit/ai_interactions_subscription_audit_record.py} +0 -0
  1080. /office365/directory/security/{ai_invoke_agent_audit_record.py → audit/ai_invoke_agent_audit_record.py} +0 -0
  1081. /office365/directory/security/{ai_span_outputs_audit_record.py → audit/ai_span_outputs_audit_record.py} +0 -0
  1082. /office365/directory/security/{air_manual_investigation_data.py → audit/air_manual_investigation_data.py} +0 -0
  1083. /office365/directory/security/{alert_submission_audit_record.py → audit/alert_submission_audit_record.py} +0 -0
  1084. /office365/directory/security/{alert_submission_result_detail_audit_record.py → audit/alert_submission_result_detail_audit_record.py} +0 -0
  1085. /office365/directory/security/{attack_sim_admin_audit_record.py → audit/attack_sim_admin_audit_record.py} +0 -0
  1086. /office365/directory/security/{attack_sim_audit_record.py → audit/attack_sim_audit_record.py} +0 -0
  1087. /office365/directory/security/{audit_config_audit_record.py → audit/audit_config_audit_record.py} +0 -0
  1088. /office365/directory/security/{audit_record_type_dictionary.py → audit/audit_record_type_dictionary.py} +0 -0
  1089. /office365/directory/security/{audit_search_audit_record.py → audit/audit_search_audit_record.py} +0 -0
  1090. /office365/directory/security/{azfw_application_rule_aggregation_event_record.py → audit/azfw_application_rule_aggregation_event_record.py} +0 -0
  1091. /office365/directory/security/{azfw_dns_query_event_record.py → audit/azfw_dns_query_event_record.py} +0 -0
  1092. /office365/directory/security/{azfw_network_rule_event_record.py → audit/azfw_network_rule_event_record.py} +0 -0
  1093. /office365/directory/security/{azure_active_directory_account_logon_audit_record.py → audit/azure_active_directory_account_logon_audit_record.py} +0 -0
  1094. /office365/directory/security/{azure_active_directory_audit_record.py → audit/azure_active_directory_audit_record.py} +0 -0
  1095. /office365/directory/security/{azure_active_directory_sts_logon_audit_record.py → audit/azure_active_directory_sts_logon_audit_record.py} +0 -0
  1096. /office365/directory/security/{azure_ai_search_audit_record.py → audit/azure_ai_search_audit_record.py} +0 -0
  1097. /office365/directory/security/{campaign_audit_record.py → audit/campaign_audit_record.py} +0 -0
  1098. /office365/directory/security/{ccrai_policy_violation_record.py → audit/ccrai_policy_violation_record.py} +0 -0
  1099. /office365/directory/security/{cdp_classifier_health_record.py → audit/cdp_classifier_health_record.py} +0 -0
  1100. /office365/directory/security/{cdp_cold_crawl_status_record.py → audit/cdp_cold_crawl_status_record.py} +0 -0
  1101. /office365/directory/security/{cdp_consumption_resource_record.py → audit/cdp_consumption_resource_record.py} +0 -0
  1102. /office365/directory/security/{cdp_content_explorer_aggregate_record.py → audit/cdp_content_explorer_aggregate_record.py} +0 -0
  1103. /office365/directory/security/{cdp_dlp_sensitive_endpoint_audit_record.py → audit/cdp_dlp_sensitive_endpoint_audit_record.py} +0 -0
  1104. /office365/directory/security/{cdp_log_record.py → audit/cdp_log_record.py} +0 -0
  1105. /office365/directory/security/{cdp_ocr_billing_record.py → audit/cdp_ocr_billing_record.py} +0 -0
  1106. /office365/directory/security/{cdp_resource_scope_change_event_record.py → audit/cdp_resource_scope_change_event_record.py} +0 -0
  1107. /office365/directory/security/{cdpdlmai_interaction_insights_record.py → audit/cdpdlmai_interaction_insights_record.py} +0 -0
  1108. /office365/directory/security/{cloud_update_device_config_audit_record.py → audit/cloud_update_device_config_audit_record.py} +0 -0
  1109. /office365/directory/security/{cloud_update_profile_config_audit_record.py → audit/cloud_update_profile_config_audit_record.py} +0 -0
  1110. /office365/directory/security/{cloud_update_tenant_config_audit_record.py → audit/cloud_update_tenant_config_audit_record.py} +0 -0
  1111. /office365/directory/security/{compliance_connector_audit_record.py → audit/compliance_connector_audit_record.py} +0 -0
  1112. /office365/directory/security/{compliance_dlm_exchange_audit_record.py → audit/compliance_dlm_exchange_audit_record.py} +0 -0
  1113. /office365/directory/security/{compliance_dlm_share_point_audit_record.py → audit/compliance_dlm_share_point_audit_record.py} +0 -0
  1114. /office365/directory/security/{compliance_dlp_applications_audit_record.py → audit/compliance_dlp_applications_audit_record.py} +0 -0
  1115. /office365/directory/security/{compliance_dlp_applications_classification_audit_record.py → audit/compliance_dlp_applications_classification_audit_record.py} +0 -0
  1116. /office365/directory/security/{compliance_dlp_endpoint_audit_record.py → audit/compliance_dlp_endpoint_audit_record.py} +0 -0
  1117. /office365/directory/security/{compliance_dlp_endpoint_discovery_audit_record.py → audit/compliance_dlp_endpoint_discovery_audit_record.py} +0 -0
  1118. /office365/directory/security/{compliance_dlp_enforcement_audit_record.py → audit/compliance_dlp_enforcement_audit_record.py} +0 -0
  1119. /office365/directory/security/{compliance_dlp_exchange_audit_record.py → audit/compliance_dlp_exchange_audit_record.py} +0 -0
  1120. /office365/directory/security/{compliance_dlp_exchange_classification_audit_record.py → audit/compliance_dlp_exchange_classification_audit_record.py} +0 -0
  1121. /office365/directory/security/{compliance_dlp_exchange_classification_cdp_record.py → audit/compliance_dlp_exchange_classification_cdp_record.py} +0 -0
  1122. /office365/directory/security/{compliance_dlp_exchange_discovery_audit_record.py → audit/compliance_dlp_exchange_discovery_audit_record.py} +0 -0
  1123. /office365/directory/security/{compliance_dlp_share_point_audit_record.py → audit/compliance_dlp_share_point_audit_record.py} +0 -0
  1124. /office365/directory/security/{compliance_dlp_share_point_classification_audit_record.py → audit/compliance_dlp_share_point_classification_audit_record.py} +0 -0
  1125. /office365/directory/security/{compliance_dlp_share_point_classification_cdp_record.py → audit/compliance_dlp_share_point_classification_cdp_record.py} +0 -0
  1126. /office365/directory/security/{compliance_dlp_share_point_classification_extended_audit_record.py → audit/compliance_dlp_share_point_classification_extended_audit_record.py} +0 -0
  1127. /office365/directory/security/{compliance_exchange_ocr_audit_record.py → audit/compliance_exchange_ocr_audit_record.py} +0 -0
  1128. /office365/directory/security/{compliance_manager_action_record.py → audit/compliance_manager_action_record.py} +0 -0
  1129. /office365/directory/security/{compliance_policy_grading_share_point_audit_record.py → audit/compliance_policy_grading_share_point_audit_record.py} +0 -0
  1130. /office365/directory/security/{compliance_settings_change_audit_record.py → audit/compliance_settings_change_audit_record.py} +0 -0
  1131. /office365/directory/security/{compliance_sit_grading_share_point_audit_record.py → audit/compliance_sit_grading_share_point_audit_record.py} +0 -0
  1132. /office365/directory/security/{compliance_supervision_exchange_audit_record.py → audit/compliance_supervision_exchange_audit_record.py} +0 -0
  1133. /office365/directory/security/{connected_ai_app_interaction_audit_record.py → audit/connected_ai_app_interaction_audit_record.py} +0 -0
  1134. /office365/directory/security/{consumption_resource_audit_record.py → audit/consumption_resource_audit_record.py} +0 -0
  1135. /office365/directory/security/{content_store_metadata_record.py → audit/content_store_metadata_record.py} +0 -0
  1136. /office365/directory/security/{copilot_agent_management_audit_record.py → audit/copilot_agent_management_audit_record.py} +0 -0
  1137. /office365/directory/security/{copilot_for_security_logging_audit_record.py → audit/copilot_for_security_logging_audit_record.py} +0 -0
  1138. /office365/directory/security/{copilot_for_security_trigger_audit_record.py → audit/copilot_for_security_trigger_audit_record.py} +0 -0
  1139. /office365/directory/security/{copilot_interaction_audit_record.py → audit/copilot_interaction_audit_record.py} +0 -0
  1140. /office365/directory/security/{copilot_plugin_setting_audit_record.py → audit/copilot_plugin_setting_audit_record.py} +0 -0
  1141. /office365/directory/security/{copilot_prompt_book_setting_audit_record.py → audit/copilot_prompt_book_setting_audit_record.py} +0 -0
  1142. /office365/directory/security/{copilot_session_sharing_audit_record.py → audit/copilot_session_sharing_audit_record.py} +0 -0
  1143. /office365/directory/security/{copilot_setting_audit_record.py → audit/copilot_setting_audit_record.py} +0 -0
  1144. /office365/directory/security/{copilot_workspace_setting_audit_record.py → audit/copilot_workspace_setting_audit_record.py} +0 -0
  1145. /office365/directory/security/{core_reporting_settings_audit_record.py → audit/core_reporting_settings_audit_record.py} +0 -0
  1146. /office365/directory/security/{critical_asset_management_classification_record.py → audit/critical_asset_management_classification_record.py} +0 -0
  1147. /office365/directory/security/{crm_entity_operation_audit_record.py → audit/crm_entity_operation_audit_record.py} +0 -0
  1148. /office365/directory/security/{cross_tenant_access_policy_audit_record.py → audit/cross_tenant_access_policy_audit_record.py} +0 -0
  1149. /office365/directory/security/{device_discovery_settings_authenticated_scans_record.py → audit/device_discovery_settings_authenticated_scans_record.py} +0 -0
  1150. /office365/directory/security/{device_discovery_settings_exclusion_record.py → audit/device_discovery_settings_exclusion_record.py} +0 -0
  1151. /office365/directory/security/{device_discovery_settings_record.py → audit/device_discovery_settings_record.py} +0 -0
  1152. /office365/directory/security/{discovery_audit_record.py → audit/discovery_audit_record.py} +0 -0
  1153. /office365/directory/security/{dlp_endpoint_audit_record.py → audit/dlp_endpoint_audit_record.py} +0 -0
  1154. /office365/directory/security/{dlp_import_result_audit_record.py → audit/dlp_import_result_audit_record.py} +0 -0
  1155. /office365/directory/security/{dragon_copilot_access_record.py → audit/dragon_copilot_access_record.py} +0 -0
  1156. /office365/directory/security/{dragon_copilot_admin_record.py → audit/dragon_copilot_admin_record.py} +0 -0
  1157. /office365/directory/security/{dragon_copilot_clinical_data_record.py → audit/dragon_copilot_clinical_data_record.py} +0 -0
  1158. /office365/directory/security/{dragon_copilot_session_record.py → audit/dragon_copilot_session_record.py} +0 -0
  1159. /office365/directory/security/{dynamics365_business_central_audit_record.py → audit/dynamics365_business_central_audit_record.py} +0 -0
  1160. /office365/directory/security/{ehr_connector_audit_base_record.py → audit/ehr_connector_audit_base_record.py} +0 -0
  1161. /office365/directory/security/{eop_submission_feed_entity_audit_record.py → audit/eop_submission_feed_entity_audit_record.py} +0 -0
  1162. /office365/directory/security/{exchange_admin_audit_record.py → audit/exchange_admin_audit_record.py} +0 -0
  1163. /office365/directory/security/{exchange_aggregated_mailbox_audit_record.py → audit/exchange_aggregated_mailbox_audit_record.py} +0 -0
  1164. /office365/directory/security/{exchange_aggregated_operation_record.py → audit/exchange_aggregated_operation_record.py} +0 -0
  1165. /office365/directory/security/{exchange_mailbox_audit_group_record.py → audit/exchange_mailbox_audit_group_record.py} +0 -0
  1166. /office365/directory/security/{exchange_mailbox_audit_record.py → audit/exchange_mailbox_audit_record.py} +0 -0
  1167. /office365/directory/security/{hosted_rpa_audit_record.py → audit/hosted_rpa_audit_record.py} +0 -0
  1168. /office365/directory/security/{hr_signal_audit_record.py → audit/hr_signal_audit_record.py} +0 -0
  1169. /office365/directory/security/{hygiene_event_record.py → audit/hygiene_event_record.py} +0 -0
  1170. /office365/directory/security/{information_barrier_policy_application_audit_record.py → audit/information_barrier_policy_application_audit_record.py} +0 -0
  1171. /office365/directory/security/{information_worker_protection_audit_record.py → audit/information_worker_protection_audit_record.py} +0 -0
  1172. /office365/directory/security/{insider_risk_scoped_user_insights_record.py → audit/insider_risk_scoped_user_insights_record.py} +0 -0
  1173. /office365/directory/security/{insider_risk_scoped_users_record.py → audit/insider_risk_scoped_users_record.py} +0 -0
  1174. /office365/directory/security/{microsoft_stream_audit_record.py → audit/microsoft_stream_audit_record.py} +0 -0
  1175. /office365/directory/security/{microsoft_teams_admin_audit_record.py → audit/microsoft_teams_admin_audit_record.py} +0 -0
  1176. /office365/directory/security/{microsoft_teams_analytics_audit_record.py → audit/microsoft_teams_analytics_audit_record.py} +0 -0
  1177. /office365/directory/security/{microsoft_teams_audit_record.py → audit/microsoft_teams_audit_record.py} +0 -0
  1178. /office365/directory/security/{microsoft_teams_device_audit_record.py → audit/microsoft_teams_device_audit_record.py} +0 -0
  1179. /office365/directory/security/{microsoft_teams_retention_label_action_audit_record.py → audit/microsoft_teams_retention_label_action_audit_record.py} +0 -0
  1180. /office365/directory/security/{microsoft_teams_sensitivity_label_action_audit_record.py → audit/microsoft_teams_sensitivity_label_action_audit_record.py} +0 -0
  1181. /office365/directory/security/{microsoft_teams_shifts_audit_record.py → audit/microsoft_teams_shifts_audit_record.py} +0 -0
  1182. /office365/directory/security/{microsoft_teams_user_concern_audit_record.py → audit/microsoft_teams_user_concern_audit_record.py} +0 -0
  1183. /office365/directory/security/{whois_history_record.py → audit/whois_history_record.py} +0 -0
  1184. /office365/directory/security/{case.py → cases/case.py} +0 -0
  1185. /office365/{sharepoint/migration/assessment → directory/security/collaboration}/__init__.py +0 -0
  1186. /office365/directory/security/{analyzed_email.py → collaboration/analyzed_email.py} +0 -0
  1187. /office365/directory/security/{analyzed_email_authentication_detail.py → collaboration/analyzed_email_authentication_detail.py} +0 -0
  1188. /office365/directory/security/{analyzed_email_delivery_detail.py → collaboration/analyzed_email_delivery_detail.py} +0 -0
  1189. /office365/directory/security/{analyzed_email_dlp_rule_info.py → collaboration/analyzed_email_dlp_rule_info.py} +0 -0
  1190. /office365/directory/security/{analyzed_email_exchange_transport_rule_info.py → collaboration/analyzed_email_exchange_transport_rule_info.py} +0 -0
  1191. /office365/directory/security/{analyzed_email_recipient_detail.py → collaboration/analyzed_email_recipient_detail.py} +0 -0
  1192. /office365/directory/security/{analyzed_email_sender_detail.py → collaboration/analyzed_email_sender_detail.py} +0 -0
  1193. /office365/directory/security/{analyzed_email_url.py → collaboration/analyzed_email_url.py} +0 -0
  1194. /office365/{sharepoint/migration/assessment/scanners → directory/security/datasecurity}/__init__.py +0 -0
  1195. /office365/directory/security/{data_security → datasecurity}/sensitivity_label.py +0 -0
  1196. /office365/directory/security/{host_logon_session_evidence.py → threatintelligence/host_logon_session_evidence.py} +0 -0
  1197. /office365/directory/security/{host_reputation.py → threatintelligence/host_reputation.py} +0 -0
  1198. /office365/directory/security/{hostname.py → threatintelligence/hostname.py} +0 -0
  1199. {office365_rest_python_client-3.0.0.dist-info → office365_rest_python_client-3.1.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,37 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Optional
4
+
5
+ from office365.runtime.types.collections import StringCollection
6
+ from office365.sharepoint.entity import Entity
7
+
8
+
9
+ class MultiConditionalAccessPolicy(Entity):
10
+ @property
11
+ def definition(self) -> StringCollection:
12
+ """Gets the definition property"""
13
+ return self.properties.get("definition", StringCollection())
14
+
15
+ @property
16
+ def display_name(self) -> Optional[str]:
17
+ """Gets the displayName property"""
18
+ return self.properties.get("displayName", None)
19
+
20
+ @property
21
+ def id_(self) -> Optional[str]:
22
+ """Gets the id property"""
23
+ return self.properties.get("id", None)
24
+
25
+ @property
26
+ def is_organization_default(self) -> Optional[bool]:
27
+ """Gets the isOrganizationDefault property"""
28
+ return self.properties.get("isOrganizationDefault", None)
29
+
30
+ @property
31
+ def policy_identifier(self) -> Optional[str]:
32
+ """Gets the policyIdentifier property"""
33
+ return self.properties.get("policyIdentifier", None)
34
+
35
+ @property
36
+ def entity_type_name(self) -> str:
37
+ return "SP.Directory.MultiConditionalAccessPolicy"
@@ -0,0 +1,62 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Optional
4
+
5
+ from office365.runtime.types.collections import StringCollection
6
+ from office365.sharepoint.entity import Entity
7
+
8
+
9
+ class NamedLocationPolicy(Entity):
10
+ @property
11
+ def countries_and_regions(self) -> StringCollection:
12
+ """Gets the countriesAndRegions property"""
13
+ return self.properties.get("countriesAndRegions", StringCollection())
14
+
15
+ @property
16
+ def country_lookup_method(self) -> Optional[str]:
17
+ """Gets the countryLookupMethod property"""
18
+ return self.properties.get("countryLookupMethod", None)
19
+
20
+ @property
21
+ def created_date_time(self) -> Optional[str]:
22
+ """Gets the createdDateTime property"""
23
+ return self.properties.get("createdDateTime", None)
24
+
25
+ @property
26
+ def display_name(self) -> Optional[str]:
27
+ """Gets the displayName property"""
28
+ return self.properties.get("displayName", None)
29
+
30
+ @property
31
+ def id_(self) -> Optional[str]:
32
+ """Gets the id property"""
33
+ return self.properties.get("id", None)
34
+
35
+ @property
36
+ def include_unknown_countries_and_regions(self) -> Optional[bool]:
37
+ """Gets the includeUnknownCountriesAndRegions property"""
38
+ return self.properties.get("includeUnknownCountriesAndRegions", None)
39
+
40
+ @property
41
+ def ip_ranges(self) -> Optional[str]:
42
+ """Gets the ipRanges property"""
43
+ return self.properties.get("ipRanges", None)
44
+
45
+ @property
46
+ def is_trusted(self) -> Optional[bool]:
47
+ """Gets the isTrusted property"""
48
+ return self.properties.get("isTrusted", None)
49
+
50
+ @property
51
+ def modified_date_time(self) -> Optional[str]:
52
+ """Gets the modifiedDateTime property"""
53
+ return self.properties.get("modifiedDateTime", None)
54
+
55
+ @property
56
+ def odata_type(self) -> Optional[str]:
57
+ """Gets the odataType property"""
58
+ return self.properties.get("odataType", None)
59
+
60
+ @property
61
+ def entity_type_name(self) -> str:
62
+ return "SP.Directory.NamedLocationPolicy"
@@ -11,7 +11,7 @@ class SharePointDirectoryProvider(Entity):
11
11
  resource_path = StaticPath("SP.Directory.Provider.SharePointDirectoryProvider")
12
12
  super().__init__(context, resource_path)
13
13
 
14
- def check_site_availability(self, site_url: str):
14
+ def check_site_availability(self, site_url: str) -> ClientResult[bool]:
15
15
  """"""
16
16
  from office365.sharepoint.directory.helper import SPHelper
17
17
 
@@ -8,10 +8,10 @@ from office365.runtime.auth.client_credential import ClientCredential
8
8
  from office365.runtime.auth.user_credential import UserCredential
9
9
  from office365.runtime.client_object import ClientObject
10
10
  from office365.runtime.client_result import ClientResult
11
+ from office365.runtime.http.url import get_absolute_url
11
12
  from office365.runtime.paths.v3.entity import EntityPath
12
13
  from office365.runtime.queries.delete_entity import DeleteEntityQuery
13
14
  from office365.runtime.queries.update_entity import UpdateEntityQuery
14
- from office365.runtime.utilities import get_absolute_url
15
15
 
16
16
  if TYPE_CHECKING:
17
17
  from office365.sharepoint.client_context import ClientContext
@@ -20,23 +20,26 @@ if TYPE_CHECKING:
20
20
  class Entity(ClientObject):
21
21
  """SharePoint specific entity"""
22
22
 
23
- def execute_query_with_incremental_retry(self, max_retry: int = 5) -> Self:
23
+ def execute_query_with_incremental_retry(self, max_retry: int = 5, max_delay=None, jitter: bool = True) -> Self:
24
24
  """
25
25
  Execute query with incremental retry handling for throttling requests
26
26
 
27
27
  Args:
28
28
  max_retry: Maximum number of retry attempts (default: 5)
29
+ max_delay: Optional cap on the exponential delay (seconds)
30
+ jitter: Whether to randomize the delay (default True)
29
31
 
30
32
  Returns:
31
33
  self: Supports method chaining
32
34
  """
33
- self.context.execute_query_with_incremental_retry(max_retry)
35
+ self.context.execute_query_with_incremental_retry(max_retry, max_delay=max_delay, jitter=jitter)
34
36
  return self
35
37
 
36
38
  def execute_batch(
37
39
  self,
38
40
  items_per_batch: int = 100,
39
41
  success_callback: Optional[Callable[[List[Union[ClientObject, ClientResult]]], None]] = None,
42
+ max_batch_bytes: Optional[int] = None,
40
43
  ) -> Self:
41
44
  """
42
45
  Construct and submit a batch request to the server
@@ -44,11 +47,12 @@ class Entity(ClientObject):
44
47
  Args:
45
48
  items_per_batch: Number of items per batch (default: 100)
46
49
  success_callback: Callback function for successful batch execution
50
+ max_batch_bytes: Maximum estimated batch payload size in bytes
47
51
 
48
52
  Returns:
49
53
  self: Supports method chaining
50
54
  """
51
- self.context.execute_batch(items_per_batch, success_callback)
55
+ self.context.execute_batch(items_per_batch, success_callback, max_batch_bytes=max_batch_bytes)
52
56
  return self
53
57
 
54
58
  def with_credentials(self, credentials: Union[UserCredential, ClientCredential]) -> Self:
@@ -1,4 +1,5 @@
1
1
  from office365.runtime.paths.service_operation import ServiceOperationPath
2
+ from office365.runtime.queries.create_entity import CreateEntityQuery
2
3
  from office365.sharepoint.entity_collection import EntityCollection
3
4
  from office365.sharepoint.eventreceivers.definition import EventReceiverDefinition
4
5
 
@@ -15,6 +16,37 @@ class EventReceiverDefinitionCollection(EntityCollection[EventReceiverDefinition
15
16
  """
16
17
  super().__init__(context, EventReceiverDefinition, resource_path, parent)
17
18
 
19
+ def add(
20
+ self,
21
+ receiver_name: str,
22
+ receiver_url: str,
23
+ event_type: int = 2, # EventReceiverType: 2 = ItemAdded
24
+ synchronization: int = 1, # EventReceiverSynchronization: 1 = Asynchronous
25
+ sequence_number: int = 1000,
26
+ **kwargs,
27
+ ) -> EventReceiverDefinition:
28
+ """Add a new event receiver to the collection (deferred — call ``execute_query()`` to submit).
29
+
30
+ Args:
31
+ receiver_name: The name of the event receiver.
32
+ receiver_url: The URL of the event receiver endpoint.
33
+ event_type: The event type (2 = ItemAdded).
34
+ synchronization: Whether the receiver runs synchronously or asynchronously (1 = Asynchronous).
35
+ sequence_number: The order in which the receiver is executed.
36
+ """
37
+ return_type = EventReceiverDefinition(self.context)
38
+ return_type.set_property("ReceiverName", receiver_name)
39
+ return_type.set_property("ReceiverUrl", receiver_url)
40
+ return_type.set_property("EventType", event_type)
41
+ return_type.set_property("Synchronization", synchronization)
42
+ return_type.set_property("SequenceNumber", sequence_number)
43
+ for k, v in kwargs.items():
44
+ return_type.set_property(k, v)
45
+ self.add_child(return_type)
46
+ qry = CreateEntityQuery(self, return_type, return_type)
47
+ self.context.add_query(qry)
48
+ return return_type
49
+
18
50
  def get_by_id(self, event_receiver_id: str) -> EventReceiverDefinition:
19
51
  """Returns the event receiver with the specified identifier.
20
52
 
@@ -2,15 +2,23 @@ from __future__ import annotations
2
2
 
3
3
  from typing import TYPE_CHECKING, Any, Optional, TypeVar, Union, cast
4
4
 
5
+ from typing_extensions import Self
6
+
7
+ from office365.runtime.client_request_exception import (
8
+ ClientRequestException,
9
+ ObjectNotFoundException,
10
+ )
5
11
  from office365.runtime.paths.service_operation import ServiceOperationPath
6
12
  from office365.runtime.queries.create_entity import CreateEntityQuery
7
13
  from office365.runtime.queries.service_operation import ServiceOperationQuery
8
14
  from office365.sharepoint.entity_collection import EntityCollection
9
15
  from office365.sharepoint.fields.calculated import FieldCalculated
16
+ from office365.sharepoint.fields.choice import FieldChoice
10
17
  from office365.sharepoint.fields.creation_information import FieldCreationInformation
11
18
  from office365.sharepoint.fields.date_time import FieldDateTime
12
19
  from office365.sharepoint.fields.field import Field
13
20
  from office365.sharepoint.fields.geolocation import FieldGeolocation
21
+ from office365.sharepoint.fields.multi_choice import FieldMultiChoice
14
22
  from office365.sharepoint.fields.multi_line_text import FieldMultiLineText
15
23
  from office365.sharepoint.fields.number import FieldNumber
16
24
  from office365.sharepoint.fields.text import FieldText
@@ -22,10 +30,22 @@ from office365.sharepoint.fields.xmlSchemaFieldCreationInformation import (
22
30
  )
23
31
  from office365.sharepoint.taxonomy.field import TaxonomyField
24
32
  from office365.sharepoint.taxonomy.sets.set import TermSet
25
- from office365.sharepoint.taxonomy.stores.store import TermStore
26
33
 
27
34
  T = TypeVar("T", bound=Field)
28
35
 
36
+ _FIELD_TYPE_BY_KIND = {
37
+ "boolean": FieldType.Boolean,
38
+ "datetime": FieldType.DateTime,
39
+ "number": FieldType.Number,
40
+ "text": FieldType.Text,
41
+ }
42
+
43
+
44
+ def field_type_from_kind(kind: str) -> FieldType:
45
+ """Map a generic pandas dtype kind (see ``series_kind``) to a SharePoint ``FieldType``."""
46
+ return _FIELD_TYPE_BY_KIND[kind]
47
+
48
+
29
49
  if TYPE_CHECKING:
30
50
  from office365.sharepoint.lists.list import List
31
51
  from office365.sharepoint.webs.web import Web
@@ -37,6 +57,60 @@ class FieldCollection(EntityCollection[Field]):
37
57
  def __init__(self, context, resource_path=None, parent=None):
38
58
  super().__init__(context, Field, resource_path, parent)
39
59
 
60
+ def from_dataframe(self, df, progress=None) -> Self:
61
+ """Define a field per DataFrame column, inferring the field type.
62
+
63
+ The schema counterpart of ``ClientObjectCollection.from_dataframe``
64
+ (which imports rows): here each column becomes a field definition.
65
+ Column names are sanitized into field internal names and the
66
+ ``FieldType`` is inferred from the pandas dtype (Boolean/DateTime/
67
+ Number/Text). Each field is ensured idempotently (looked up first,
68
+ created when missing). Deferred — run the lookups/creates with
69
+ ``execute_query()``:
70
+
71
+ >>> lst.fields.from_dataframe(df).execute_query()
72
+
73
+ Requires ``pip install office365-rest-python-client[pandas]``.
74
+
75
+ Args:
76
+ df: A pandas DataFrame whose columns become the field definitions.
77
+
78
+ Returns:
79
+ Self: The field collection, for method chaining.
80
+ """
81
+ from office365.runtime.converters.dataframe import require_pandas, series_kind
82
+ from office365.sharepoint.fields.name import internal_field_name
83
+
84
+ pd = require_pandas()
85
+ for column in df.columns:
86
+ field_type = field_type_from_kind(series_kind(pd, df[column]))
87
+ info = FieldCreationInformation(
88
+ Title=internal_field_name(str(column)),
89
+ FieldTypeKind=field_type,
90
+ )
91
+ self.ensure(info)
92
+ return self
93
+
94
+ def ensure(self, parameters: FieldCreationInformation) -> Field:
95
+ from office365.runtime.queries.deferred import DeferredOperationQuery
96
+
97
+ return_type = Field(self.context)
98
+ barrier = DeferredOperationQuery(self.context, return_type=return_type)
99
+
100
+ def _on_success(existing):
101
+ return_type.copy_from(existing)
102
+ barrier.resolve()
103
+
104
+ def _on_error(error: ClientRequestException):
105
+ if not isinstance(error, ObjectNotFoundException):
106
+ raise error
107
+
108
+ barrier.defer(self._build_add_field_query(parameters, return_type))
109
+
110
+ self.get_by_title(parameters.Title).get().after_execute(_on_success).on_error(_on_error)
111
+ self.context.add_query(barrier)
112
+ return return_type
113
+
40
114
  def add_calculated(self, title: str, formula: str, description: Optional[str] = None) -> FieldCalculated:
41
115
  """Creates a Calculated field
42
116
 
@@ -51,7 +125,8 @@ class FieldCollection(EntityCollection[Field]):
51
125
  Formula=formula,
52
126
  FieldTypeKind=FieldType.Calculated,
53
127
  Description=description,
54
- )
128
+ ),
129
+ FieldCalculated,
55
130
  )
56
131
  return return_type
57
132
 
@@ -67,7 +142,8 @@ class FieldCollection(EntityCollection[Field]):
67
142
  Title=title,
68
143
  Description=description,
69
144
  FieldTypeKind=FieldType.DateTime,
70
- )
145
+ ),
146
+ FieldDateTime,
71
147
  )
72
148
  return return_type
73
149
 
@@ -83,7 +159,8 @@ class FieldCollection(EntityCollection[Field]):
83
159
  Title=title,
84
160
  Description=description,
85
161
  FieldTypeKind=FieldType.Geolocation,
86
- )
162
+ ),
163
+ FieldGeolocation,
87
164
  )
88
165
  return return_type
89
166
 
@@ -99,7 +176,8 @@ class FieldCollection(EntityCollection[Field]):
99
176
  Title=title,
100
177
  Description=description,
101
178
  FieldTypeKind=FieldType.Number,
102
- )
179
+ ),
180
+ FieldNumber,
103
181
  )
104
182
  return return_type
105
183
 
@@ -111,7 +189,8 @@ class FieldCollection(EntityCollection[Field]):
111
189
  description (str or None):
112
190
  """
113
191
  return self.add_field(
114
- FieldCreationInformation(Title=title, Description=description, FieldTypeKind=FieldType.URL)
192
+ FieldCreationInformation(Title=title, Description=description, FieldTypeKind=FieldType.URL),
193
+ FieldUrl,
115
194
  )
116
195
 
117
196
  def add_lookup_field(
@@ -141,7 +220,7 @@ class FieldCollection(EntityCollection[Field]):
141
220
  ShowField="{lookup_field_name}" List="{{{lookup_list_id}}}" StaticName="{title}" Name="{title}">
142
221
  </Field>
143
222
  """.format(title=title, lookup_field_name=lookup_field_name, lookup_list_id=lookup_list_id)
144
- self.create_field_as_xml(field_schema, return_type=return_type)
223
+ self.create_field_as_xml(field_schema, return_type)
145
224
  else:
146
225
  self.add_field(
147
226
  FieldCreationInformation(
@@ -150,7 +229,7 @@ class FieldCollection(EntityCollection[Field]):
150
229
  LookupFieldName=lookup_field_name,
151
230
  FieldTypeKind=FieldType.Lookup,
152
231
  ),
153
- return_type=return_type,
232
+ return_type,
154
233
  )
155
234
 
156
235
  from office365.sharepoint.lists.list import List
@@ -167,7 +246,7 @@ class FieldCollection(EntityCollection[Field]):
167
246
  _add_lookup_field(lookup_list)
168
247
  return return_type
169
248
 
170
- def add_choice_field(self, title: str, values: list[str], multiple_values: bool = False):
249
+ def add_choice_field(self, title: str, values: list[str], multiple_values: bool = False) -> Field:
171
250
  """Creates a Choice field
172
251
 
173
252
  Args:
@@ -176,8 +255,9 @@ class FieldCollection(EntityCollection[Field]):
176
255
  title (str): Specifies the display name of the field.
177
256
  """
178
257
  fld_type = FieldType.MultiChoice if multiple_values else FieldType.Choice
258
+ field_cls = FieldMultiChoice if multiple_values else FieldChoice
179
259
  create_field_info = FieldCreationInformation(Title=title, FieldTypeKind=fld_type, Choices=values)
180
- return self.add_field(create_field_info)
260
+ return self.add_field(create_field_info, field_cls)
181
261
 
182
262
  def add_user_field(
183
263
  self,
@@ -194,8 +274,9 @@ class FieldCollection(EntityCollection[Field]):
194
274
  selection_mode (int or None):
195
275
  allow_multiple_values (bool):
196
276
  """
197
- return self.add( # type: ignore[returnType]
198
- FieldType.User,
277
+ return self._create_field(
278
+ FieldUser,
279
+ FieldTypeKind=FieldType.User.value,
199
280
  Title=title,
200
281
  Description=description,
201
282
  SelectionMode=selection_mode,
@@ -208,11 +289,11 @@ class FieldCollection(EntityCollection[Field]):
208
289
  Args:
209
290
  title (str): specifies the display name of the field
210
291
  """
211
- return self.add_field(FieldCreationInformation(title, FieldType.Text))
292
+ return self.add_field(FieldCreationInformation(title, FieldType.Text), FieldText)
212
293
 
213
294
  def add_note(self, title: str, description: Optional[str] = None) -> FieldMultiLineText:
214
295
  """Creates a text field that can contain multiple lines"""
215
- return self.add_field(FieldCreationInformation(title, FieldType.Note, description))
296
+ return self.add_field(FieldCreationInformation(title, FieldType.Note, description), FieldMultiLineText)
216
297
 
217
298
  def add_dependent_lookup_field(self, display_name: str, primary_lookup_field_id: str, show_field: bool) -> Field:
218
299
  """Adds a secondary lookup field to a field collection (target).
@@ -237,29 +318,47 @@ class FieldCollection(EntityCollection[Field]):
237
318
 
238
319
  def add(self, field_type_kind: FieldType, **parameters: Any) -> Field:
239
320
  """Adds a fields to the fields collection."""
240
- field_type = Field.resolve_field_type(field_type_kind.value)
241
- return_type = field_type(self.context)
242
- return_type.set_property("FieldTypeKind", field_type_kind.value)
321
+ return self._create_field(
322
+ Field.resolve_field_type(field_type_kind.value),
323
+ FieldTypeKind=field_type_kind.value,
324
+ **parameters,
325
+ )
326
+
327
+ def _new_field(self, target: Union[type[T], T]) -> T:
328
+ """Resolve a concrete field class (or reuse the given instance) on this context."""
329
+ return target(self.context) if isinstance(target, type) else target
330
+
331
+ def _create_field(self, field_type: Union[type[T], T], **parameters: Any) -> T:
332
+ """Create a field entity of the given type and queue its creation query."""
333
+ return_type = self._new_field(field_type)
243
334
  [return_type.set_property(k, v) for k, v in parameters.items() if v is not None]
244
335
  self.add_child(return_type)
245
336
  qry = CreateEntityQuery(self, return_type, return_type)
246
337
  self.context.add_query(qry)
247
338
  return return_type
248
339
 
249
- def add_field(self, parameters: FieldCreationInformation, return_type: Optional[T] = None) -> T:
340
+ def _build_add_field_query(
341
+ self,
342
+ parameters: FieldCreationInformation,
343
+ return_type: Field,
344
+ ) -> ServiceOperationQuery:
345
+ """Build (but do not queue) an AddField query for the given parameters."""
346
+ self.add_child(return_type)
347
+ payload = {"parameters": parameters}
348
+ return ServiceOperationQuery(self, "AddField", None, payload, None, return_type)
349
+
350
+ def add_field(self, parameters: FieldCreationInformation, return_type: Union[type[T], T] = Field) -> T:
250
351
  """Adds a fields to the fields collection.
251
352
 
252
353
  Args:
253
354
  parameters (FieldCreationInformation):
254
- return_type (Field or None): Return type
355
+ return_type (type or Field): The concrete field class to create (e.g.
356
+ ``FieldDateTime``), or a ready field instance to bind the query to
357
+ (used for deferred/async creation).
255
358
  """
256
- if return_type is None:
257
- return_type = cast(T, Field(self.context))
258
- self.add_child(return_type)
259
- payload = {"parameters": parameters}
260
- qry = ServiceOperationQuery(self, "AddField", None, payload, None, return_type)
261
- self.context.add_query(qry)
262
- return return_type
359
+ field = self._new_field(return_type)
360
+ self.context.add_query(self._build_add_field_query(parameters, field))
361
+ return field
263
362
 
264
363
  def create_taxonomy_field(
265
364
  self,
@@ -274,80 +373,79 @@ class FieldCollection(EntityCollection[Field]):
274
373
  term_set (str or TermSet): TermSet identifier or object
275
374
  allow_multiple_values (bool): Specifies whether the column will allow more than one value
276
375
  """
277
- return_type = TaxonomyField(self.context)
278
-
279
- def _create_taxonomy_field(term_store_id: str, term_set_id: str):
280
- TaxonomyField.create(
281
- self,
282
- name,
283
- term_set_id,
284
- term_store_id,
285
- allow_multiple_values,
286
- return_type=return_type,
287
- )
288
-
289
- def _term_store_loaded(term_store: TermStore) -> None:
290
- if isinstance(term_set, TermSet):
291
- term_set_obj = term_set
292
-
293
- def _term_set_loaded():
294
- ts_id = term_store.id
295
- ts_id2 = term_set_obj.id
296
- if ts_id is not None and ts_id2 is not None:
297
- _create_taxonomy_field(ts_id, ts_id2)
298
-
299
- term_set.ensure_property("id").after_execute(lambda _: _term_set_loaded())
300
- else:
301
- ts_id = term_store.id
302
- if ts_id is not None:
303
- _create_taxonomy_field(ts_id, term_set)
376
+ tax = self.context.taxonomy
304
377
 
305
- self.context.load(self.context.taxonomy.term_store).after_execute(_term_store_loaded)
378
+ # resolve the identifiers on the taxonomy service (``_api/v2.1``, OData V4)
379
+ term_store = tax.term_store.get().execute_query()
380
+ if isinstance(term_set, TermSet):
381
+ term_set.ensure_property("id").execute_query()
382
+ term_set_id = term_set.id
383
+ else:
384
+ term_set_id = term_set
385
+ term_store_id = term_store.id
386
+ if not term_store_id or not term_set_id:
387
+ raise ValueError("Unable to resolve the term store or term set identifier")
306
388
 
389
+ # the field creation itself runs on this (OData V3) context
390
+ return_type = TaxonomyField(self.context)
391
+ TaxonomyField.create(
392
+ self,
393
+ name,
394
+ term_set_id,
395
+ term_store_id,
396
+ allow_multiple_values,
397
+ return_type=return_type,
398
+ )
307
399
  return return_type
308
400
 
309
- def create_field_as_xml(self, schema_xml: str, return_type: Optional[T] = None) -> T:
401
+ def create_field_as_xml(self, schema_xml: str, return_type: Union[type[T], T] = Field) -> T:
310
402
  """Creates a field based on the values defined in the parameters input parameter.
311
403
 
312
404
  Args:
313
405
  schema_xml (str): Specifies the schema that defines the field
314
- return_type (Field or None): Return type
406
+ return_type (type or Field): The concrete field class to create, or a
407
+ ready field instance to bind the query to (deferred/async creation).
315
408
  """
316
- if return_type is None:
317
- return_type = cast(T, Field(self.context))
318
- self.add_child(return_type)
409
+ field = self._new_field(return_type)
410
+ self.add_child(field)
319
411
  payload = {"parameters": XmlSchemaFieldCreationInformation(schema_xml)}
320
- qry = ServiceOperationQuery(self, "CreateFieldAsXml", None, payload, None, return_type)
412
+ qry = ServiceOperationQuery(self, "CreateFieldAsXml", None, payload, None, field)
321
413
  self.context.add_query(qry)
322
- return return_type
414
+ return field
323
415
 
324
- def get_by_id(self, id_: str) -> Field:
416
+ def get_by_id(self, id_: str, field_type: type[T] = Field) -> T:
325
417
  """Gets the fields with the specified ID.
326
418
 
327
419
  Args:
328
420
  id_ (str): The field identifier.
421
+ field_type (type): The concrete field class the column holds (e.g.
422
+ ``FieldDateTime``); defaults to ``Field``.
329
423
  """
330
- return Field(self.context, ServiceOperationPath("getById", [id_], self.resource_path))
424
+ return field_type(self.context, ServiceOperationPath("getById", [id_], self.resource_path))
331
425
 
332
- def get_by_internal_name_or_title(self, value: str) -> Field:
426
+ def get_by_internal_name_or_title(self, value: str, field_type: type[T] = Field) -> T:
333
427
  """Returns the first field in the collection based on the internal name or the title specified
334
428
  by the parameter.
335
429
 
336
430
  Args:
337
431
  value (str): The title or internal name to look up the field (2) by.
432
+ field_type (type): The concrete field class the column holds (e.g.
433
+ ``FieldDateTime``); defaults to ``Field``.
338
434
  """
339
- return Field(
435
+ return field_type(
340
436
  self.context,
341
437
  ServiceOperationPath("getByInternalNameOrTitle", [value], self.resource_path),
342
438
  )
343
439
 
344
- def get_by_title(self, title: str) -> Field:
440
+ def get_by_title(self, title: str, field_type: type[T] = Field) -> T:
345
441
  """Returns the first fields object in the collection based on the title of the specified fields.
346
442
 
347
443
  Args:
348
444
  title (str): The title to look up the field by
445
+ field_type (type): The concrete field class the column holds (e.g.
446
+ ``FieldDateTime``); defaults to ``Field``.
349
447
  """
350
- return Field(
448
+ return field_type(
351
449
  self.context,
352
450
  ServiceOperationPath("getByTitle", [title], self.resource_path),
353
451
  )
@@ -5,10 +5,10 @@ from typing import Optional, Type, Union
5
5
  from typing_extensions import Self
6
6
 
7
7
  from office365.runtime.client_result import ClientResult
8
+ from office365.runtime.converters.scalars import parse_enum
8
9
  from office365.runtime.paths.resource_path import ResourcePath
9
10
  from office365.runtime.queries.service_operation import ServiceOperationQuery
10
11
  from office365.runtime.types.odata_property import odata
11
- from office365.runtime.utilities import parse_enum
12
12
  from office365.sharepoint.entity import Entity
13
13
  from office365.sharepoint.fields.type import FieldType
14
14
  from office365.sharepoint.translation.user_resource import UserResource
@@ -307,6 +307,8 @@ class Field(Entity):
307
307
  # fallback: create a new resource path
308
308
  if name == "FieldTypeKind":
309
309
  self.__class__ = self.resolve_field_type(value) # type: ignore[reportAttributeAccessIssue]
310
- elif name == "TypeAsString" and self.properties.get("FieldTypeKind", 0) == 0:
310
+ elif name == "TypeAsString" and self.properties.get("FieldTypeKind") in (None, 0, FieldType.Invalid):
311
+ # taxonomy fields report an "Invalid" field kind, so the type name
312
+ # (e.g. "TaxonomyFieldType") is the reliable signal
311
313
  self.__class__ = self.resolve_field_type(value) # type: ignore[reportAttributeAccessIssue]
312
314
  return self
@@ -0,0 +1,11 @@
1
+ from __future__ import annotations
2
+
3
+ import re
4
+
5
+
6
+ def internal_field_name(name: str) -> str:
7
+ """Sanitize a display/column name into a SharePoint field internal name.
8
+
9
+ SharePoint field internal names cannot contain spaces or punctuation.
10
+ """
11
+ return re.sub(r"\W", "_", name)
@@ -4,6 +4,7 @@ from typing_extensions import Self
4
4
 
5
5
  from office365.runtime.paths.resource_path import ResourcePath
6
6
  from office365.runtime.queries.service_operation import ServiceOperationQuery
7
+ from office365.runtime.types.odata_property import odata
7
8
  from office365.sharepoint.entity import Entity
8
9
  from office365.sharepoint.principal.users.user import User
9
10
 
@@ -22,6 +23,7 @@ class CheckedOutFile(Entity):
22
23
  """Returns the user ID of the account used to check out the file."""
23
24
  return self.properties.get("CheckedOutById", None)
24
25
 
26
+ @odata(name="CheckedOutBy")
25
27
  @property
26
28
  def checked_out_by(self) -> User:
27
29
  """Returns the username of the account used to check out the file."""
@@ -33,9 +35,3 @@ class CheckedOutFile(Entity):
33
35
  @property
34
36
  def property_ref_name(self) -> str:
35
37
  return "CheckedOutById"
36
-
37
- def get_property(self, name, default_value=None):
38
- if default_value is None:
39
- property_mapping = {"CheckedOutBy": self.checked_out_by}
40
- default_value = property_mapping.get(name, None)
41
- return super().get_property(name, default_value)