Office365-REST-Python-Client 3.0.0__py3-none-any.whl → 3.2.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.
- office365/admin/baseline_parameter.py +15 -0
- office365/admin/baseline_resource.py +17 -0
- office365/admin/drift_status.py +13 -0
- office365/admin/exchange/exchange_message_trace_status.py +18 -0
- office365/admin/snapshot_job_status.py +16 -0
- office365/backuprestore/artifact_query.py +16 -0
- office365/backuprestore/notification_events_type.py +13 -0
- office365/backuprestore/restorejobtype.py +1 -0
- office365/backuprestore/restorepoints/search_response.py +21 -0
- office365/backuprestore/restorepoints/search_result.py +14 -0
- office365/backuprestore/restoresessions/artifact_count.py +17 -0
- office365/backuprestore/restoresessions/browsable_resource_type.py +15 -0
- office365/backuprestore/restoresessions/browse_query_order.py +15 -0
- office365/backuprestore/restoresessions/browse_query_response_item.py +20 -0
- office365/backuprestore/restoresessions/browse_query_response_item_type.py +16 -0
- office365/backuprestore/restoresessions/browse_session_status.py +14 -0
- office365/backuprestore/restoresessions/browser_shared_cookie_history.py +24 -0
- office365/backuprestore/service_status.py +28 -1
- office365/backuprestore/time_period.py +16 -0
- office365/booking/assigned_place_mode.py +15 -0
- office365/booking/business/import_building_map_setting.py +14 -0
- office365/booking/chedulingpolicy.py +4 -2
- office365/booking/customers/information.py +4 -2
- office365/booking/drop_in_place_mode.py +10 -0
- office365/booking/mailbox_details.py +15 -0
- office365/booking/place_mode.py +10 -0
- office365/booking/place_service_plan_info.py +14 -0
- office365/booking/reservable_place_mode.py +10 -0
- office365/booking/unavailable_place_mode.py +14 -0
- office365/communications/adhoc_call.py +31 -0
- office365/communications/broadcastmeetingaudience.py +9 -1
- office365/communications/callrecords/audio_codec.py +33 -0
- office365/communications/callrecords/call_record.py +18 -0
- office365/communications/callrecords/media_stream_direction.py +12 -0
- office365/communications/callrecords/modality.py +0 -1
- office365/communications/callrecords/network_connection_type.py +16 -0
- office365/communications/callrecords/network_transport_protocol.py +14 -0
- office365/communications/callrecords/product_family.py +16 -0
- office365/communications/callrecords/pstn_call_duration_source.py +12 -0
- office365/communications/callrecords/service_role.py +32 -0
- office365/communications/callrecords/user_feedback_rating.py +17 -0
- office365/communications/callrecords/video_codec.py +22 -0
- office365/communications/calls/call.py +3 -0
- office365/communications/cloud_communications.py +3 -6
- office365/communications/onlinemeetings/attendee_notification_info.py +15 -0
- office365/communications/onlinemeetings/base.py +152 -1
- office365/communications/onlinemeetings/broadcast_settings.py +4 -0
- office365/communications/onlinemeetings/lobby_bypass_settings.py +16 -0
- office365/communications/onlinemeetings/online_meeting.py +48 -23
- office365/communications/onlinemeetings/online_meeting_info.py +22 -0
- office365/communications/onlinemeetings/online_meeting_type.py +16 -0
- office365/communications/onlinemeetings/participants.py +5 -3
- office365/communications/onlinemeetings/watermark_protection_values.py +15 -0
- office365/communications/presences/presence.py +18 -5
- office365/communications/presences/work_location_source.py +15 -0
- office365/communications/presences/work_location_type.py +15 -0
- office365/communications/quotas.py +66 -0
- office365/communications/virtualevents/communications_identity_set.py +23 -0
- office365/communications/virtualevents/virtual_event.py +3 -0
- office365/copilot/ai_agent_info.py +14 -0
- office365/copilot/ai_interaction_entity.py +16 -0
- office365/copilot/ai_interaction_plugin.py +10 -0
- office365/copilot/package_access_entity.py +14 -0
- office365/copilot/package_element.py +16 -0
- office365/copilot/package_element_detail.py +19 -0
- office365/copilot/retrieval_data_source.py +14 -0
- office365/copilot/retrieval_entity_type.py +17 -0
- office365/count_collection.py +1 -1
- office365/delta_collection.py +41 -2
- office365/directory/applications/all_allowed_scopes.py +10 -0
- office365/directory/applications/custom_security_attribute_exemption.py +18 -0
- office365/directory/applications/custom_security_attribute_string_value_exemption.py +14 -0
- office365/directory/applications/enumerated_scopes.py +15 -0
- office365/directory/applications/identifier_uri_restriction.py +22 -0
- office365/directory/applications/implicitgrantsettings.py +8 -1
- office365/directory/applications/inheritable_scopes.py +15 -0
- office365/directory/applications/key_credential_configuration.py +22 -0
- office365/directory/applications/no_scopes.py +10 -0
- office365/directory/applications/optional_claim.py +14 -1
- office365/directory/applications/password_credential_configuration.py +22 -0
- office365/directory/applications/preauthorized.py +11 -1
- office365/directory/applications/redirecturisettings.py +8 -1
- office365/directory/applications/resource_access.py +4 -0
- office365/directory/applications/template.py +63 -3
- office365/directory/attribute_rule_members.py +15 -0
- office365/directory/audit/directory.py +9 -0
- office365/directory/audit/log_root.py +15 -15
- office365/directory/audit/logs/recordtype.py +476 -1
- office365/directory/audit/logs/usertype.py +16 -1
- office365/directory/audit/provisioning/object_summary.py +67 -3
- office365/directory/audit/signins/authentication_app_device_details.py +17 -0
- office365/directory/audit/signins/governance_insight.py +17 -0
- office365/directory/audit/signins/membership_outlier_insight.py +55 -0
- office365/directory/audit/signins/signin.py +78 -8
- office365/directory/authentication/attributecollection/external_users_self_service_sign_up.py +20 -0
- office365/directory/authentication/attributecollection/handler.py +10 -0
- office365/directory/authentication/attributecollection/method_load_start_handler.py +10 -0
- office365/directory/authentication/attributecollection/start_custom_extension_handler.py +17 -0
- office365/directory/authentication/attributecollection/start_handler.py +10 -0
- office365/directory/authentication/attributecollection/submit_custom_extension_handler.py +17 -0
- office365/directory/authentication/attributecollection/submit_handler.py +10 -0
- office365/directory/authentication/authentication.py +13 -36
- office365/directory/authentication/error_correction_level.py +14 -0
- office365/directory/authentication/fraud_protection_configuration.py +10 -0
- office365/directory/authentication/fraud_protection_provider_configuration.py +12 -0
- office365/directory/authentication/generic_error.py +8 -1
- office365/directory/authentication/methods/configuration.py +17 -0
- office365/directory/authentication/methods/details.py +36 -0
- office365/directory/authentication/methods/mode_detail.py +17 -0
- office365/directory/authentication/methods/passkey_type.py +13 -0
- office365/directory/authentication/methods/root.py +8 -12
- office365/directory/authentication/methods/target.py +17 -0
- office365/directory/authentication/oidc_address_inbound_claims.py +18 -0
- office365/directory/authentication/oidc_client_authentication.py +10 -0
- office365/directory/authentication/oidc_client_secret_authentication.py +14 -0
- office365/directory/authentication/oidc_inbound_claim_mapping_override.py +23 -0
- office365/directory/authentication/oidc_private_jwt_key_client_authentication.py +10 -0
- office365/directory/authentication/signing_certificate_update_status.py +16 -0
- office365/directory/authentication/strength/root.py +39 -0
- office365/directory/authentication/strength/usage.py +4 -0
- office365/directory/certificates/authority.py +5 -0
- office365/directory/certificates/pkcs12_certificate.py +15 -0
- office365/directory/certificates/self_signed.py +4 -0
- office365/directory/certificates/x509/issuer_hints_configuration.py +2 -1
- office365/directory/connected_organization_members.py +15 -0
- office365/directory/connection_info.py +14 -0
- office365/directory/domains/domain.py +3 -0
- office365/directory/domains/state.py +13 -1
- office365/directory/domains/verified.py +14 -4
- office365/directory/extensions/custom/http_request_endpoint.py +16 -0
- office365/directory/groups/access_type.py +15 -0
- office365/directory/groups/group_members.py +15 -0
- office365/directory/groups/setting_template_value.py +17 -0
- office365/directory/identities/application_context.py +15 -0
- office365/directory/identities/application_enforced_restrictions_session_control.py +10 -0
- office365/directory/identities/auth_context.py +14 -0
- office365/directory/identities/authentication_flow.py +15 -0
- office365/directory/identities/conditional_access_root.py +35 -3
- office365/directory/identities/conditional_access_session_control.py +14 -0
- office365/directory/identities/ip_range.py +10 -0
- office365/directory/identities/on_fraud_protection_load_start_external_users_auth_handler.py +15 -0
- office365/directory/identities/on_interactive_auth_flow_start_external_users_self_service_sign_up.py +14 -0
- office365/directory/identities/on_interactive_auth_flow_start_handler.py +10 -0
- office365/directory/identities/on_otp_send_custom_extension_handler.py +17 -0
- office365/directory/identities/on_otp_send_handler.py +10 -0
- office365/directory/identities/on_password_submit_handler.py +10 -0
- office365/directory/identities/providers/on_authentication_method_load_start_external_users_self_service_sign_up.py +16 -0
- office365/directory/identities/providers/on_fraud_protection_load_start_handler.py +10 -0
- office365/directory/identities/providers/verified_id_profile_state.py +13 -0
- office365/directory/identities/providers/verified_id_usage_configuration_purpose.py +14 -0
- office365/directory/identities/riskPrevention/web_application_firewall_dns_configuration.py +21 -0
- office365/directory/identities/riskPrevention/web_application_firewall_verification_result.py +23 -0
- office365/directory/identities/riskPrevention/web_application_firewall_verified_details.py +8 -1
- office365/directory/identities/sign_in_context.py +10 -0
- office365/directory/identities/userflows/user_attribute_values_item.py +16 -0
- office365/directory/identities/userflows/user_flow_api_connector_configuration.py +16 -0
- office365/directory/identitygovernance/accessreview/custom_data_provided_resource_upload_session_request.py +12 -0
- office365/directory/identitygovernance/accessreview/custom_data_provided_resource_upload_stats.py +15 -0
- office365/directory/identitygovernance/accessreview/disable_and_delete_user_apply_action.py +10 -0
- office365/directory/identitygovernance/accessreview/error.py +10 -0
- office365/directory/identitygovernance/accessreview/history/definition.py +3 -3
- office365/directory/identitygovernance/accessreview/history_schedule_settings.py +16 -0
- office365/directory/identitygovernance/accessreview/inactive_users_query_scope.py +15 -0
- office365/directory/identitygovernance/accessreview/instance.py +2 -2
- office365/directory/identitygovernance/accessreview/instance_decision_item_access_package_assignment_policy_resource.py +15 -0
- office365/directory/identitygovernance/accessreview/instance_decision_item_access_package_resource.py +15 -0
- office365/directory/identitygovernance/accessreview/instance_decision_item_azure_role_resource.py +17 -0
- office365/directory/identitygovernance/accessreview/instance_decision_item_resource.py +16 -0
- office365/directory/identitygovernance/accessreview/instance_decision_item_service_principal_resource.py +16 -0
- office365/directory/identitygovernance/accessreview/notification_recipient_item.py +20 -0
- office365/directory/identitygovernance/accessreview/notification_recipient_query_scope.py +16 -0
- office365/directory/identitygovernance/accessreview/notification_recipients_type.py +16 -0
- office365/directory/identitygovernance/accessreview/notify_members.py +14 -0
- office365/directory/identitygovernance/accessreview/principal_resource_memberships_scope.py +20 -0
- office365/directory/identitygovernance/accessreview/principal_scope.py +12 -0
- office365/directory/identitygovernance/accessreview/query_scope.py +16 -0
- office365/directory/identitygovernance/accessreview/recommendation_insight_setting.py +10 -0
- office365/directory/identitygovernance/accessreview/remove_access_apply_action.py +10 -0
- office365/directory/identitygovernance/accessreview/resource_scope.py +15 -0
- office365/directory/identitygovernance/accessreview/reviewer_scope.py +17 -0
- office365/directory/identitygovernance/accessreview/schedule/settings.py +33 -1
- office365/directory/identitygovernance/accessreview/stage.py +1 -1
- office365/directory/identitygovernance/accessreview/stage_settings.py +33 -0
- office365/directory/identitygovernance/accessreview/target_owners.py +17 -0
- office365/directory/identitygovernance/activate_processing_result_scope.py +3 -0
- office365/directory/identitygovernance/activate_run_scope.py +2 -0
- office365/directory/identitygovernance/appconsent/request_scope.py +8 -1
- office365/directory/identitygovernance/attribute_set_entry.py +15 -0
- office365/directory/identitygovernance/awaited_workflow_processing_result.py +17 -0
- office365/directory/identitygovernance/cancel_runs_scope.py +16 -0
- office365/directory/identitygovernance/cancel_scope.py +10 -0
- office365/directory/identitygovernance/content_base.py +10 -0
- office365/directory/identitygovernance/content_category.py +24 -0
- office365/directory/identitygovernance/count_based_quarantine_condition.py +14 -0
- office365/directory/identitygovernance/custom_task_extension_callout_data.py +4 -0
- office365/directory/identitygovernance/custom_task_extension_response_data.py +21 -0
- office365/directory/identitygovernance/directory_object_workflow_subject.py +15 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/answer.py +16 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/answer_choice.py +22 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/answer_string.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/approval_stage.py +36 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/approver_information_visibility.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_approval_settings.py +23 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_policy_scope.py +17 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_request_callback_data.py +20 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_request_parameters.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_request_requirements.py +25 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_requestor_settings.py +25 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignment_review_settings.py +29 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignmentfilterbycurrentuseroptions.py +2 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/assignmentrequestfilterbycurrentuseroptions.py +4 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/automatic_request_settings.py +17 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/custom_data_provided_resource_upload_status.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/custom_extension_callout_instance.py +21 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/dynamic_approval_stage.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/expiration_pattern.py +20 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/localized_text.py +15 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/notification_settings.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/request_approval_stage_callback_configuration.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/requesttype.py +1 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute.py +26 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute_destination.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute_question.py +15 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/resource_attribute_source.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/subject_lifecycle.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_filter_by_current_user_options.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_reason.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_related_people_based.py +17 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_related_people_insight_level.py +14 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/suggestion_self_assignment_history_based.py +16 -0
- office365/directory/identitygovernance/entitlementmanagement/accesspackage/user_directory_attribute_store.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/assignment_request_approval_stage_callback_data.py +17 -0
- office365/directory/identitygovernance/entitlementmanagement/azure_active_directory_tenant.py +15 -0
- office365/directory/identitygovernance/entitlementmanagement/domain_identity_source.py +15 -0
- office365/directory/identitygovernance/entitlementmanagement/fallback_to_microsoft_provider_on_error.py +12 -0
- office365/directory/identitygovernance/entitlementmanagement/identity_source.py +10 -0
- office365/directory/identitygovernance/entitlementmanagement/schedule.py +21 -0
- office365/directory/identitygovernance/entitlementmanagement/social_identity_source.py +18 -0
- office365/directory/identitygovernance/guest_sponsor_trigger.py +14 -0
- office365/directory/identitygovernance/percentage_based_quarantine_condition.py +14 -0
- office365/directory/identitygovernance/preview_failed_task.py +17 -0
- office365/directory/identitygovernance/process_content_metadata_base.py +26 -0
- office365/directory/identitygovernance/provisioning_attribute_mapping.py +10 -0
- office365/directory/identitygovernance/provisioning_object_workflow_subject.py +19 -0
- office365/directory/identitygovernance/quarantine_condition.py +10 -0
- office365/directory/identitygovernance/quarantine_configuration.py +20 -0
- office365/directory/identitygovernance/quarantine_details.py +18 -0
- office365/directory/identitygovernance/resource_access_detail.py +23 -0
- office365/directory/identitygovernance/subject_summary.py +18 -0
- office365/directory/identitygovernance/termsofuse/agreement_file_data.py +14 -0
- office365/directory/identitygovernance/termsofuse/terms_expiration.py +16 -0
- office365/directory/identitygovernance/text_content.py +14 -0
- office365/directory/identitygovernance/workflow.py +23 -0
- office365/directory/identitygovernance/workflow_setting.py +15 -0
- office365/directory/identitygovernance/workflow_subject.py +10 -0
- office365/directory/insights/office_graph.py +7 -6
- office365/directory/invitations/invitation.py +45 -2
- office365/directory/licenses/service_plan_info.py +4 -0
- office365/directory/licenses/subscribed_sku.py +3 -0
- office365/directory/licenses/units_detail.py +4 -0
- office365/directory/objects/collection.py +34 -8
- office365/directory/objects/object.py +3 -0
- office365/directory/objects/service_provisioning_xml_error.py +14 -0
- office365/directory/permissions/comment_action.py +18 -0
- office365/directory/permissions/create_action.py +10 -0
- office365/directory/permissions/default_user_role.py +16 -1
- office365/directory/permissions/delete_action.py +15 -0
- office365/directory/permissions/email_identity.py +7 -9
- office365/directory/policies/all_devices_assignment_target.py +12 -0
- office365/directory/policies/all_domains.py +10 -0
- office365/directory/policies/all_licensed_users_assignment_target.py +10 -0
- office365/directory/policies/allowedtargetscope.py +1 -0
- office365/directory/policies/app_management_application_configuration.py +15 -0
- office365/directory/policies/app_management_configuration.py +22 -0
- office365/directory/policies/app_management_policy_actor_exemptions.py +18 -0
- office365/directory/policies/app_management_service_principal_configuration.py +10 -0
- office365/directory/policies/authentication_combination_configuration.py +18 -0
- office365/directory/policies/authentication_context_class_reference.py +26 -0
- office365/directory/policies/authentication_methods.py +59 -0
- office365/directory/policies/authentication_strength.py +65 -8
- office365/directory/policies/azure_ad_registration_policy.py +16 -0
- office365/directory/policies/ca_policies_deletable_root.py +33 -0
- office365/directory/policies/claims_mapping_policy.py +7 -0
- office365/directory/policies/cloud_app_security_session_control.py +15 -0
- office365/directory/policies/conditionalaccess/all_external_tenants.py +10 -0
- office365/directory/policies/conditionalaccess/applications.py +20 -0
- office365/directory/policies/conditionalaccess/authentication_flows.py +15 -0
- office365/directory/policies/conditionalaccess/client_applications.py +18 -0
- office365/directory/policies/conditionalaccess/condition_set.py +42 -0
- office365/directory/policies/conditionalaccess/device_and_app_management_assignment_target.py +10 -0
- office365/directory/policies/conditionalaccess/device_info.py +43 -0
- office365/directory/policies/conditionalaccess/devices.py +15 -0
- office365/directory/policies/conditionalaccess/enumerated_external_tenants.py +15 -0
- office365/directory/policies/conditionalaccess/external_tenants.py +17 -0
- office365/directory/policies/conditionalaccess/filter.py +16 -0
- office365/directory/policies/conditionalaccess/grant_controls.py +24 -0
- office365/directory/policies/conditionalaccess/grantcontrol.py +1 -0
- office365/directory/policies/conditionalaccess/guests_or_external_users.py +19 -0
- office365/directory/policies/conditionalaccess/locations.py +16 -0
- office365/directory/policies/conditionalaccess/persistent_browser_session_control.py +15 -0
- office365/directory/policies/conditionalaccess/platforms.py +21 -0
- office365/directory/policies/conditionalaccess/policy_deletable_item.py +17 -0
- office365/directory/policies/conditionalaccess/policy_detail.py +19 -0
- office365/directory/policies/conditionalaccess/secure_sign_in_session_control.py +10 -0
- office365/directory/policies/conditionalaccess/service_principal_sign_in.py +14 -0
- office365/directory/policies/conditionalaccess/session_controls.py +32 -0
- office365/directory/policies/conditionalaccess/sign_in_conditions.py +29 -0
- office365/directory/policies/conditionalaccess/sign_in_frequency_session_control.py +24 -0
- office365/directory/policies/conditionalaccess/sign_in_identity.py +10 -0
- office365/directory/policies/conditionalaccess/user_action_context.py +15 -0
- office365/directory/policies/conditionalaccess/user_sign_in.py +19 -0
- office365/directory/policies/conditionalaccess/users.py +29 -0
- office365/directory/policies/crosstenant/app_service_connect_setting.py +19 -0
- office365/directory/policies/crosstenant/b2_b_setting.py +22 -0
- office365/directory/policies/crosstenant/inbound_trust.py +16 -0
- office365/directory/policies/crosstenant/m365_collaboration_inbound_setting.py +17 -0
- office365/directory/policies/crosstenant/m365_collaboration_outbound_setting.py +19 -0
- office365/directory/policies/crosstenant/target.py +16 -0
- office365/directory/policies/crosstenant/target_configuration.py +24 -0
- office365/directory/policies/crosstenant/tenant_restrictions.py +15 -0
- office365/directory/policies/crosstenant/user_sync_inbound.py +14 -0
- office365/directory/policies/custom_app_management_application_configuration.py +15 -0
- office365/directory/policies/custom_app_management_configuration.py +19 -0
- office365/directory/policies/default_invitation_redemption_identity_provider_configuration.py +10 -0
- office365/directory/policies/devices_filter.py +20 -0
- office365/directory/policies/enumerated_domains.py +15 -0
- office365/directory/policies/face_check_configuration.py +15 -0
- office365/directory/policies/group_scope.py +10 -0
- office365/directory/policies/identifier_uri_configuration.py +16 -0
- office365/directory/policies/inbound_outbound_policy_configuration.py +15 -0
- office365/directory/policies/invitation_redemption_identity_provider_configuration.py +19 -0
- office365/directory/policies/match_confidence_level.py +13 -0
- office365/directory/policies/protected_application_metadata.py +15 -0
- office365/directory/policies/protection_policy_artifact_count.py +17 -0
- office365/directory/policies/restrict_access_action.py +10 -0
- office365/directory/policies/restrict_access_action_base.py +15 -0
- office365/directory/policies/retention_setting.py +16 -0
- office365/directory/policies/root.py +14 -1
- office365/directory/policies/scope_base.py +14 -0
- office365/directory/policies/security_defaults.py +16 -0
- office365/directory/policies/self_service_sign_up_authentication_flow_configuration.py +14 -0
- office365/directory/policies/tenant_scope.py +10 -0
- office365/directory/policies/unifiedrolemanagement/role_assignment_schedule_filter_by_current_user_options.py +12 -0
- office365/directory/policies/unifiedrolemanagement/role_assignment_schedule_instance_filter_by_current_user_options.py +12 -0
- office365/directory/policies/unifiedrolemanagement/role_assignment_schedule_request_filter_by_current_user_options.py +14 -0
- office365/directory/policies/unifiedrolemanagement/role_eligibility_schedule_filter_by_current_user_options.py +12 -0
- office365/directory/policies/unifiedrolemanagement/role_eligibility_schedule_instance_filter_by_current_user_options.py +12 -0
- office365/directory/policies/unifiedrolemanagement/role_eligibility_schedule_request_filter_by_current_user_options.py +14 -0
- office365/directory/policies/user_scope.py +10 -0
- office365/directory/policies/validating_domains.py +15 -0
- office365/directory/policies/verified_id_profile_configuration.py +15 -0
- office365/directory/policies/verified_id_usage_configuration.py +14 -0
- office365/directory/protection/riskyusers/activity.py +7 -1
- office365/directory/protection/riskyusers/risk_service_principal_activity.py +17 -0
- office365/directory/quotas.py +34 -0
- office365/directory/recovery/recovery_action.py +14 -0
- office365/directory/recovery/recovery_status.py +18 -0
- office365/directory/recovery/resource_type_name.py +23 -0
- office365/directory/requestor_manager.py +14 -0
- office365/directory/rolemanagement/unifiedrole/notification_recipients.py +20 -0
- office365/directory/rolemanagement/unifiedrole/permission.py +4 -0
- office365/directory/security/account.py +0 -1
- office365/directory/security/action.py +17 -0
- office365/directory/security/ai_agent_platform.py +15 -0
- office365/directory/security/alerts/alert.py +17 -0
- office365/directory/security/{blob_container_evidence.py → alerts/blob_container_evidence.py} +1 -1
- office365/directory/security/{blob_evidence.py → alerts/blob_evidence.py} +1 -1
- office365/directory/security/alerts/connection_direction.py +14 -0
- office365/directory/security/{sas_token_evidence.py → alerts/sas_token_evidence.py} +1 -1
- office365/directory/security/alerts/status.py +1 -2
- office365/directory/security/analyzed_message_evidence.py +3 -0
- office365/directory/security/antispam_directionality.py +15 -0
- office365/directory/security/attacksimulations/account_target_content_type.py +14 -0
- office365/directory/security/audit/audit_data.py +15 -0
- office365/directory/security/audit/audit_log_query_status.py +16 -0
- office365/directory/security/audit/multi_tenant_organization_join_request_transition_details.py +20 -0
- office365/directory/security/audit/multi_tenant_organization_member_transition_details.py +22 -0
- office365/directory/security/audit/whois_domain_status.py +16 -0
- office365/directory/security/{whois_record.py → audit/whois_record.py} +1 -1
- office365/directory/security/cases/additionaldataoptions.py +1 -0
- office365/directory/security/cases/ediscovery.py +3 -0
- office365/directory/security/cloud_application_evidence.py +3 -1
- office365/directory/security/cloud_logon_session_evidence.py +2 -0
- office365/directory/security/{analyzed_email_attachment.py → collaboration/analyzed_email_attachment.py} +3 -1
- office365/directory/security/{collaboration_root.py → collaboration/collaboration_root.py} +1 -1
- office365/directory/security/container_evidence.py +4 -0
- office365/directory/security/container_image_evidence.py +4 -1
- office365/directory/security/correlation_reason.py +28 -0
- office365/directory/security/datasecurity/classifcation_error_base.py +18 -0
- office365/directory/security/{audit_data.py → datasecurity/classification_error.py} +2 -2
- office365/directory/security/datasecurity/classification_inner_error.py +18 -0
- office365/directory/security/datasecurity/compute_rights_and_inheritance_result.py +17 -0
- office365/directory/security/datasecurity/custom_metadata_dictionary.py +10 -0
- office365/directory/security/datasecurity/dlp_action_info.py +15 -0
- office365/directory/security/{data_security → datasecurity}/governance.py +1 -1
- office365/directory/security/datasecurity/integrated_application_metadata.py +15 -0
- office365/directory/security/datasecurity/policy_binding.py +17 -0
- office365/directory/security/datasecurity/policy_location.py +14 -0
- office365/directory/security/datasecurity/policy_location_application.py +10 -0
- office365/directory/security/datasecurity/policy_location_domain.py +10 -0
- office365/directory/security/datasecurity/policy_location_url.py +10 -0
- office365/directory/security/datasecurity/policy_scope_base.py +26 -0
- office365/directory/security/datasecurity/policy_tenant_scope.py +15 -0
- office365/directory/security/datasecurity/policy_tip_action.py +16 -0
- office365/directory/security/datasecurity/policy_user_scope.py +10 -0
- office365/directory/security/datasecurity/process_content_batch_request.py +17 -0
- office365/directory/security/datasecurity/process_content_request.py +24 -0
- office365/directory/security/datasecurity/process_content_response.py +24 -0
- office365/directory/security/datasecurity/process_content_responses.py +16 -0
- office365/directory/security/datasecurity/process_conversation_metadata.py +27 -0
- office365/directory/security/datasecurity/process_file_metadata.py +16 -0
- office365/directory/security/datasecurity/protected_content.py +16 -0
- office365/directory/security/delivery_action.py +16 -0
- office365/directory/security/delivery_location.py +20 -0
- office365/directory/security/detonation_details.py +11 -0
- office365/directory/security/device_evidence.py +11 -0
- office365/directory/security/dns_evidence.py +6 -1
- office365/directory/security/event_source.py +14 -0
- office365/directory/security/file_plan_applied_category.py +4 -1
- office365/directory/security/formatted_content.py +16 -0
- office365/directory/security/indicator_source.py +14 -0
- office365/directory/security/intelligence_profile_kind.py +13 -0
- office365/directory/security/investigation_state.py +29 -0
- office365/directory/security/invoke_action_result.py +0 -1
- office365/directory/security/io_t_device_evidence.py +6 -1
- office365/directory/security/ip_evidence.py +2 -0
- office365/directory/security/kubernetes_controller_evidence.py +2 -0
- office365/directory/security/kubernetes_pod_evidence.py +10 -0
- office365/directory/security/labels/retention/duration_in_days.py +3 -0
- office365/directory/security/mailbox_configuration_type.py +16 -0
- office365/directory/security/mailbox_evidence.py +3 -1
- office365/directory/security/onboarding_status.py +15 -0
- office365/directory/security/passive_dns_record.py +1 -1
- office365/directory/security/processing_error.py +15 -0
- office365/directory/security/protocol_type.py +13 -0
- office365/directory/security/public_error_response.py +4 -1
- office365/directory/security/query_type.py +13 -0
- office365/directory/security/recipient_type.py +13 -0
- office365/directory/security/remediation_action.py +17 -0
- office365/directory/security/remediation_severity.py +14 -0
- office365/directory/security/security.py +1 -1
- office365/directory/security/sensor_candidate_activation_mode.py +13 -0
- office365/directory/security/service_principal_type.py +15 -0
- office365/directory/security/service_source.py +25 -0
- office365/directory/security/ssl_certificate.py +1 -1
- office365/directory/security/subdomain.py +1 -1
- office365/directory/security/subjectrightsrequests/all_mailbox_location.py +10 -0
- office365/directory/security/subjectrightsrequests/all_site_location.py +10 -0
- office365/directory/security/subjectrightsrequests/data_subject.py +17 -0
- office365/directory/security/subjectrightsrequests/detail.py +26 -0
- office365/directory/security/subjectrightsrequests/enumerated_mailbox_location.py +15 -0
- office365/directory/security/subjectrightsrequests/enumerated_site_location.py +15 -0
- office365/directory/security/subjectrightsrequests/history.py +22 -0
- office365/directory/security/subjectrightsrequests/mailbox_location.py +10 -0
- office365/directory/security/subjectrightsrequests/site_location.py +10 -0
- office365/directory/security/subjectrightsrequests/stage_detail.py +19 -0
- office365/directory/security/teams_delivery_location.py +15 -0
- office365/directory/security/teams_message_delivery_action.py +16 -0
- office365/directory/security/threat_type.py +16 -0
- office365/directory/security/{host.py → threatintelligence/host.py} +8 -8
- office365/directory/security/{host_component.py → threatintelligence/host_component.py} +1 -1
- office365/directory/security/{host_cookie.py → threatintelligence/host_cookie.py} +1 -1
- office365/directory/security/{host_pair.py → threatintelligence/host_pair.py} +1 -1
- office365/directory/security/{host_port.py → threatintelligence/host_port.py} +1 -1
- office365/directory/security/threatintelligence/host_port_banner.py +19 -0
- office365/directory/security/threatintelligence/host_port_component.py +19 -0
- office365/directory/security/threatintelligence/host_port_protocol.py +13 -0
- office365/directory/security/threatintelligence/host_port_status.py +14 -0
- office365/directory/security/threatintelligence/host_reputation_classification.py +15 -0
- office365/directory/security/threatintelligence/host_reputation_rule.py +16 -0
- office365/directory/security/threatintelligence/host_reputation_rule_severity.py +15 -0
- office365/directory/security/{host_ssl_certificate.py → threatintelligence/host_ssl_certificate.py} +1 -1
- office365/directory/security/{host_tracker.py → threatintelligence/host_tracker.py} +1 -1
- office365/directory/security/threatintelligence/hosts/__init__.py +0 -0
- office365/directory/security/threatintelligence/threat_intelligence.py +9 -9
- office365/directory/security/threatintelligence/whoisrecords/__init__.py +0 -0
- office365/directory/security/timeline_event_type.py +20 -0
- office365/directory/security/user_evidence.py +2 -0
- office365/directory/security/verdict_category.py +20 -0
- office365/directory/security/vm_cloud_provider.py +13 -0
- office365/directory/security/vulnerability_severity.py +16 -0
- office365/directory/security/whois_base_record.py +1 -1
- office365/directory/serviceprincipals/delegated_permission_classification.py +27 -0
- office365/directory/serviceprincipals/remote_desktop_security_configuration.py +16 -0
- office365/directory/single_service_principal.py +15 -0
- office365/directory/single_user.py +15 -0
- office365/directory/synchronization/attribute_mapping.py +23 -0
- office365/directory/synchronization/error.py +10 -1
- office365/directory/synchronization/job_application_parameters.py +19 -0
- office365/directory/synchronization/job_restart_criteria.py +7 -1
- office365/directory/synchronization/job_subject.py +17 -0
- office365/directory/synchronization/linked_objects.py +22 -0
- office365/directory/synchronization/metadata_entry.py +16 -0
- office365/directory/synchronization/on_premises_accidental_deletion_prevention.py +20 -0
- office365/directory/synchronization/on_premises_directory_synchronization_configuration.py +19 -0
- office365/directory/synchronization/on_premises_directory_synchronization_feature.py +33 -0
- office365/directory/synchronization/progress.py +4 -0
- office365/directory/synchronization/quarantine.py +11 -0
- office365/directory/synchronization/rule.py +32 -0
- office365/directory/synchronization/schedule.py +18 -0
- office365/directory/synchronization/secret_key_string_value_pair.py +16 -0
- office365/directory/synchronization/status.py +17 -3
- office365/directory/synchronization/task_execution.py +26 -1
- office365/directory/target_agent_identity_sponsors_or_owners.py +10 -0
- office365/directory/target_application_owners.py +10 -0
- office365/directory/target_manager.py +14 -0
- office365/directory/target_user_sponsors.py +10 -0
- office365/directory/tenantinformation/information.py +4 -0
- office365/directory/users/activities/activity.py +42 -8
- office365/directory/users/settings.py +5 -13
- office365/directory/users/user.py +4 -3
- office365/directory/users/work_location_update_scope.py +13 -0
- office365/education/related_contact.py +19 -0
- office365/entity_collection.py +2 -22
- office365/externalconnectors/acl_type.py +16 -0
- office365/externalconnectors/binary_operator.py +12 -0
- office365/externalconnectors/connection_operation_status.py +15 -0
- office365/externalconnectors/connection_state.py +15 -0
- office365/externalconnectors/external_activity_type.py +15 -0
- office365/externalconnectors/external_item_content_type.py +13 -0
- office365/externalconnectors/identity_type.py +14 -0
- office365/externalconnectors/label.py +65 -0
- office365/externalconnectors/property_type.py +22 -0
- office365/externalconnectors/rule_operation.py +19 -0
- office365/graph_client.py +164 -16
- office365/graph_request.py +3 -1
- office365/intune/browser/browser_site_history.py +25 -0
- office365/intune/devices/alternative_security_id.py +5 -0
- office365/intune/devices/cloud_pc_launch_detail.py +22 -0
- office365/intune/devices/cloud_pc_windows_setting.py +14 -0
- office365/intune/devices/device_metadata.py +17 -0
- office365/intune/devices/enumerated_device_registration_membership.py +16 -0
- office365/intune/devices/imported_windows_autopilot_device_identity_import_status.py +15 -0
- office365/intune/devices/imported_windows_autopilot_device_identity_upload_status.py +14 -0
- office365/intune/devices/management/all_device_registration_membership.py +10 -0
- office365/intune/devices/management/device_protection_overview.py +24 -0
- office365/intune/devices/management/managed/managed.py +79 -0
- office365/intune/devices/management/managed/windows/autopilot_device_type.py +13 -0
- office365/intune/devices/management/managed/windows/defender_product_status.py +36 -0
- office365/intune/devices/management/managed/windows/information_protection_enforcement_level.py +14 -0
- office365/intune/devices/management/mobileapps/file_encryption_info.py +20 -0
- office365/intune/devices/management/mobileapps/ios/ios_device_type.py +15 -0
- office365/intune/devices/management/user_experience_analytics_settings.py +14 -0
- office365/intune/devices/management/user_experience_analytics_summarized_by.py +17 -0
- office365/intune/devices/management/virtualendpoint/cloudpcs/exclusion_group_assignment_target.py +10 -0
- office365/intune/devices/management/virtualendpoint/cloudpcs/group_assignment_target.py +16 -0
- office365/intune/devices/management/virtualendpoint/provisioningpolicies/microsoft_managed_desktop.py +18 -0
- office365/intune/devices/management/windows_malware_overview.py +16 -0
- office365/intune/devices/no_device_registration_membership.py +10 -0
- office365/intune/devices/operating_system_specifications.py +15 -0
- office365/intune/enrollment_state.py +15 -0
- office365/intune/instance_resource_access.py +19 -0
- office365/intune/organizations/content_customization.py +15 -0
- office365/intune/organizations/login_page_layout_configuration.py +17 -0
- office365/intune/organizations/login_page_text_visibility_settings.py +19 -0
- office365/intune/organizations/physical_office_address.py +19 -0
- office365/intune/organizations/privacy_profile.py +15 -0
- office365/intune/policies/azure_ad_join_policy.py +18 -0
- office365/intune/policies/local_admin_password_settings.py +14 -0
- office365/intune/policies/local_admin_settings.py +16 -0
- office365/intune/print/printers/incompatible_printer_settings.py +13 -0
- office365/intune/print/user_print.py +0 -2
- office365/intune/process_integrity_level.py +17 -0
- office365/intune/resource_permission.py +15 -0
- office365/limits.py +66 -0
- office365/migration/__init__.py +127 -7
- office365/migration/adapters/__init__.py +104 -0
- office365/migration/adapters/filesystem.py +177 -0
- office365/migration/assessment/__init__.py +27 -0
- office365/migration/assessment/containers.py +24 -0
- office365/migration/assessment/export.py +51 -0
- office365/migration/assessment/issue.py +19 -0
- office365/migration/assessment/registry.py +60 -0
- office365/migration/assessment/report.py +153 -31
- office365/migration/assessment/runner.py +57 -0
- office365/migration/assessment/scanners/__init__.py +13 -0
- office365/migration/assessment/scanners/base.py +123 -0
- office365/migration/base.py +85 -11
- office365/migration/checkpoint.py +76 -0
- office365/migration/job.py +209 -0
- office365/migration/manifest.py +71 -0
- office365/migration/outlook/__init__.py +20 -0
- office365/migration/outlook/assessor.py +73 -0
- office365/migration/outlook/registry.py +27 -0
- office365/migration/outlook/scanner.py +82 -0
- office365/migration/package/__init__.py +82 -0
- office365/migration/package/builder.py +603 -0
- office365/migration/package/crypto.py +54 -0
- office365/migration/package/manifest_xml.py +495 -0
- office365/migration/package/staging.py +180 -0
- office365/migration/report.py +116 -0
- office365/migration/report_io.py +79 -0
- office365/migration/runner.py +315 -0
- office365/migration/server_job.py +202 -0
- office365/migration/session.py +188 -0
- office365/migration/settings.py +67 -0
- office365/migration/sharepoint/__init__.py +55 -0
- office365/migration/sharepoint/adapters.py +520 -0
- office365/migration/sharepoint/assessor.py +348 -0
- office365/migration/sharepoint/options.py +57 -0
- office365/migration/sharepoint/package_target.py +209 -0
- office365/migration/sharepoint/registry.py +70 -0
- office365/migration/sharepoint/resolvers.py +96 -0
- office365/migration/sharepoint/scanners/__init__.py +56 -0
- office365/migration/sharepoint/scanners/browser_file_handling.py +55 -0
- office365/migration/sharepoint/scanners/checked_out_files.py +57 -0
- office365/migration/sharepoint/scanners/fields.py +52 -0
- office365/migration/sharepoint/scanners/file_versions.py +56 -0
- office365/migration/sharepoint/scanners/files.py +28 -0
- office365/migration/sharepoint/scanners/large_excel_files.py +56 -0
- office365/migration/sharepoint/scanners/large_lists.py +58 -0
- office365/migration/sharepoint/scanners/large_sites.py +125 -0
- office365/migration/sharepoint/scanners/locked_sites.py +38 -0
- office365/migration/sharepoint/scanners/long_onedrive_urls.py +52 -0
- office365/migration/sharepoint/scanners/lookup.py +38 -0
- office365/migration/sharepoint/scanners/paths.py +50 -0
- office365/migration/sharepoint/scanners/permissions.py +42 -0
- office365/migration/sharepoint/scanners/smat.py +51 -0
- office365/migration/sharepoint/scanners/summary.py +38 -0
- office365/migration/sharepoint/scanners/thicket_folders.py +38 -0
- office365/migration/sharepoint/scanners/unsupported_site_templates.py +90 -0
- office365/migration/sharepoint/tenant_assessor.py +95 -0
- office365/migration/sharepoint/transfer.py +94 -0
- office365/migration/tasks.py +121 -0
- office365/migration/teams/__init__.py +29 -0
- office365/migration/teams/_extract.py +108 -0
- office365/migration/teams/adapters.py +190 -0
- office365/migration/teams/models.py +73 -0
- office365/migration/validators.py +48 -0
- office365/onedrive/base_item.py +10 -15
- office365/onedrive/contenttypes/content_type.py +8 -13
- office365/onedrive/documentsets/version.py +3 -6
- office365/onedrive/driveitems/audio.py +16 -0
- office365/onedrive/driveitems/bundle.py +4 -0
- office365/onedrive/driveitems/driveItem.py +237 -31
- office365/onedrive/driveitems/image.py +4 -0
- office365/onedrive/driveitems/malware.py +14 -0
- office365/onedrive/driveitems/package.py +14 -0
- office365/onedrive/driveitems/photo.py +13 -1
- office365/onedrive/driveitems/publication_facet.py +4 -0
- office365/onedrive/driveitems/remote_item.py +18 -0
- office365/onedrive/driveitems/special_folder.py +4 -0
- office365/onedrive/driveitems/uploadable_properties.py +2 -2
- office365/onedrive/driveitems/video.py +15 -1
- office365/onedrive/drives/drive.py +9 -0
- office365/onedrive/drives/quota.py +9 -1
- office365/onedrive/files/file.py +4 -0
- office365/onedrive/files/system_info.py +4 -0
- office365/onedrive/filestorage/containertypes/app_permission.py +20 -1
- office365/onedrive/filestorage/containertypes/billing_classification.py +8 -0
- office365/onedrive/filestorage/containertypes/billing_status.py +7 -0
- office365/onedrive/filestorage/containertypes/settings_override.py +17 -0
- office365/onedrive/folders/folder.py +4 -0
- office365/onedrive/internal/paths/shared.py +1 -3
- office365/onedrive/internal/paths/site.py +2 -1
- office365/onedrive/listitems/collection.py +2 -2
- office365/onedrive/lists/info.py +4 -0
- office365/onedrive/operations/pending.py +4 -0
- office365/onedrive/operations/public_inner_error.py +21 -0
- office365/onedrive/sensitivitylabels/usagerights.py +1 -1
- office365/onedrive/share_point_migration_job_error_level.py +15 -0
- office365/onedrive/share_point_migration_object_type.py +20 -0
- office365/onedrive/shares/shared.py +4 -0
- office365/onedrive/sites/collection.py +4 -0
- office365/onedrive/sites/sites_with_root.py +3 -3
- office365/onedrive/sites/website.py +17 -0
- office365/onedrive/sites/website_type.py +15 -0
- office365/onedrive/termstore/groups/collection.py +3 -10
- office365/onedrive/termstore/groups/group.py +6 -1
- office365/onedrive/termstore/relation_type.py +13 -0
- office365/onedrive/termstore/sets/collection.py +3 -10
- office365/onedrive/termstore/store.py +14 -29
- office365/onedrive/termstore/store_manager.py +128 -0
- office365/onedrive/termstore/terms/collection.py +4 -11
- office365/onedrive/workbooks/charts/axes.py +4 -10
- office365/onedrive/workbooks/filter_criteria.py +9 -0
- office365/onedrive/workbooks/filter_datetime.py +15 -0
- office365/onedrive/workbooks/icon.py +7 -1
- office365/onedrive/workbooks/operations/error.py +4 -0
- office365/onedrive/workbooks/ranges/reference.py +4 -0
- office365/onedrive/workbooks/session_info.py +4 -0
- office365/onedrive/workbooks/sort_field.py +5 -0
- office365/onedrive/workbooks/workbook.py +7 -0
- office365/onedrive/workbooks/worksheets/protection_options.py +4 -0
- office365/onedrive/workbooks/worksheets/worksheet.py +5 -3
- office365/onenote/pages/collection.py +1 -1
- office365/onenote/pages/page.py +5 -11
- office365/outlook/calendar/attendees/attendee.py +4 -0
- office365/outlook/calendar/attendees/availability.py +4 -0
- office365/outlook/calendar/attendees/base.py +4 -0
- office365/outlook/calendar/collection.py +7 -0
- office365/outlook/calendar/events/event.py +8 -14
- office365/outlook/calendar/events/reminder.py +4 -0
- office365/outlook/calendar/location_constraint.py +4 -0
- office365/outlook/calendar/meetingtimes/suggestion.py +8 -0
- office365/outlook/calendar/meetingtimes/suggestions_result.py +4 -0
- office365/outlook/calendar/meetingtimes/time_constraint.py +4 -0
- office365/outlook/calendar/response_status.py +7 -1
- office365/outlook/calendar/schedule/free_busy_error.py +15 -0
- office365/outlook/calendar/schedule/information.py +4 -0
- office365/outlook/calendar/schedule/item.py +4 -0
- office365/outlook/calendar/sharing/message_action.py +11 -1
- office365/outlook/calendar/timezones/base.py +4 -0
- office365/outlook/calendar/timezones/custom.py +9 -1
- office365/outlook/calendar/timezones/daylight_time_zone_offset.py +14 -0
- office365/outlook/calendar/working_hours.py +4 -0
- office365/outlook/check_in_method.py +15 -0
- office365/outlook/contacts/folders/collection.py +4 -13
- office365/outlook/convert_id_result.py +7 -1
- office365/outlook/item.py +3 -11
- office365/outlook/locale_info.py +4 -0
- office365/outlook/mail/attachments/attachment_item.py +7 -0
- office365/outlook/mail/attachments/collection.py +33 -18
- office365/outlook/mail/automaticreplies/mailtips.py +4 -0
- office365/outlook/mail/automaticreplies/setting.py +4 -0
- office365/outlook/mail/email_details.py +16 -0
- office365/outlook/mail/export_item_response.py +19 -0
- office365/outlook/mail/folders/folder.py +5 -11
- office365/outlook/mail/location.py +1 -1
- office365/outlook/mail/location_constraint_item.py +8 -1
- office365/outlook/mail/mailbox_item_import_session.py +16 -0
- office365/outlook/mail/messages/collection.py +1 -1
- office365/outlook/mail/messages/followup_flag.py +4 -0
- office365/outlook/mail/messages/internet_header.py +4 -0
- office365/outlook/mail/messages/message.py +21 -7
- office365/outlook/mail/messages/rules/actions.py +4 -0
- office365/outlook/mail/messages/rules/predicates.py +29 -0
- office365/outlook/mail/messages/rules/rule.py +1 -1
- office365/outlook/mail/messages/rules/size_range.py +15 -0
- office365/outlook/mail/patterned_recurrence.py +4 -0
- office365/outlook/mail/recurrence_pattern.py +4 -0
- office365/outlook/mail/recurrence_range.py +4 -0
- office365/outlook/mail/tips/error.py +7 -1
- office365/outlook/people/person_type.py +14 -0
- office365/outlook/place_feature_enablement.py +14 -0
- office365/outlook/resource_link.py +17 -0
- office365/outlook/resource_link_type.py +12 -0
- office365/outlook/scored_email_address.py +18 -0
- office365/outlook/timezones/information.py +4 -0
- office365/outlook/timezones/standard_time_zone_offset.py +20 -0
- office365/partners/billing/attribute_set.py +13 -0
- office365/partners/billing/billing_period.py +13 -0
- office365/partners/partners.py +5 -4
- office365/planner/buckets/collection.py +2 -2
- office365/planner/plans/details.py +3 -9
- office365/planner/user.py +6 -4
- office365/reports/internal/queries/create_report_query.py +26 -12
- office365/reports/print_usage.py +67 -0
- office365/reports/print_usage_by_printer.py +21 -0
- office365/reports/print_usage_by_user.py +16 -0
- office365/reports/relying_party_detailed_summary.py +70 -0
- office365/reports/root.py +77 -95
- office365/runtime/auth/authentication_context.py +46 -15
- office365/runtime/auth/entra/authentication_context.py +22 -2
- office365/runtime/auth/providers/acs_token_provider.py +6 -2
- office365/runtime/auth/providers/cookie_provider.py +7 -3
- office365/runtime/auth/providers/saml_token_provider.py +6 -2
- office365/runtime/auth/sts_profile.py +1 -1
- office365/runtime/client_object.py +68 -67
- office365/runtime/client_object_collection.py +143 -30
- office365/runtime/client_request.py +77 -1
- office365/runtime/client_request_exception.py +173 -26
- office365/runtime/client_result.py +26 -18
- office365/runtime/client_runtime_context.py +303 -25
- office365/runtime/client_value.py +14 -40
- office365/runtime/client_value_collection.py +4 -8
- office365/runtime/converters/__init__.py +1 -0
- office365/runtime/converters/csv_reader.py +94 -0
- office365/runtime/converters/csv_writer.py +66 -0
- office365/runtime/converters/dataframe.py +202 -0
- office365/runtime/converters/excel.py +44 -0
- office365/runtime/converters/json_file.py +30 -0
- office365/runtime/converters/keyvalue.py +95 -0
- office365/runtime/converters/ndjson.py +17 -0
- office365/runtime/converters/parquet.py +67 -0
- office365/runtime/converters/records.py +101 -0
- office365/runtime/converters/registry.py +185 -0
- office365/runtime/converters/scalars.py +159 -0
- office365/runtime/converters/sql.py +69 -0
- office365/runtime/converters/streamers.py +105 -0
- office365/runtime/converters/streams.py +42 -0
- office365/runtime/converters/upsert.py +101 -0
- office365/runtime/converters/value.py +186 -0
- office365/runtime/decorators.py +27 -0
- office365/runtime/exceptions.py +105 -0
- office365/runtime/http/mime.py +12 -0
- office365/runtime/http/prefer.py +26 -0
- office365/runtime/http/throttling.py +407 -0
- office365/runtime/http/url.py +36 -0
- office365/runtime/imports.py +571 -0
- office365/runtime/limits.py +455 -0
- office365/runtime/odata/batch_util.py +92 -0
- office365/runtime/odata/query_options.py +26 -1
- office365/runtime/odata/request.py +38 -18
- office365/runtime/odata/type.py +48 -105
- office365/runtime/odata/v3/batch_request.py +90 -1
- office365/runtime/odata/v4/batch_request.py +106 -3
- office365/runtime/odata/v4/upload_session.py +4 -0
- office365/runtime/odata/v4/upload_session_request.py +26 -10
- office365/runtime/operations.py +164 -0
- office365/runtime/parallel.py +94 -0
- office365/runtime/paths/builder.py +4 -2
- office365/runtime/paths/v4/entity.py +2 -2
- office365/runtime/queries/batch.py +40 -14
- office365/runtime/queries/client_query.py +8 -10
- office365/runtime/queries/deferred.py +72 -0
- office365/runtime/queries/delete_entity.py +2 -2
- office365/runtime/queries/function.py +35 -1
- office365/runtime/queries/get_or_create.py +109 -0
- office365/runtime/queries/read_entity.py +23 -4
- office365/runtime/queries/update_entity.py +2 -2
- office365/runtime/queries/upload_session.py +1 -1
- office365/runtime/record_collection.py +443 -0
- office365/runtime/retry.py +203 -0
- office365/runtime/transport/base.py +6 -1
- office365/runtime/transport/requests_transport.py +4 -0
- office365/runtime/transport/throttled_transport.py +67 -0
- office365/runtime/types/binary_content.py +14 -0
- office365/runtime/types/ipv4_cidr_range.py +14 -0
- office365/runtime/types/ipv6_cidr_range.py +14 -0
- office365/runtime/types/json.py +10 -0
- office365/runtime/types/odata_property.py +7 -0
- office365/runtime/types/public_error.py +23 -0
- office365/runtime/types/public_inner_error.py +21 -0
- office365/runtime/types/setting_value.py +15 -0
- office365/runtime/verification.py +40 -0
- office365/search/request.py +2 -2
- office365/sharepoint/activities/logger.py +118 -8
- office365/sharepoint/administration/analytics/usage_service.py +15 -7
- office365/sharepoint/administration/sitemove/service.py +791 -8
- office365/sharepoint/agreements/summarydata.py +15 -5
- office365/sharepoint/alerts/alert.py +79 -0
- office365/sharepoint/apps/app_collection.py +25 -0
- office365/sharepoint/apps/launcher.py +16 -0
- office365/sharepoint/authentication/auth_file_detonation_request_response.py +48 -0
- office365/sharepoint/authentication/spo_auth_file_detonation_request.py +7 -0
- office365/sharepoint/authpolicy/tenant/compliancereport.py +5 -0
- office365/sharepoint/brandcenter/brand_font_file_delete_result.py +9 -0
- office365/sharepoint/businessdata/app_bdc_catalog.py +135 -0
- office365/sharepoint/businessdata/entityfieldvaluedictionary.py +65 -0
- office365/sharepoint/businessdata/entityidentifier.py +23 -0
- office365/sharepoint/businessdata/entityinstance.py +52 -0
- office365/sharepoint/businessdata/entityview.py +31 -0
- office365/sharepoint/businessdata/externalsubscriptionstore.py +9 -0
- office365/sharepoint/businessdata/typedescriptor.py +37 -0
- office365/sharepoint/changes/change.py +6 -0
- office365/sharepoint/changes/collection.py +1 -1
- office365/sharepoint/changes/item.py +4 -10
- office365/sharepoint/client_context.py +109 -47
- office365/sharepoint/clientsidecomponent/agreementssolutionfilecontext.py +1 -0
- office365/sharepoint/clientsidecomponent/hostedapps/app.py +21 -0
- office365/sharepoint/clientsidecomponent/hostedapps/manager.py +16 -0
- office365/sharepoint/clientsidecomponent/spteamsappcomponent.py +3 -0
- office365/sharepoint/comments/comment.py +84 -10
- office365/sharepoint/comments/contentanchor.py +6 -0
- office365/sharepoint/compliance/store_proxy.py +306 -68
- office365/sharepoint/compliance/tags/tag.py +3 -0
- office365/sharepoint/containers/active/properties.py +3 -0
- office365/sharepoint/contentcenter/machinelearning/column_autofill_choice_settings.py +15 -0
- office365/sharepoint/contentcenter/machinelearning/column_autofill_preview_data.py +25 -0
- office365/sharepoint/contentcenter/machinelearning/column_autofill_preview_result.py +12 -0
- office365/sharepoint/contentcenter/machinelearning/hub.py +231 -29
- office365/sharepoint/contentcenter/machinelearning/list_autofill_entity_data.py +15 -0
- office365/sharepoint/contentcenter/machinelearning/list_autofill_item_results.py +18 -0
- office365/sharepoint/contentcenter/machinelearning/modeldependencies.py +4 -3
- office365/sharepoint/contentcenter/machinelearning/models/model.py +231 -0
- office365/sharepoint/contentcenter/machinelearning/publications/publication.py +168 -0
- office365/sharepoint/contentcenter/machinelearning/samples/sample.py +120 -0
- office365/sharepoint/contentcenter/machinelearning/sp_machine_learning_doc_lib_autofill_item_results.py +19 -0
- office365/sharepoint/contentcenter/machinelearning/workitems/item.py +69 -0
- office365/sharepoint/contentsolution/template_api.py +148 -0
- office365/sharepoint/contenttypes/collection.py +37 -16
- office365/sharepoint/contenttypes/content_type.py +4 -10
- office365/sharepoint/contenttypes/fieldlinks/collection.py +5 -7
- office365/sharepoint/convergence/addnoliveblobsinodcservicestateapi.py +9 -0
- office365/sharepoint/convergence/consumer_permissions.py +15 -0
- office365/sharepoint/convergence/migration_complete_state_api.py +25 -0
- office365/sharepoint/convergence/odcmetadatacleanedupapi.py +9 -0
- office365/sharepoint/directory/helper.py +5 -5
- office365/sharepoint/directory/multi_conditional_access_policy.py +37 -0
- office365/sharepoint/directory/named_location_policy.py +62 -0
- office365/sharepoint/directory/provider/provider.py +1 -1
- office365/sharepoint/documentmanagement/document_id.py +12 -0
- office365/sharepoint/entity.py +18 -5
- office365/sharepoint/entity_collection.py +2 -2
- office365/sharepoint/eventreceivers/definition_collection.py +32 -0
- office365/sharepoint/exceptions.py +194 -0
- office365/sharepoint/fields/builtin_field_id.py +45 -34
- office365/sharepoint/fields/builtin_field_name.py +123 -0
- office365/sharepoint/fields/coercion.py +131 -0
- office365/sharepoint/fields/collection.py +182 -67
- office365/sharepoint/fields/field.py +21 -2
- office365/sharepoint/fields/name.py +55 -0
- office365/sharepoint/files/checked_out_file.py +2 -6
- office365/sharepoint/files/collection.py +81 -8
- office365/sharepoint/files/file.py +122 -14
- office365/sharepoint/files/file_url_virus_status_update.py +22 -0
- office365/sharepoint/files/versionbatchdeleteparameters.py +1 -0
- office365/sharepoint/files/versions/version.py +40 -21
- office365/sharepoint/folders/collection.py +9 -2
- office365/sharepoint/folders/folder.py +271 -29
- office365/sharepoint/htmlpages/html_page.py +16 -0
- office365/sharepoint/htmlpages/html_page_service.py +19 -0
- office365/sharepoint/internal/image_content_part.py +5 -0
- office365/sharepoint/internal/paths/web.py +3 -1
- office365/sharepoint/internal/sticky_routing_options.py +13 -0
- office365/sharepoint/ir/migration.py +9 -0
- office365/sharepoint/likes/liked_by_information.py +2 -6
- office365/sharepoint/listitems/caml/__init__.py +31 -0
- office365/sharepoint/listitems/caml/builder.py +129 -0
- office365/sharepoint/listitems/caml/expressions.py +424 -0
- office365/sharepoint/listitems/caml/fields.py +68 -0
- office365/sharepoint/listitems/caml/guard.py +63 -0
- office365/sharepoint/listitems/caml/query.py +71 -2
- office365/sharepoint/listitems/caml/values.py +113 -0
- office365/sharepoint/listitems/collection.py +39 -10
- office365/sharepoint/listitems/compliance_info.py +1 -0
- office365/sharepoint/listitems/form_update_value.py +2 -1
- office365/sharepoint/listitems/listdata_validation_exception_value.py +3 -1
- office365/sharepoint/listitems/listitem.py +5 -5
- office365/sharepoint/listitems/upsert.py +75 -0
- office365/sharepoint/listitems/versions/version.py +3 -15
- office365/sharepoint/lists/batch_convert_item_result.py +19 -0
- office365/sharepoint/lists/batch_convert_result.py +17 -0
- office365/sharepoint/lists/collection.py +43 -0
- office365/sharepoint/lists/conversion_loss_item.py +13 -0
- office365/sharepoint/lists/conversion_loss_report.py +18 -0
- office365/sharepoint/lists/exporter.py +4 -3
- office365/sharepoint/lists/extended_share_point_permission_settings.py +17 -0
- office365/sharepoint/lists/list.py +459 -26
- office365/sharepoint/lists/list_forms_api.py +7 -0
- office365/sharepoint/lists/smart_wiki_library_utility.py +58 -0
- office365/sharepoint/logger/activityrequest.py +3 -0
- office365/sharepoint/logger/export.py +12 -0
- office365/sharepoint/marketplace/app_metadata.py +97 -1
- office365/sharepoint/marketplace/appstatequeryjobdefinition.py +9 -0
- office365/sharepoint/marketplace/corporatecuratedgallery/addins/permission_response.py +7 -3
- office365/sharepoint/marketplace/corporatecuratedgallery/available_addins_response.py +3 -1
- office365/sharepoint/marketplace/corporatecuratedgallery/carddesigns/card_designs.py +35 -0
- office365/sharepoint/marketplace/sitecollection/appcatalog/allowed_item.py +5 -0
- office365/sharepoint/marketplace/tenant/appcatalog/accessor.py +110 -39
- office365/sharepoint/microfeed/attachment_store.py +69 -0
- office365/sharepoint/microfeed/data.py +58 -0
- office365/sharepoint/microfeed/manager.py +259 -0
- office365/sharepoint/microfeed/microfeedstore.py +69 -0
- office365/sharepoint/microservice/manager.py +61 -0
- office365/sharepoint/migrationcenter/common/task.py +193 -4
- office365/sharepoint/migrationcenter/common/task_entity_data.py +1 -1
- office365/sharepoint/migrationcenter/deploy_status.py +13 -0
- office365/sharepoint/migrationcenter/service/performance/dashboard_data.py +4 -2
- office365/sharepoint/migrationcenter/service/properties.py +20 -0
- office365/sharepoint/migrationcenter/service/storage.py +34 -0
- office365/sharepoint/migrationcenter/spflight.py +13 -0
- office365/sharepoint/migrationcenter/urlparseresult.py +77 -0
- office365/sharepoint/multigeo/service/dfdeprecationjob.py +8 -1
- office365/sharepoint/multigeo/service/geoexperience.py +15 -0
- office365/sharepoint/multigeo/service/groupmovejob.py +9 -0
- office365/sharepoint/multigeo/service/move_job_report.py +23 -0
- office365/sharepoint/multigeo/service/movesiterostate.py +8 -1
- office365/sharepoint/multigeo/service/partner_company_id_lookup.py +22 -0
- office365/sharepoint/multigeo/service/services.py +3 -6
- office365/sharepoint/multigeo/service/sitemovejob.py +9 -0
- office365/sharepoint/multigeo/service/spmultigeoproxy.py +13 -0
- office365/sharepoint/navigation/menu/node.py +5 -3
- office365/sharepoint/navigation/menu/state.py +1 -1
- office365/sharepoint/navigation/nodes/collection.py +36 -1
- office365/sharepoint/navigation/service.py +2 -8
- office365/sharepoint/navigation/servicerest.py +127 -0
- office365/sharepoint/oauth/authentication.py +13 -0
- office365/sharepoint/permissions/roles/assignments/assignment.py +2 -8
- office365/sharepoint/permissions/roles/definitions/definition.py +3 -9
- office365/sharepoint/portal/groups/service.py +12 -0
- office365/sharepoint/portal/groups/site_manager.py +283 -32
- office365/sharepoint/portal/linkedsites/manager.py +25 -3
- office365/sharepoint/portal/sites/manager.py +197 -0
- office365/sharepoint/portal/theme_manager.py +120 -8
- office365/sharepoint/principal/principal.py +3 -8
- office365/sharepoint/principal/users/user.py +15 -6
- office365/sharepoint/publishing/announcements/controller.py +31 -0
- office365/sharepoint/publishing/campaign/campaign.py +36 -1
- office365/sharepoint/publishing/content_distribution_controller.py +23 -0
- office365/sharepoint/publishing/copytoparams.py +3 -0
- office365/sharepoint/publishing/diagnostics/controller.py +12 -0
- office365/sharepoint/publishing/emailpublishingstatus.py +4 -2
- office365/sharepoint/publishing/engage_distribution_info.py +2 -0
- office365/sharepoint/publishing/feedvideopage.py +351 -0
- office365/sharepoint/publishing/navigation/structural_navigation_cache_wrapper.py +40 -0
- office365/sharepoint/publishing/pages/3d/page.py +308 -0
- office365/sharepoint/publishing/pages/campaign/publication.py +549 -7
- office365/sharepoint/publishing/pages/metadata.py +6 -11
- office365/sharepoint/publishing/pages/page.py +358 -6
- office365/sharepoint/publishing/pages/reposts/repost.py +327 -0
- office365/sharepoint/publishing/pages/service.py +95 -43
- office365/sharepoint/publishing/pages/topics/topic.py +307 -0
- office365/sharepoint/publishing/point/post.py +28 -0
- office365/sharepoint/publishing/point/postservicemanager.py +31 -0
- office365/sharepoint/publishing/point/tenantmanager.py +9 -0
- office365/sharepoint/publishing/point/user.py +9 -0
- office365/sharepoint/publishing/portallaunchwavesmanager.py +36 -0
- office365/sharepoint/publishing/portalnavigationcachewrapper.py +21 -0
- office365/sharepoint/publishing/rich_sharing.py +12 -0
- office365/sharepoint/publishing/sites/communication/site.py +14 -6
- office365/sharepoint/publishing/video/channel.py +112 -0
- office365/sharepoint/publishing/video/item.py +231 -0
- office365/sharepoint/publishing/videopermissiongroup.py +16 -0
- office365/sharepoint/quotamanagement/consumer/consumer_quota_info_api.py +14 -0
- office365/sharepoint/quotamanagement/consumer/non_quota_backfill_api.py +23 -0
- office365/sharepoint/quotamanagement/consumer/nonquotamigrationapi.py +9 -0
- office365/sharepoint/quotamanagement/consumer/quotamigrationapi.py +13 -0
- office365/sharepoint/request.py +90 -21
- office365/sharepoint/search/administration/document_crawl_log.py +24 -7
- office365/sharepoint/search/administration/providers/crawl_versions_info.py +29 -0
- office365/sharepoint/search/administration/providers/recycle_bin_info.py +23 -0
- office365/sharepoint/search/administration/providers/site_content_processing_info.py +67 -0
- office365/sharepoint/search/analytics/signal_store.py +15 -0
- office365/sharepoint/search/promoted_result_query_rule.py +6 -2
- office365/sharepoint/search/ranking_labeling.py +11 -0
- office365/sharepoint/search/relevant_results.py +1 -1
- office365/sharepoint/search/reordering_rule_collection.py +30 -0
- office365/sharepoint/search/result.py +1 -1
- office365/sharepoint/search/service.py +61 -0
- office365/sharepoint/search/setting.py +75 -15
- office365/sharepoint/search/simple_data_row.py +1 -1
- office365/sharepoint/sharing/direct_abilities.py +1 -0
- office365/sharepoint/sharing/main_link_audience_role_abilities.py +17 -0
- office365/sharepoint/sharing/mainlinkabilities.py +3 -3
- office365/sharepoint/sharing/mainlinkaudienceabilities.py +4 -0
- office365/sharepoint/sharing/mainlinkinfo.py +4 -0
- office365/sharepoint/sharing/object_sharing_settings.py +4 -10
- office365/sharepoint/sitedesigns/app_settings_in_teams.py +6 -1
- office365/sharepoint/sitedesigns/creation_info.py +1 -1
- office365/sharepoint/sitedesigns/insert_field_response.py +10 -1
- office365/sharepoint/sitedesigns/main_link_details.py +2 -0
- office365/sharepoint/sitedesigns/sectiondesignideasapi.py +26 -0
- office365/sharepoint/sitedesigns/thread_engagement_data.py +2 -0
- office365/sharepoint/sites/home/sharepointhomeservicemanager.py +18 -0
- office365/sharepoint/sites/manager/baaa_request.py +2 -0
- office365/sharepoint/sites/manager/service.py +192 -5
- office365/sharepoint/sites/site.py +988 -65
- office365/sharepoint/sites/siteprovisioninginfoprovider.py +13 -0
- office365/sharepoint/sites/version_policy_manager.py +6 -10
- office365/sharepoint/sitescripts/utility.py +1 -1
- office365/sharepoint/social/rest_thread.py +2 -6
- office365/sharepoint/taxonomy/field.py +1 -0
- office365/sharepoint/taxonomy/groups/group.py +2 -6
- office365/sharepoint/taxonomy/item.py +12 -6
- office365/sharepoint/taxonomy/service.py +18 -2
- office365/sharepoint/teams/manage_channel_capabilities_request.py +3 -0
- office365/sharepoint/tenant/administration/bulk_insert_operation_result.py +5 -0
- office365/sharepoint/tenant/administration/catalog_management_category.py +23 -0
- office365/sharepoint/tenant/administration/catalog_management_custom_property_map.py +3 -0
- office365/sharepoint/tenant/administration/catalog_management_group.py +16 -0
- office365/sharepoint/tenant/administration/catalog_management_schema.py +18 -0
- office365/sharepoint/tenant/administration/catalog_management_status.py +23 -0
- office365/sharepoint/tenant/administration/container/properties.py +6 -0
- office365/sharepoint/tenant/administration/datagovernance/insight_client.py +292 -23
- office365/sharepoint/tenant/administration/dataset_metadata_response.py +6 -0
- office365/sharepoint/tenant/administration/ddiadapter.py +97 -0
- office365/sharepoint/tenant/administration/internal/aad/collection.py +20 -0
- office365/sharepoint/tenant/administration/internal/aad/permission_grant.py +0 -19
- office365/sharepoint/tenant/administration/internal/appservice/permission_request.py +72 -1
- office365/sharepoint/tenant/administration/internal/appservice/principal.py +1 -3
- office365/sharepoint/tenant/administration/odb_license_enforcement_service.py +26 -0
- office365/sharepoint/tenant/administration/ransomware/activitiesoverview.py +2 -1
- office365/sharepoint/tenant/administration/rcd_categories_map.py +19 -0
- office365/sharepoint/tenant/administration/rcd_category_detail_result.py +17 -0
- office365/sharepoint/tenant/administration/rcd_group_definition.py +19 -0
- office365/sharepoint/tenant/administration/rcd_group_metadata.py +20 -0
- office365/sharepoint/tenant/administration/rcd_save_result.py +12 -0
- office365/sharepoint/tenant/administration/rcd_site_status_detail.py +18 -0
- office365/sharepoint/tenant/administration/secondary_administrators_info.py +0 -7
- office365/sharepoint/tenant/administration/site_property_scope_config.py +1 -0
- office365/sharepoint/tenant/administration/sites/properties.py +564 -6
- office365/sharepoint/tenant/administration/spdatagovernancesarrestapiclient.py +60 -1
- office365/sharepoint/tenant/administration/spom365agentinsightsm365agentsonsitesdetails.py +3 -1
- office365/sharepoint/tenant/administration/tenant.py +94 -227
- office365/sharepoint/tenant/administration/tenant_admin_ransomware_event_site_restore_point.py +1 -0
- office365/sharepoint/tenant/administration/tenant_data_loss_prevention_quarantine_settings.py +17 -0
- office365/sharepoint/tenant/cdn_api.py +18 -4
- office365/sharepoint/tenant/insights/reports/manager.py +24 -12
- office365/sharepoint/tenant/management/office365_tenant.py +466 -12
- office365/sharepoint/tenantadministration/catalog_management_collection.py +69 -0
- office365/sharepoint/tenantadministration/catalog_management_custom_properties_collection.py +237 -0
- office365/sharepoint/tenantadministration/catalog_management_restricted_content_discovery_collection.py +56 -0
- office365/sharepoint/tenantadministration/sp_data_governance_client_exception.py +7 -0
- office365/sharepoint/tenantadministration/spo_file_archive_policy_info.py +28 -0
- office365/sharepoint/tenantadministration/spo_file_archive_policy_report_info.py +20 -0
- office365/sharepoint/tenantadministration/spo_file_archive_policy_site_info.py +15 -0
- office365/sharepoint/tenantadministration/spom365_agent_insights_top20_agents_details.py +14 -0
- office365/sharepoint/thresholds.py +529 -0
- office365/sharepoint/translation/jobs/job.py +72 -2
- office365/sharepoint/translation/jobs/status.py +47 -9
- office365/sharepoint/translation/sync_translator.py +15 -2
- office365/sharepoint/types/resource_path.py +2 -1
- office365/sharepoint/usercustomactions/collection.py +41 -0
- office365/sharepoint/userprofiles/person_properties.py +4 -10
- office365/sharepoint/utilities/autofillcolumninfo.py +2 -0
- office365/sharepoint/utilities/llmcolumninfo.py +2 -0
- office365/sharepoint/utilities/move_copy_util.py +285 -10
- office365/sharepoint/viva/connections/page.py +27 -0
- office365/sharepoint/viva/home.py +38 -0
- office365/sharepoint/viva/learningmanager.py +9 -0
- office365/sharepoint/viva/site_manager.py +10 -0
- office365/sharepoint/viva/vivaresources.py +60 -0
- office365/sharepoint/webhooks/subscription.py +30 -1
- office365/sharepoint/webhooks/subscription_information.py +2 -2
- office365/sharepoint/webparts/definitions/definition.py +21 -10
- office365/sharepoint/webparts/limited_manager.py +30 -12
- office365/sharepoint/webs/context_web_information.py +14 -9
- office365/sharepoint/webs/regional_settings.py +11 -15
- office365/sharepoint/webs/templates/__init__.py +11 -0
- office365/sharepoint/webs/templates/type.py +74 -15
- office365/sharepoint/webs/time_zone.py +9 -6
- office365/sharepoint/webs/web.py +57 -10
- office365/sharepoint/webs/web_fetch_result.py +13 -0
- office365/sharepoint/workflow/definition.py +6 -0
- office365/sharepoint/workflow/deployment_service.py +155 -0
- office365/sharepoint/workflow/instances/service.py +33 -0
- office365/sharepoint/workflow/interopservice.py +68 -0
- office365/sharepoint/workflow/messagingservice.py +24 -0
- office365/sharepoint/workflow/servicesmanager.py +41 -2
- office365/sharepoint/workflow/subscriptions/service.py +67 -0
- office365/sharepoint/workflow/subscriptions/subscription.py +31 -0
- office365/sharepoint/workflow/task.py +425 -0
- office365/subscriptions/subscription.py +2 -8
- office365/teams/administration/account_type.py +17 -0
- office365/teams/administration/activation_state.py +16 -0
- office365/teams/administration/assignment_category.py +8 -1
- office365/teams/administration/assignment_status.py +18 -0
- office365/teams/administration/customer_action.py +13 -0
- office365/teams/administration/number_capability.py +15 -0
- office365/teams/administration/number_source.py +13 -0
- office365/teams/administration/number_type.py +15 -0
- office365/teams/administration/port_in_status.py +13 -0
- office365/teams/administration/reverse_number_lookup_option.py +12 -0
- office365/teams/apps/app.py +5 -5
- office365/teams/apps/installed_event_message_detail.py +17 -0
- office365/teams/apps/removed_event_message_detail.py +17 -0
- office365/teams/apps/upgraded_event_message_detail.py +17 -0
- office365/teams/archived_event_message_detail.py +16 -0
- office365/teams/channels/channel.py +23 -22
- office365/teams/channels/collection.py +10 -5
- office365/teams/chats/chat.py +36 -27
- office365/teams/chats/collection.py +19 -0
- office365/teams/chats/messages/body.py +32 -0
- office365/teams/chats/messages/collection.py +43 -0
- office365/teams/chats/messages/hosted_content.py +27 -0
- office365/teams/chats/messages/message.py +68 -3
- office365/teams/class_settings.py +14 -0
- office365/teams/collection.py +89 -14
- office365/teams/created_event_message_detail.py +18 -0
- office365/teams/description_updated_event_message_detail.py +17 -0
- office365/teams/joining_disabled_event_message_detail.py +16 -0
- office365/teams/joining_enabled_event_message_detail.py +16 -0
- office365/teams/licensing_details.py +14 -0
- office365/teams/members/aad_user_conversation.py +4 -4
- office365/teams/members/conversation.py +3 -3
- office365/teams/members/conversation_collection.py +7 -9
- office365/teams/members_notification_recipient.py +14 -0
- office365/teams/operations/async_operation.py +59 -8
- office365/teams/operations/type.py +4 -1
- office365/teams/renamed_event_message_detail.py +17 -0
- office365/teams/schedule/entitytheme.py +23 -0
- office365/teams/schedule/time_card_break.py +19 -0
- office365/teams/schedule/time_card_entry.py +19 -0
- office365/teams/schedule/time_card_event.py +18 -0
- office365/teams/schedule/time_card_state.py +14 -0
- office365/teams/schedule/time_clock_settings.py +15 -0
- office365/teams/schedule/time_off_details.py +15 -0
- office365/teams/schedule/time_off_item.py +14 -0
- office365/teams/schedule/time_off_reason_icon_type.py +32 -0
- office365/teams/tabs/updated_event_message_detail.py +16 -0
- office365/teams/team.py +88 -46
- office365/teams/teamwork/application_identity.py +15 -0
- office365/teams/teamwork/shiftmanagement/user_solution_root.py +4 -0
- office365/teams/teamwork/user.py +6 -8
- office365/teams/teamwork/workforce_integration_encryption_protocol.py +12 -0
- office365/teams/teamwork/workforce_integration_supported_entities.py +22 -0
- office365/teams/unarchived_event_message_detail.py +16 -0
- office365/teams/viva/employee_experience_user.py +5 -3
- office365/todo/attachments/collection.py +78 -3
- office365/todo/attachments/info.py +17 -1
- office365/todo/attachments/session.py +74 -0
- office365/todo/attachments/type.py +14 -2
- office365/todo/linked_resource.py +10 -0
- office365/todo/tasks/collection.py +5 -3
- office365/todo/tasks/lists/collection.py +4 -4
- office365/todo/tasks/lists/list.py +36 -0
- office365/todo/tasks/task.py +95 -8
- office365/todo/todo.py +5 -2
- office365_rest_python_client-3.2.0.dist-info/METADATA +605 -0
- {office365_rest_python_client-3.0.0.dist-info → office365_rest_python_client-3.2.0.dist-info}/RECORD +1328 -690
- office365/migration/assessor.py +0 -243
- office365/onedrive/termstore/store_exporter.py +0 -40
- office365/onedrive/termstore/store_importer.py +0 -34
- office365/runtime/csv_writer.py +0 -77
- office365/runtime/odata/member.py +0 -14
- office365/runtime/odata/method.py +0 -19
- office365/runtime/odata/model.py +0 -54
- office365/runtime/odata/parameter.py +0 -19
- office365/runtime/odata/property.py +0 -19
- office365/runtime/odata/query_options_builder.py +0 -38
- office365/runtime/odata/reader.py +0 -99
- office365/runtime/odata/type_information.py +0 -32
- office365/runtime/odata/v3/metadata_reader.py +0 -52
- office365/runtime/odata/v4/metadata_reader.py +0 -28
- office365/runtime/queries/noop.py +0 -17
- office365/runtime/utilities.py +0 -226
- office365/sharepoint/listitems/caml/types.py +0 -70
- office365/sharepoint/migration/assessment/scanners/base.py +0 -57
- office365/sharepoint/migration/assessment/scanners/list.py +0 -68
- office365/sharepoint/migration/assessment/scanners/site.py +0 -25
- office365/todo/wellknown_list_name.py +0 -2
- office365_rest_python_client-3.0.0.dist-info/METADATA +0 -465
- /office365/directory/identitygovernance/accessreview/{access_review_history_instance.py → history_instance.py} +0 -0
- /office365/directory/identitygovernance/accessreview/{access_review_instance_decision_item.py → instance_decision_item.py} +0 -0
- /office365/directory/identitygovernance/accessreview/{access_review_reviewer.py → reviewer.py} +0 -0
- /office365/directory/identitygovernance/accessreview/{access_review_schedule_definition.py → schedule_definition.py} +0 -0
- /office365/directory/identitygovernance/{accessreview/access_package_text_input_question.py → entitlementmanagement/accesspackage/text_input_question.py} +0 -0
- /office365/directory/{security/data_security → recovery}/__init__.py +0 -0
- /office365/directory/security/{active_directory_domain_evidence.py → alerts/active_directory_domain_evidence.py} +0 -0
- /office365/directory/security/{azure_resource_evidence.py → alerts/azure_resource_evidence.py} +0 -0
- /office365/{sharepoint/migration → directory/security/audit}/__init__.py +0 -0
- /office365/directory/security/{a365_ai_execute_tool.py → audit/a365_ai_execute_tool.py} +0 -0
- /office365/directory/security/{aad_risk_detection_audit_record.py → audit/aad_risk_detection_audit_record.py} +0 -0
- /office365/directory/security/{ai_app_interaction_audit_record.py → audit/ai_app_interaction_audit_record.py} +0 -0
- /office365/directory/security/{ai_execute_tool_audit_record.py → audit/ai_execute_tool_audit_record.py} +0 -0
- /office365/directory/security/{ai_interactions_change_notification_audit_record.py → audit/ai_interactions_change_notification_audit_record.py} +0 -0
- /office365/directory/security/{ai_interactions_export_audit_record.py → audit/ai_interactions_export_audit_record.py} +0 -0
- /office365/directory/security/{ai_interactions_subscription_audit_record.py → audit/ai_interactions_subscription_audit_record.py} +0 -0
- /office365/directory/security/{ai_invoke_agent_audit_record.py → audit/ai_invoke_agent_audit_record.py} +0 -0
- /office365/directory/security/{ai_span_outputs_audit_record.py → audit/ai_span_outputs_audit_record.py} +0 -0
- /office365/directory/security/{air_manual_investigation_data.py → audit/air_manual_investigation_data.py} +0 -0
- /office365/directory/security/{alert_submission_audit_record.py → audit/alert_submission_audit_record.py} +0 -0
- /office365/directory/security/{alert_submission_result_detail_audit_record.py → audit/alert_submission_result_detail_audit_record.py} +0 -0
- /office365/directory/security/{attack_sim_admin_audit_record.py → audit/attack_sim_admin_audit_record.py} +0 -0
- /office365/directory/security/{attack_sim_audit_record.py → audit/attack_sim_audit_record.py} +0 -0
- /office365/directory/security/{audit_config_audit_record.py → audit/audit_config_audit_record.py} +0 -0
- /office365/directory/security/{audit_record_type_dictionary.py → audit/audit_record_type_dictionary.py} +0 -0
- /office365/directory/security/{audit_search_audit_record.py → audit/audit_search_audit_record.py} +0 -0
- /office365/directory/security/{azfw_application_rule_aggregation_event_record.py → audit/azfw_application_rule_aggregation_event_record.py} +0 -0
- /office365/directory/security/{azfw_dns_query_event_record.py → audit/azfw_dns_query_event_record.py} +0 -0
- /office365/directory/security/{azfw_network_rule_event_record.py → audit/azfw_network_rule_event_record.py} +0 -0
- /office365/directory/security/{azure_active_directory_account_logon_audit_record.py → audit/azure_active_directory_account_logon_audit_record.py} +0 -0
- /office365/directory/security/{azure_active_directory_audit_record.py → audit/azure_active_directory_audit_record.py} +0 -0
- /office365/directory/security/{azure_active_directory_sts_logon_audit_record.py → audit/azure_active_directory_sts_logon_audit_record.py} +0 -0
- /office365/directory/security/{azure_ai_search_audit_record.py → audit/azure_ai_search_audit_record.py} +0 -0
- /office365/directory/security/{campaign_audit_record.py → audit/campaign_audit_record.py} +0 -0
- /office365/directory/security/{ccrai_policy_violation_record.py → audit/ccrai_policy_violation_record.py} +0 -0
- /office365/directory/security/{cdp_classifier_health_record.py → audit/cdp_classifier_health_record.py} +0 -0
- /office365/directory/security/{cdp_cold_crawl_status_record.py → audit/cdp_cold_crawl_status_record.py} +0 -0
- /office365/directory/security/{cdp_consumption_resource_record.py → audit/cdp_consumption_resource_record.py} +0 -0
- /office365/directory/security/{cdp_content_explorer_aggregate_record.py → audit/cdp_content_explorer_aggregate_record.py} +0 -0
- /office365/directory/security/{cdp_dlp_sensitive_endpoint_audit_record.py → audit/cdp_dlp_sensitive_endpoint_audit_record.py} +0 -0
- /office365/directory/security/{cdp_log_record.py → audit/cdp_log_record.py} +0 -0
- /office365/directory/security/{cdp_ocr_billing_record.py → audit/cdp_ocr_billing_record.py} +0 -0
- /office365/directory/security/{cdp_resource_scope_change_event_record.py → audit/cdp_resource_scope_change_event_record.py} +0 -0
- /office365/directory/security/{cdpdlmai_interaction_insights_record.py → audit/cdpdlmai_interaction_insights_record.py} +0 -0
- /office365/directory/security/{cloud_update_device_config_audit_record.py → audit/cloud_update_device_config_audit_record.py} +0 -0
- /office365/directory/security/{cloud_update_profile_config_audit_record.py → audit/cloud_update_profile_config_audit_record.py} +0 -0
- /office365/directory/security/{cloud_update_tenant_config_audit_record.py → audit/cloud_update_tenant_config_audit_record.py} +0 -0
- /office365/directory/security/{compliance_connector_audit_record.py → audit/compliance_connector_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlm_exchange_audit_record.py → audit/compliance_dlm_exchange_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlm_share_point_audit_record.py → audit/compliance_dlm_share_point_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_applications_audit_record.py → audit/compliance_dlp_applications_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_applications_classification_audit_record.py → audit/compliance_dlp_applications_classification_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_endpoint_audit_record.py → audit/compliance_dlp_endpoint_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_endpoint_discovery_audit_record.py → audit/compliance_dlp_endpoint_discovery_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_enforcement_audit_record.py → audit/compliance_dlp_enforcement_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_exchange_audit_record.py → audit/compliance_dlp_exchange_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_exchange_classification_audit_record.py → audit/compliance_dlp_exchange_classification_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_exchange_classification_cdp_record.py → audit/compliance_dlp_exchange_classification_cdp_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_exchange_discovery_audit_record.py → audit/compliance_dlp_exchange_discovery_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_share_point_audit_record.py → audit/compliance_dlp_share_point_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_share_point_classification_audit_record.py → audit/compliance_dlp_share_point_classification_audit_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_share_point_classification_cdp_record.py → audit/compliance_dlp_share_point_classification_cdp_record.py} +0 -0
- /office365/directory/security/{compliance_dlp_share_point_classification_extended_audit_record.py → audit/compliance_dlp_share_point_classification_extended_audit_record.py} +0 -0
- /office365/directory/security/{compliance_exchange_ocr_audit_record.py → audit/compliance_exchange_ocr_audit_record.py} +0 -0
- /office365/directory/security/{compliance_manager_action_record.py → audit/compliance_manager_action_record.py} +0 -0
- /office365/directory/security/{compliance_policy_grading_share_point_audit_record.py → audit/compliance_policy_grading_share_point_audit_record.py} +0 -0
- /office365/directory/security/{compliance_settings_change_audit_record.py → audit/compliance_settings_change_audit_record.py} +0 -0
- /office365/directory/security/{compliance_sit_grading_share_point_audit_record.py → audit/compliance_sit_grading_share_point_audit_record.py} +0 -0
- /office365/directory/security/{compliance_supervision_exchange_audit_record.py → audit/compliance_supervision_exchange_audit_record.py} +0 -0
- /office365/directory/security/{connected_ai_app_interaction_audit_record.py → audit/connected_ai_app_interaction_audit_record.py} +0 -0
- /office365/directory/security/{consumption_resource_audit_record.py → audit/consumption_resource_audit_record.py} +0 -0
- /office365/directory/security/{content_store_metadata_record.py → audit/content_store_metadata_record.py} +0 -0
- /office365/directory/security/{copilot_agent_management_audit_record.py → audit/copilot_agent_management_audit_record.py} +0 -0
- /office365/directory/security/{copilot_for_security_logging_audit_record.py → audit/copilot_for_security_logging_audit_record.py} +0 -0
- /office365/directory/security/{copilot_for_security_trigger_audit_record.py → audit/copilot_for_security_trigger_audit_record.py} +0 -0
- /office365/directory/security/{copilot_interaction_audit_record.py → audit/copilot_interaction_audit_record.py} +0 -0
- /office365/directory/security/{copilot_plugin_setting_audit_record.py → audit/copilot_plugin_setting_audit_record.py} +0 -0
- /office365/directory/security/{copilot_prompt_book_setting_audit_record.py → audit/copilot_prompt_book_setting_audit_record.py} +0 -0
- /office365/directory/security/{copilot_session_sharing_audit_record.py → audit/copilot_session_sharing_audit_record.py} +0 -0
- /office365/directory/security/{copilot_setting_audit_record.py → audit/copilot_setting_audit_record.py} +0 -0
- /office365/directory/security/{copilot_workspace_setting_audit_record.py → audit/copilot_workspace_setting_audit_record.py} +0 -0
- /office365/directory/security/{core_reporting_settings_audit_record.py → audit/core_reporting_settings_audit_record.py} +0 -0
- /office365/directory/security/{critical_asset_management_classification_record.py → audit/critical_asset_management_classification_record.py} +0 -0
- /office365/directory/security/{crm_entity_operation_audit_record.py → audit/crm_entity_operation_audit_record.py} +0 -0
- /office365/directory/security/{cross_tenant_access_policy_audit_record.py → audit/cross_tenant_access_policy_audit_record.py} +0 -0
- /office365/directory/security/{device_discovery_settings_authenticated_scans_record.py → audit/device_discovery_settings_authenticated_scans_record.py} +0 -0
- /office365/directory/security/{device_discovery_settings_exclusion_record.py → audit/device_discovery_settings_exclusion_record.py} +0 -0
- /office365/directory/security/{device_discovery_settings_record.py → audit/device_discovery_settings_record.py} +0 -0
- /office365/directory/security/{discovery_audit_record.py → audit/discovery_audit_record.py} +0 -0
- /office365/directory/security/{dlp_endpoint_audit_record.py → audit/dlp_endpoint_audit_record.py} +0 -0
- /office365/directory/security/{dlp_import_result_audit_record.py → audit/dlp_import_result_audit_record.py} +0 -0
- /office365/directory/security/{dragon_copilot_access_record.py → audit/dragon_copilot_access_record.py} +0 -0
- /office365/directory/security/{dragon_copilot_admin_record.py → audit/dragon_copilot_admin_record.py} +0 -0
- /office365/directory/security/{dragon_copilot_clinical_data_record.py → audit/dragon_copilot_clinical_data_record.py} +0 -0
- /office365/directory/security/{dragon_copilot_session_record.py → audit/dragon_copilot_session_record.py} +0 -0
- /office365/directory/security/{dynamics365_business_central_audit_record.py → audit/dynamics365_business_central_audit_record.py} +0 -0
- /office365/directory/security/{ehr_connector_audit_base_record.py → audit/ehr_connector_audit_base_record.py} +0 -0
- /office365/directory/security/{eop_submission_feed_entity_audit_record.py → audit/eop_submission_feed_entity_audit_record.py} +0 -0
- /office365/directory/security/{exchange_admin_audit_record.py → audit/exchange_admin_audit_record.py} +0 -0
- /office365/directory/security/{exchange_aggregated_mailbox_audit_record.py → audit/exchange_aggregated_mailbox_audit_record.py} +0 -0
- /office365/directory/security/{exchange_aggregated_operation_record.py → audit/exchange_aggregated_operation_record.py} +0 -0
- /office365/directory/security/{exchange_mailbox_audit_group_record.py → audit/exchange_mailbox_audit_group_record.py} +0 -0
- /office365/directory/security/{exchange_mailbox_audit_record.py → audit/exchange_mailbox_audit_record.py} +0 -0
- /office365/directory/security/{hosted_rpa_audit_record.py → audit/hosted_rpa_audit_record.py} +0 -0
- /office365/directory/security/{hr_signal_audit_record.py → audit/hr_signal_audit_record.py} +0 -0
- /office365/directory/security/{hygiene_event_record.py → audit/hygiene_event_record.py} +0 -0
- /office365/directory/security/{information_barrier_policy_application_audit_record.py → audit/information_barrier_policy_application_audit_record.py} +0 -0
- /office365/directory/security/{information_worker_protection_audit_record.py → audit/information_worker_protection_audit_record.py} +0 -0
- /office365/directory/security/{insider_risk_scoped_user_insights_record.py → audit/insider_risk_scoped_user_insights_record.py} +0 -0
- /office365/directory/security/{insider_risk_scoped_users_record.py → audit/insider_risk_scoped_users_record.py} +0 -0
- /office365/directory/security/{microsoft_stream_audit_record.py → audit/microsoft_stream_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_admin_audit_record.py → audit/microsoft_teams_admin_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_analytics_audit_record.py → audit/microsoft_teams_analytics_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_audit_record.py → audit/microsoft_teams_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_device_audit_record.py → audit/microsoft_teams_device_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_retention_label_action_audit_record.py → audit/microsoft_teams_retention_label_action_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_sensitivity_label_action_audit_record.py → audit/microsoft_teams_sensitivity_label_action_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_shifts_audit_record.py → audit/microsoft_teams_shifts_audit_record.py} +0 -0
- /office365/directory/security/{microsoft_teams_user_concern_audit_record.py → audit/microsoft_teams_user_concern_audit_record.py} +0 -0
- /office365/directory/security/{whois_history_record.py → audit/whois_history_record.py} +0 -0
- /office365/directory/security/{case.py → cases/case.py} +0 -0
- /office365/{sharepoint/migration/assessment → directory/security/collaboration}/__init__.py +0 -0
- /office365/directory/security/{analyzed_email.py → collaboration/analyzed_email.py} +0 -0
- /office365/directory/security/{analyzed_email_authentication_detail.py → collaboration/analyzed_email_authentication_detail.py} +0 -0
- /office365/directory/security/{analyzed_email_delivery_detail.py → collaboration/analyzed_email_delivery_detail.py} +0 -0
- /office365/directory/security/{analyzed_email_dlp_rule_info.py → collaboration/analyzed_email_dlp_rule_info.py} +0 -0
- /office365/directory/security/{analyzed_email_exchange_transport_rule_info.py → collaboration/analyzed_email_exchange_transport_rule_info.py} +0 -0
- /office365/directory/security/{analyzed_email_recipient_detail.py → collaboration/analyzed_email_recipient_detail.py} +0 -0
- /office365/directory/security/{analyzed_email_sender_detail.py → collaboration/analyzed_email_sender_detail.py} +0 -0
- /office365/directory/security/{analyzed_email_url.py → collaboration/analyzed_email_url.py} +0 -0
- /office365/{sharepoint/migration/assessment/scanners → directory/security/datasecurity}/__init__.py +0 -0
- /office365/directory/security/{data_security → datasecurity}/sensitivity_label.py +0 -0
- /office365/directory/security/{host_logon_session_evidence.py → threatintelligence/host_logon_session_evidence.py} +0 -0
- /office365/directory/security/{host_reputation.py → threatintelligence/host_reputation.py} +0 -0
- /office365/directory/security/{hostname.py → threatintelligence/hostname.py} +0 -0
- {office365_rest_python_client-3.0.0.dist-info → office365_rest_python_client-3.2.0.dist-info}/WHEEL +0 -0
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
from datetime import datetime
|
|
5
|
-
from typing import IO, TYPE_CHECKING, AnyStr, Callable, Dict, Optional, Union
|
|
5
|
+
from typing import IO, TYPE_CHECKING, Any, AnyStr, Callable, Dict, Optional, Union, cast
|
|
6
6
|
|
|
7
7
|
from typing_extensions import Self
|
|
8
8
|
|
|
@@ -25,8 +25,10 @@ from office365.sharepoint.eventreceivers.definition_collection import (
|
|
|
25
25
|
EventReceiverDefinitionCollection,
|
|
26
26
|
)
|
|
27
27
|
from office365.sharepoint.fields.collection import FieldCollection
|
|
28
|
+
from office365.sharepoint.fields.creation_information import FieldCreationInformation
|
|
28
29
|
from office365.sharepoint.fields.field import Field
|
|
29
30
|
from office365.sharepoint.fields.related_field_collection import RelatedFieldCollection
|
|
31
|
+
from office365.sharepoint.fields.type import FieldType
|
|
30
32
|
from office365.sharepoint.files.checked_out_file_collection import (
|
|
31
33
|
CheckedOutFileCollection,
|
|
32
34
|
)
|
|
@@ -35,8 +37,10 @@ from office365.sharepoint.flows.connector_result import ConnectorResult
|
|
|
35
37
|
from office365.sharepoint.flows.synchronization_result import FlowSynchronizationResult
|
|
36
38
|
from office365.sharepoint.folders.folder import Folder
|
|
37
39
|
from office365.sharepoint.forms.collection import FormCollection
|
|
40
|
+
from office365.sharepoint.listitems.caml.guard import warn_if_unpaged
|
|
38
41
|
from office365.sharepoint.listitems.caml.query import CamlQuery
|
|
39
42
|
from office365.sharepoint.listitems.collection import ListItemCollection
|
|
43
|
+
from office365.sharepoint.listitems.collection_position import ListItemCollectionPosition
|
|
40
44
|
from office365.sharepoint.listitems.creation_information import (
|
|
41
45
|
ListItemCreationInformation,
|
|
42
46
|
)
|
|
@@ -63,6 +67,7 @@ from office365.sharepoint.permissions.securable_object import SecurableObject
|
|
|
63
67
|
from office365.sharepoint.principal.users.user import User
|
|
64
68
|
from office365.sharepoint.sharing.object_sharing_settings import ObjectSharingSettings
|
|
65
69
|
from office365.sharepoint.sitescripts.utility import SiteScriptUtility
|
|
70
|
+
from office365.sharepoint.thresholds import LIST_VIEW_THRESHOLD, SAFE_PAGE_SIZE, Limits, limit
|
|
66
71
|
from office365.sharepoint.translation.user_resource import UserResource
|
|
67
72
|
from office365.sharepoint.types.resource_path import ResourcePath as SPResPath
|
|
68
73
|
from office365.sharepoint.usercustomactions.collection import UserCustomActionCollection
|
|
@@ -72,6 +77,10 @@ from office365.sharepoint.views.view import View
|
|
|
72
77
|
from office365.sharepoint.webhooks.subscription_collection import SubscriptionCollection
|
|
73
78
|
|
|
74
79
|
if TYPE_CHECKING:
|
|
80
|
+
from office365.runtime.converters.dataframe import DataFrameResult
|
|
81
|
+
from office365.runtime.imports import CheckpointStore, ImportCheckpoint, ImportResult
|
|
82
|
+
from office365.runtime.operations import ProgressCallback
|
|
83
|
+
from office365.runtime.record_collection import VerificationResult
|
|
75
84
|
from office365.sharepoint.client_context import ClientContext
|
|
76
85
|
from office365.sharepoint.documentmanagement.document_set import DocumentSet
|
|
77
86
|
from office365.sharepoint.webs.web import Web
|
|
@@ -114,10 +123,18 @@ class List(SecurableObject):
|
|
|
114
123
|
include_content: bool = False,
|
|
115
124
|
item_exported: Optional[Callable[[ExportListProgress], None]] = None,
|
|
116
125
|
) -> Self:
|
|
117
|
-
"""
|
|
126
|
+
"""Export the list as a **package** (``.zip``): per-item JSON + optional content.
|
|
127
|
+
|
|
128
|
+
This is the package exporter (``ListExporter``), distinct from the record
|
|
129
|
+
export on :meth:`export_to`/``list.items.export_to``. Run with
|
|
130
|
+
``execute_query()``:
|
|
131
|
+
|
|
132
|
+
>>> with open("Orders.zip", "wb") as f:
|
|
133
|
+
... lst.export(f, include_content=True).execute_query()
|
|
134
|
+
"""
|
|
118
135
|
from office365.sharepoint.lists.exporter import ListExporter
|
|
119
136
|
|
|
120
|
-
return ListExporter.export(self, local_file, include_content, item_exported)
|
|
137
|
+
return cast(Self, ListExporter.export(self, local_file, include_content, item_exported))
|
|
121
138
|
|
|
122
139
|
def can_customize_forms(self) -> ConnectorResult:
|
|
123
140
|
""""""
|
|
@@ -133,13 +150,21 @@ class List(SecurableObject):
|
|
|
133
150
|
self.ensure_property("Title").after_execute(lambda _: _can_customize_forms())
|
|
134
151
|
return return_type
|
|
135
152
|
|
|
136
|
-
def clear(self):
|
|
137
|
-
"""Clears the list.
|
|
153
|
+
def clear(self) -> Self:
|
|
154
|
+
"""Clears the list (deletes all items).
|
|
155
|
+
|
|
156
|
+
Loads only the item IDs (paged) and queues a delete per item, so large
|
|
157
|
+
lists are cleared in full. The deletions run on ``execute_batch``:
|
|
158
|
+
|
|
159
|
+
>>> target_list.clear().execute_batch()
|
|
160
|
+
"""
|
|
138
161
|
|
|
139
|
-
def
|
|
140
|
-
|
|
162
|
+
def _delete_all(items) -> None:
|
|
163
|
+
# snapshot: delete_object removes items from the collection while iterating
|
|
164
|
+
[item.delete_object() for item in list(items)]
|
|
141
165
|
|
|
142
|
-
self.items.
|
|
166
|
+
items = self.items.select(["Id"]).get_all().execute_query()
|
|
167
|
+
_delete_all(items)
|
|
143
168
|
return self
|
|
144
169
|
|
|
145
170
|
def create_document_set(self, name: str) -> DocumentSet:
|
|
@@ -279,11 +304,11 @@ class List(SecurableObject):
|
|
|
279
304
|
|
|
280
305
|
return_type = ConnectorResult(self.context)
|
|
281
306
|
|
|
282
|
-
def
|
|
283
|
-
assert
|
|
284
|
-
FlowPermissions.get_flow_permission_level_on_list(self.context,
|
|
307
|
+
def _get_flow_permission_level(title: str | None):
|
|
308
|
+
assert title is not None
|
|
309
|
+
FlowPermissions.get_flow_permission_level_on_list(self.context, title, return_type)
|
|
285
310
|
|
|
286
|
-
self.ensure_property("Title").after_execute(lambda _:
|
|
311
|
+
self.ensure_property("Title").after_execute(lambda _: _get_flow_permission_level(self.title))
|
|
287
312
|
return return_type
|
|
288
313
|
|
|
289
314
|
def get_sharing_settings(self) -> ObjectSharingSettings:
|
|
@@ -645,16 +670,426 @@ class List(SecurableObject):
|
|
|
645
670
|
# """Clears the broken taxonomy values"""
|
|
646
671
|
# raise NotImplementedError("validate_broken_taxonomy_values")
|
|
647
672
|
|
|
648
|
-
def
|
|
649
|
-
"""
|
|
673
|
+
def index_candidates(self, caml_query: CamlQuery) -> list[str]:
|
|
674
|
+
"""The columns a CAML query filters/sorts on that are worth indexing (``ID`` excluded).
|
|
675
|
+
|
|
676
|
+
A starting point for :meth:`ensure_indexed` — indexing is explicit and the
|
|
677
|
+
build runs in the background. Shorthand for ``caml_query.index_candidates``.
|
|
678
|
+
"""
|
|
679
|
+
return caml_query.index_candidates
|
|
680
|
+
|
|
681
|
+
def check_query(self, caml_query: CamlQuery, *, item_count: Optional[int] = None) -> None:
|
|
682
|
+
"""Pre-flight a CAML query against the SharePoint list view threshold.
|
|
683
|
+
|
|
684
|
+
Loads the list's item count (unless ``item_count`` is given) and the
|
|
685
|
+
``Indexed`` status of the columns the query filters/sorts on, and raises
|
|
686
|
+
:class:`~office365.sharepoint.exceptions.SPQueryThrottledException` — with
|
|
687
|
+
the exact columns to index — when the query would be throttled, instead of
|
|
688
|
+
letting the server return an opaque 500. Performs 1-2 requests.
|
|
689
|
+
|
|
690
|
+
Args:
|
|
691
|
+
caml_query: The query to check.
|
|
692
|
+
item_count: The list size, when already known (avoids a request).
|
|
693
|
+
"""
|
|
694
|
+
from office365.sharepoint.exceptions import SPQueryThrottledException
|
|
695
|
+
|
|
696
|
+
if item_count is None:
|
|
697
|
+
self.ensure_property("ItemCount").execute_query()
|
|
698
|
+
item_count = self.item_count or 0
|
|
699
|
+
if item_count <= LIST_VIEW_THRESHOLD:
|
|
700
|
+
return
|
|
701
|
+
candidates = set(caml_query.index_candidates)
|
|
702
|
+
if not candidates:
|
|
703
|
+
return
|
|
704
|
+
|
|
705
|
+
fields = self.fields
|
|
706
|
+
fields.select(["InternalName", "Title", "Indexed"]).get().execute_query()
|
|
707
|
+
not_indexed = sorted(
|
|
708
|
+
str(f.internal_name or f.title or "")
|
|
709
|
+
for f in fields
|
|
710
|
+
if (f.internal_name in candidates or f.title in candidates) and f.indexed is not True
|
|
711
|
+
)
|
|
712
|
+
if not_indexed:
|
|
713
|
+
names = ", ".join(repr(name) for name in not_indexed)
|
|
714
|
+
raise SPQueryThrottledException(
|
|
715
|
+
f"This CAML query filters/sorts on non-indexed column(s) {names} and the list has "
|
|
716
|
+
f"{item_count:,} items (over the {LIST_VIEW_THRESHOLD:,}-item list view threshold), so it "
|
|
717
|
+
f"would be throttled. Index them first, e.g. "
|
|
718
|
+
f"lst.ensure_indexed({not_indexed[0]!r}).execute_query(), or filter on ID (always indexed)."
|
|
719
|
+
)
|
|
720
|
+
|
|
721
|
+
@limit(Limits.LIST_VIEW, arg="page_size")
|
|
722
|
+
def get_items(
|
|
723
|
+
self,
|
|
724
|
+
caml_query: Optional[CamlQuery] = None,
|
|
725
|
+
page_size: Optional[int] = None,
|
|
726
|
+
check: bool = False,
|
|
727
|
+
) -> ListItemCollection:
|
|
728
|
+
"""Returns a collection of items from the list based on the specified query.
|
|
729
|
+
|
|
730
|
+
Pass ``page_size`` to page the results (continues from the last item via
|
|
731
|
+
``ListItemCollectionPosition``), so a query over more than the 5,000-item
|
|
732
|
+
list view threshold can be read in full:
|
|
733
|
+
|
|
734
|
+
>>> for item in list.get_items(query, page_size=2000).execute_query():
|
|
735
|
+
... ...
|
|
736
|
+
|
|
737
|
+
Pass ``check=True`` to pre-flight the query with :meth:`check_query` first
|
|
738
|
+
(raises actionable guidance instead of an opaque server 500). It performs
|
|
739
|
+
1-2 requests immediately, so it is off by default.
|
|
740
|
+
"""
|
|
650
741
|
if not caml_query:
|
|
651
742
|
caml_query = CamlQuery.create_all_items_query()
|
|
743
|
+
if check:
|
|
744
|
+
self.check_query(caml_query)
|
|
745
|
+
if page_size is None:
|
|
746
|
+
warn_if_unpaged(caml_query, item_count=self.item_count)
|
|
652
747
|
return_type = ListItemCollection(self.context, self.items.resource_path)
|
|
653
748
|
payload = {"query": caml_query}
|
|
654
749
|
qry = ServiceOperationQuery(self, "GetItems", None, payload, None, return_type)
|
|
655
750
|
self.context.add_query(qry)
|
|
751
|
+
if page_size:
|
|
752
|
+
return_type.paged(page_size)
|
|
753
|
+
|
|
754
|
+
def _next_page() -> None:
|
|
755
|
+
# CAML paging: continue from the last item via its collection position,
|
|
756
|
+
# carrying the sort columns (then ID) so the next page starts where
|
|
757
|
+
# the previous one stopped.
|
|
758
|
+
last = return_type[-1]
|
|
759
|
+
parts = ["Paged=TRUE"]
|
|
760
|
+
parts.extend(
|
|
761
|
+
f"p_{name}={last.properties.get(name)}"
|
|
762
|
+
for name in caml_query.order_by_fields
|
|
763
|
+
if name.upper() != "ID"
|
|
764
|
+
)
|
|
765
|
+
parts.append(f"p_ID={last.id}")
|
|
766
|
+
caml_query.ListItemCollectionPosition = ListItemCollectionPosition(PagingInfo="&".join(parts))
|
|
767
|
+
next_qry = ServiceOperationQuery(self, "GetItems", None, {"query": caml_query}, None, return_type)
|
|
768
|
+
self.context.add_query(next_qry)
|
|
769
|
+
|
|
770
|
+
return_type._next_page = _next_page
|
|
656
771
|
return return_type
|
|
657
772
|
|
|
773
|
+
def ensure_field(
|
|
774
|
+
self,
|
|
775
|
+
name: str,
|
|
776
|
+
field_type: FieldType = FieldType.Text,
|
|
777
|
+
description: str | None = None,
|
|
778
|
+
*,
|
|
779
|
+
on_conflict: str = "skip",
|
|
780
|
+
) -> Field:
|
|
781
|
+
"""Ensure a single column exists on the list, creating it if missing.
|
|
782
|
+
|
|
783
|
+
The check is deferred — the column is looked up and created when the
|
|
784
|
+
caller executes the query (e.g. ``list.ensure_field("Status").execute_query()``).
|
|
785
|
+
With ``on_conflict="update"`` an existing column's type/description is
|
|
786
|
+
reconciled.
|
|
787
|
+
|
|
788
|
+
Args:
|
|
789
|
+
name: The column title
|
|
790
|
+
field_type: The field type to create it with if missing (Text by default)
|
|
791
|
+
description: The description of the column
|
|
792
|
+
on_conflict: ``"skip"`` (default) or ``"update"``.
|
|
793
|
+
|
|
794
|
+
Returns:
|
|
795
|
+
Field: The existing or newly created field.
|
|
796
|
+
"""
|
|
797
|
+
return self.fields.ensure(
|
|
798
|
+
FieldCreationInformation(Title=name, FieldTypeKind=field_type, Description=description),
|
|
799
|
+
on_conflict=on_conflict,
|
|
800
|
+
)
|
|
801
|
+
|
|
802
|
+
def ensure_fields(self, columns: "Dict[str, FieldType] | list[str]", *, on_conflict: str = "skip") -> list[Field]:
|
|
803
|
+
"""Ensure the specified columns exist on the list, creating missing ones.
|
|
804
|
+
|
|
805
|
+
Reconciles the source schema with the target list before data import:
|
|
806
|
+
existing fields are kept (or reconciled with ``on_conflict="update"``),
|
|
807
|
+
missing ones are created with the given type (Text by default). Deferred —
|
|
808
|
+
execute the query after.
|
|
809
|
+
|
|
810
|
+
Args:
|
|
811
|
+
columns: Either a list of field names (created as Text) or a mapping
|
|
812
|
+
of field name -> FieldType
|
|
813
|
+
on_conflict: ``"skip"`` (default) or ``"update"``.
|
|
814
|
+
|
|
815
|
+
Returns:
|
|
816
|
+
list[Field]: The existing or newly created fields.
|
|
817
|
+
"""
|
|
818
|
+
spec = columns.items() if isinstance(columns, dict) else ((c, FieldType.Text) for c in columns)
|
|
819
|
+
return [self.ensure_field(name, field_type, on_conflict=on_conflict) for name, field_type in spec]
|
|
820
|
+
|
|
821
|
+
def ensure_indexed(self, name: str) -> Field:
|
|
822
|
+
"""Enable the index on an existing column (idempotent, deferred).
|
|
823
|
+
|
|
824
|
+
Indexing the columns used in a CAML/``$filter``/``$orderby`` lets queries
|
|
825
|
+
filter and sort past the 5,000-item list view threshold. The column must
|
|
826
|
+
already exist. Run with ``execute_query()``:
|
|
827
|
+
|
|
828
|
+
>>> lst.ensure_indexed("Status").execute_query()
|
|
829
|
+
"""
|
|
830
|
+
return self.fields.get_by_internal_name_or_title(name).ensure_indexed()
|
|
831
|
+
|
|
832
|
+
def from_records(
|
|
833
|
+
self,
|
|
834
|
+
source,
|
|
835
|
+
*,
|
|
836
|
+
format: str = "records", # noqa: A002
|
|
837
|
+
schema: "Dict[str, FieldType] | None" = None,
|
|
838
|
+
chunksize: int = SAFE_PAGE_SIZE,
|
|
839
|
+
progress: "ProgressCallback | None" = None,
|
|
840
|
+
total: "int | None" = None,
|
|
841
|
+
checkpoint: "ImportCheckpoint | CheckpointStore | str | None" = None,
|
|
842
|
+
on_error: str = "raise",
|
|
843
|
+
key: "str | list[str] | None" = None,
|
|
844
|
+
key_field: str = "MigrationKey",
|
|
845
|
+
on_conflict: str = "skip",
|
|
846
|
+
enforce_unique: bool = False,
|
|
847
|
+
dry_run: bool = False,
|
|
848
|
+
on_schema_change: str = "evolve",
|
|
849
|
+
dead_letter: "str | None" = None,
|
|
850
|
+
mapping: "Dict[str, str] | None" = None,
|
|
851
|
+
) -> "ImportResult":
|
|
852
|
+
"""Stream a source into this list's items, memory-bounded (streaming entry).
|
|
853
|
+
|
|
854
|
+
Returns an :class:`~office365.runtime.imports.ImportResult`; run it with
|
|
855
|
+
``execute_query()`` (sequential) or ``execute_batch(...)`` (batched):
|
|
856
|
+
|
|
857
|
+
>>> lst.from_dataframe(pd.read_csv(url, chunksize=2000)).execute_batch(concurrency=5)
|
|
858
|
+
|
|
859
|
+
Fields are provisioned from the first chunk (or ``schema``) for the
|
|
860
|
+
``dataframe``/``csv`` formats; columns that first appear in a later chunk
|
|
861
|
+
are added (``on_schema_change="evolve"``, the default) or rejected
|
|
862
|
+
(``"fail"``). Column names are sanitized into field internal names; NaN
|
|
863
|
+
cells are skipped. ``checkpoint`` resumes; ``key`` makes it idempotent.
|
|
864
|
+
|
|
865
|
+
Args:
|
|
866
|
+
source: A DataFrame / chunk iterable / CSV path (``dataframe``/``csv``),
|
|
867
|
+
record batches (``records``), or a reader source for other formats.
|
|
868
|
+
format: Source format (default ``"records"``).
|
|
869
|
+
schema: Optional explicit ``{column: FieldType}``; inferred from dtypes.
|
|
870
|
+
A ``FieldType`` also drives typed value coercion (multi-choice,
|
|
871
|
+
lookup, user, URL, geolocation, ...).
|
|
872
|
+
chunksize: Rows per chunk for a DataFrame/CSV source.
|
|
873
|
+
progress: Optional hook fired live (initial, per chunk, per batch).
|
|
874
|
+
total: Total rows when known upfront (drives the progress percentage).
|
|
875
|
+
checkpoint: Optional resumable-run checkpoint (object or path).
|
|
876
|
+
on_error: ``"raise"`` (default) or ``"collect"``.
|
|
877
|
+
key: Natural-key source column(s) for idempotency; ``None`` disables it.
|
|
878
|
+
key_field: Target column storing the derived key hash.
|
|
879
|
+
on_conflict: ``"skip"`` (default) or ``"upsert"``.
|
|
880
|
+
enforce_unique: Mark the key column unique (guards a create race).
|
|
881
|
+
dry_run: Plan the create/update/skip counts without writing.
|
|
882
|
+
on_schema_change: ``"evolve"`` (default) or ``"fail"``.
|
|
883
|
+
mapping: Optional ``{source_column: target_name}`` rename map.
|
|
884
|
+
dead_letter: Optional JSONL path for collected chunk failures.
|
|
885
|
+
|
|
886
|
+
Returns:
|
|
887
|
+
ImportResult: The deferred streaming import driver.
|
|
888
|
+
"""
|
|
889
|
+
from functools import partial
|
|
890
|
+
|
|
891
|
+
from office365.runtime.converters.dataframe import records_from_dataframe
|
|
892
|
+
from office365.sharepoint.fields.coercion import coerce_field_value
|
|
893
|
+
from office365.sharepoint.fields.name import internal_field_name
|
|
894
|
+
|
|
895
|
+
if on_schema_change not in ("evolve", "fail"):
|
|
896
|
+
raise ValueError(f"on_schema_change must be 'evolve' or 'fail', got {on_schema_change!r}")
|
|
897
|
+
provisioned: set[str] = set()
|
|
898
|
+
coercions: "Dict[str, Any] | None" = None
|
|
899
|
+
if isinstance(schema, dict):
|
|
900
|
+
coercions = {
|
|
901
|
+
internal_field_name(str(column)): partial(coerce_field_value, field_type)
|
|
902
|
+
for column, field_type in schema.items()
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
def _mapped(chunk: Any) -> Any:
|
|
906
|
+
if mapping and hasattr(chunk, "rename"):
|
|
907
|
+
return chunk.rename(columns=mapping)
|
|
908
|
+
return chunk
|
|
909
|
+
|
|
910
|
+
def _ensure_new_fields(chunk: Any) -> None:
|
|
911
|
+
chunk = _mapped(chunk)
|
|
912
|
+
if not hasattr(chunk, "columns"): # only DataFrame/CSV chunks carry a schema
|
|
913
|
+
return
|
|
914
|
+
new = [c for c in chunk.columns if internal_field_name(str(c)) not in provisioned]
|
|
915
|
+
if not new:
|
|
916
|
+
return
|
|
917
|
+
if on_schema_change == "fail" and provisioned:
|
|
918
|
+
raise ValueError(f"source schema changed: new column(s) {new}")
|
|
919
|
+
self.fields.ensure_from_dataframe(chunk[new])
|
|
920
|
+
provisioned.update(internal_field_name(str(c)) for c in new)
|
|
921
|
+
self.context.execute_query()
|
|
922
|
+
|
|
923
|
+
def _prepare(first_chunk: Any) -> None:
|
|
924
|
+
if schema is not None:
|
|
925
|
+
self.ensure_fields(schema)
|
|
926
|
+
names = schema.keys() if isinstance(schema, dict) else schema
|
|
927
|
+
provisioned.update(internal_field_name(str(k)) for k in names)
|
|
928
|
+
else:
|
|
929
|
+
_ensure_new_fields(first_chunk)
|
|
930
|
+
|
|
931
|
+
def _to_records(chunk: Any) -> list[dict]:
|
|
932
|
+
return records_from_dataframe(_mapped(chunk), key_fn=internal_field_name)
|
|
933
|
+
|
|
934
|
+
to_records = _to_records if format in ("dataframe", "csv") else None
|
|
935
|
+
|
|
936
|
+
return self.items.from_records(
|
|
937
|
+
source,
|
|
938
|
+
format=format,
|
|
939
|
+
chunksize=chunksize,
|
|
940
|
+
total=total,
|
|
941
|
+
key=key,
|
|
942
|
+
key_field=key_field,
|
|
943
|
+
on_conflict=on_conflict,
|
|
944
|
+
enforce_unique=enforce_unique,
|
|
945
|
+
checkpoint=checkpoint,
|
|
946
|
+
on_error=on_error,
|
|
947
|
+
progress=progress,
|
|
948
|
+
prepare=_prepare,
|
|
949
|
+
before_chunk=_ensure_new_fields,
|
|
950
|
+
to_records=to_records,
|
|
951
|
+
dry_run=dry_run,
|
|
952
|
+
dead_letter=dead_letter,
|
|
953
|
+
mapping=mapping if to_records is None else None,
|
|
954
|
+
coerce=coercions,
|
|
955
|
+
)
|
|
956
|
+
|
|
957
|
+
def from_dataframe(self, source, **opts) -> "ImportResult":
|
|
958
|
+
"""Stream a DataFrame / chunked CSV into this list (see :meth:`from_records`)."""
|
|
959
|
+
return self.from_records(source, format="dataframe", **opts)
|
|
960
|
+
|
|
961
|
+
def from_csv(self, source, **opts) -> "ImportResult":
|
|
962
|
+
"""Stream a CSV source into this list (see :meth:`from_records`)."""
|
|
963
|
+
return self.from_records(source, format="csv", **opts)
|
|
964
|
+
|
|
965
|
+
def from_json(self, source, **opts) -> "ImportResult":
|
|
966
|
+
"""Stream a JSON-array file into this list (see :meth:`from_records`)."""
|
|
967
|
+
return self.from_records(source, format="json", **opts)
|
|
968
|
+
|
|
969
|
+
def from_ndjson(self, source, **opts) -> "ImportResult":
|
|
970
|
+
"""Stream an NDJSON source into this list (see :meth:`from_records`)."""
|
|
971
|
+
return self.from_records(source, format="ndjson", **opts)
|
|
972
|
+
|
|
973
|
+
def from_excel(self, source, **opts) -> "ImportResult":
|
|
974
|
+
"""Stream an Excel (.xlsx) worksheet into this list (see :meth:`from_records`)."""
|
|
975
|
+
return self.from_records(source, format="excel", **opts)
|
|
976
|
+
|
|
977
|
+
def from_parquet(self, source, **opts) -> "ImportResult":
|
|
978
|
+
"""Stream a Parquet file into this list (see :meth:`from_records`)."""
|
|
979
|
+
return self.from_records(source, format="parquet", **opts)
|
|
980
|
+
|
|
981
|
+
def from_orc(self, source, **opts) -> "ImportResult":
|
|
982
|
+
"""Stream an ORC file into this list (see :meth:`from_records`)."""
|
|
983
|
+
return self.from_records(source, format="orc", **opts)
|
|
984
|
+
|
|
985
|
+
def from_feather(self, source, **opts) -> "ImportResult":
|
|
986
|
+
"""Stream a Feather file into this list (see :meth:`from_records`)."""
|
|
987
|
+
return self.from_records(source, format="feather", **opts)
|
|
988
|
+
|
|
989
|
+
def from_file(
|
|
990
|
+
self,
|
|
991
|
+
server_relative_url: str,
|
|
992
|
+
*,
|
|
993
|
+
format: str = "csv", # noqa: A002
|
|
994
|
+
chunksize: int = SAFE_PAGE_SIZE,
|
|
995
|
+
**opts,
|
|
996
|
+
) -> "ImportResult":
|
|
997
|
+
"""Stream a SharePoint-hosted file (CSV/XLSX) into this list's items.
|
|
998
|
+
|
|
999
|
+
Downloads the file from this site (honoring auth) and streams it through
|
|
1000
|
+
:meth:`from_records` — bounded memory, resumable and idempotent with
|
|
1001
|
+
``key=...``. ``format`` is ``"csv"`` (default) or ``"xlsx"``/``"excel"``.
|
|
1002
|
+
|
|
1003
|
+
>>> lst.from_file("Shared Documents/stocks.csv", key=["Name", "date"]) \\
|
|
1004
|
+
... .execute_batch(concurrency=5)
|
|
1005
|
+
"""
|
|
1006
|
+
import io
|
|
1007
|
+
|
|
1008
|
+
file = self.context.web.get_file_by_server_relative_url(server_relative_url)
|
|
1009
|
+
content = file.read()
|
|
1010
|
+
if format in ("xlsx", "excel"):
|
|
1011
|
+
from office365.runtime.converters.dataframe import require_pandas
|
|
1012
|
+
|
|
1013
|
+
df = require_pandas().read_excel(io.BytesIO(content))
|
|
1014
|
+
return self.from_dataframe(df, chunksize=chunksize, **opts)
|
|
1015
|
+
return self.from_csv(io.BytesIO(content), chunksize=chunksize, **opts)
|
|
1016
|
+
|
|
1017
|
+
def queue_dataframe(
|
|
1018
|
+
self,
|
|
1019
|
+
df,
|
|
1020
|
+
schema: "Dict[str, FieldType] | None" = None,
|
|
1021
|
+
progress: "ProgressCallback | None" = None,
|
|
1022
|
+
) -> Self:
|
|
1023
|
+
"""Queue a DataFrame into this list **deferred** (queue-all).
|
|
1024
|
+
|
|
1025
|
+
Provisions the columns (from the dtypes, or ``schema``) and queues an item
|
|
1026
|
+
create per row; run with ``execute_query()``. For large frames use the
|
|
1027
|
+
streaming :meth:`from_dataframe` (bounded memory + idempotency).
|
|
1028
|
+
"""
|
|
1029
|
+
if schema is not None:
|
|
1030
|
+
self.ensure_fields(schema)
|
|
1031
|
+
else:
|
|
1032
|
+
self.fields.ensure_from_dataframe(df)
|
|
1033
|
+
self.items.queue_dataframe(df, progress=progress)
|
|
1034
|
+
return self
|
|
1035
|
+
|
|
1036
|
+
def queue_records(self, records, progress: "ProgressCallback | None" = None) -> Self:
|
|
1037
|
+
"""Queue record dicts into this list's items (deferred)."""
|
|
1038
|
+
self.items.queue_records(records, progress=progress)
|
|
1039
|
+
return self
|
|
1040
|
+
|
|
1041
|
+
def verify(
|
|
1042
|
+
self,
|
|
1043
|
+
source,
|
|
1044
|
+
*,
|
|
1045
|
+
key: "str | list[str]",
|
|
1046
|
+
format: str = "dataframe", # noqa: A002
|
|
1047
|
+
key_field: str = "MigrationKey",
|
|
1048
|
+
) -> "VerificationResult":
|
|
1049
|
+
"""Reconcile a source's natural keys against this list (bounded).
|
|
1050
|
+
|
|
1051
|
+
Streams the source, hashes each row's natural key and checks it against the
|
|
1052
|
+
list's existing keys. ``format`` is ``"dataframe"`` (default), ``"csv"`` or
|
|
1053
|
+
any registered format.
|
|
1054
|
+
"""
|
|
1055
|
+
from office365.runtime.converters.dataframe import records_from_dataframe
|
|
1056
|
+
from office365.sharepoint.fields.name import internal_field_name
|
|
1057
|
+
|
|
1058
|
+
def _to_records(chunk):
|
|
1059
|
+
return records_from_dataframe(chunk, key_fn=internal_field_name)
|
|
1060
|
+
|
|
1061
|
+
to_records = _to_records if format in ("dataframe", "csv") else None
|
|
1062
|
+
return self.items.verify(source, key=key, format=format, key_field=key_field, to_records=to_records)
|
|
1063
|
+
|
|
1064
|
+
def export_to(self, target, *, format: str = "csv", page_size=None, **opts) -> Self: # noqa: A002
|
|
1065
|
+
"""Export this list's items to ``target`` in ``format`` (deferred).
|
|
1066
|
+
|
|
1067
|
+
The record exporter (CSV/NDJSON/JSON/Excel); pass ``page_size`` to stream
|
|
1068
|
+
an appendable format page by page (bounded memory). For the ``.zip``
|
|
1069
|
+
package export use :meth:`export`. Run with ``execute_query()``.
|
|
1070
|
+
"""
|
|
1071
|
+
if page_size:
|
|
1072
|
+
self.items.export_to(target, format=format, page_size=page_size, **opts)
|
|
1073
|
+
else:
|
|
1074
|
+
self.items.get_all().export_to(target, format=format, **opts)
|
|
1075
|
+
return self
|
|
1076
|
+
|
|
1077
|
+
def to_dataframe(self) -> "DataFrameResult":
|
|
1078
|
+
"""Export this list's items to a pandas DataFrame (deferred result)."""
|
|
1079
|
+
return self.items.get_all().to_dataframe()
|
|
1080
|
+
|
|
1081
|
+
def to_parquet(self, target) -> Self:
|
|
1082
|
+
"""Export this list's items to Parquet (deferred; requires the ``[parquet]`` extra)."""
|
|
1083
|
+
return self.export_to(target, format="parquet")
|
|
1084
|
+
|
|
1085
|
+
def to_orc(self, target) -> Self:
|
|
1086
|
+
"""Export this list's items to ORC (deferred; requires the ``[parquet]`` extra)."""
|
|
1087
|
+
return self.export_to(target, format="orc")
|
|
1088
|
+
|
|
1089
|
+
def to_feather(self, target) -> Self:
|
|
1090
|
+
"""Export this list's items to Feather (deferred; requires the ``[parquet]`` extra)."""
|
|
1091
|
+
return self.export_to(target, format="feather")
|
|
1092
|
+
|
|
658
1093
|
def add_item(self, creation_information: Union[ListItemCreationInformation, Dict]) -> ListItem:
|
|
659
1094
|
"""The recommended way to add a list item is to send a POST request to the ListItemCollection resource endpoint,
|
|
660
1095
|
as shown in ListItemCollection request examples."""
|
|
@@ -755,7 +1190,7 @@ class List(SecurableObject):
|
|
|
755
1190
|
self.items.add_child(return_type)
|
|
756
1191
|
|
|
757
1192
|
def _after_loaded(item):
|
|
758
|
-
|
|
1193
|
+
return_type.copy_from(item)
|
|
759
1194
|
|
|
760
1195
|
def _get_item_by_url():
|
|
761
1196
|
assert self.root_folder.server_relative_url is not None
|
|
@@ -1170,7 +1605,7 @@ class List(SecurableObject):
|
|
|
1170
1605
|
"""Get list items"""
|
|
1171
1606
|
return self.properties.get(
|
|
1172
1607
|
"Items",
|
|
1173
|
-
ListItemCollection(self.context, ResourcePath("items", self.resource_path)),
|
|
1608
|
+
ListItemCollection(self.context, ResourcePath("items", self.resource_path), parent=self),
|
|
1174
1609
|
)
|
|
1175
1610
|
|
|
1176
1611
|
@odata(name="RootFolder")
|
|
@@ -1185,7 +1620,7 @@ class List(SecurableObject):
|
|
|
1185
1620
|
@property
|
|
1186
1621
|
def fields(self) -> FieldCollection:
|
|
1187
1622
|
"""Gets a value that specifies the collection of all fields in the list."""
|
|
1188
|
-
return self.properties.
|
|
1623
|
+
return self.properties.setdefault(
|
|
1189
1624
|
"Fields",
|
|
1190
1625
|
FieldCollection(self.context, ResourcePath("Fields", self.resource_path), self),
|
|
1191
1626
|
)
|
|
@@ -1312,31 +1747,29 @@ class List(SecurableObject):
|
|
|
1312
1747
|
|
|
1313
1748
|
@odata(name="LastItemDeletedDate")
|
|
1314
1749
|
@property
|
|
1315
|
-
def last_item_deleted_date(self) -> datetime:
|
|
1750
|
+
def last_item_deleted_date(self) -> Optional[datetime]:
|
|
1316
1751
|
"""
|
|
1317
1752
|
Specifies the last time a list item was deleted from the list. It MUST return Created if no list item has
|
|
1318
1753
|
been deleted from the list yet.
|
|
1319
1754
|
"""
|
|
1320
|
-
return self.properties.get("LastItemDeletedDate",
|
|
1755
|
+
return self.properties.get("LastItemDeletedDate", None)
|
|
1321
1756
|
|
|
1322
1757
|
@odata(name="LastItemModifiedDate")
|
|
1323
1758
|
@property
|
|
1324
|
-
def last_item_modified_date(self) -> datetime:
|
|
1759
|
+
def last_item_modified_date(self) -> Optional[datetime]:
|
|
1325
1760
|
"""
|
|
1326
1761
|
Specifies the last time a list item, field, or property of the list was modified.
|
|
1327
1762
|
It MUST return Created if the list has not been modified.
|
|
1328
1763
|
"""
|
|
1329
|
-
return self.properties.get("LastItemModifiedDate",
|
|
1764
|
+
return self.properties.get("LastItemModifiedDate", None)
|
|
1330
1765
|
|
|
1331
1766
|
@odata(name="LastItemUserModifiedDate")
|
|
1332
1767
|
@property
|
|
1333
|
-
def last_item_user_modified_date(self) -> datetime:
|
|
1768
|
+
def last_item_user_modified_date(self) -> Optional[datetime]:
|
|
1334
1769
|
"""
|
|
1335
|
-
Specifies
|
|
1336
|
-
to a list item that is visible to end users. If no item has been created in the list, the list creation time
|
|
1337
|
-
is returned.
|
|
1770
|
+
Specifies the last time a list item was modified by a user.
|
|
1338
1771
|
"""
|
|
1339
|
-
return self.properties.get("LastItemUserModifiedDate",
|
|
1772
|
+
return self.properties.get("LastItemUserModifiedDate", None)
|
|
1340
1773
|
|
|
1341
1774
|
@property
|
|
1342
1775
|
def list_experience_options(self) -> Optional[int]:
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing_extensions import Self
|
|
4
|
+
|
|
5
|
+
from office365.runtime.client_result import ClientResult
|
|
6
|
+
from office365.runtime.queries.service_operation import ServiceOperationQuery
|
|
7
|
+
from office365.runtime.types.collections import StringCollection
|
|
8
|
+
from office365.sharepoint.entity import Entity
|
|
9
|
+
from office365.sharepoint.lists.batch_convert_result import BatchConvertResult
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SmartWikiLibraryUtility(Entity):
|
|
13
|
+
def batch_convert_classic_wiki_pages(
|
|
14
|
+
self,
|
|
15
|
+
source_list_id: str,
|
|
16
|
+
source_item_ids: list[str],
|
|
17
|
+
target_web_url: str,
|
|
18
|
+
target_list_id: str,
|
|
19
|
+
use_fast_unordered_mode: bool,
|
|
20
|
+
parent_unique_id: str,
|
|
21
|
+
strict_asset_copy: bool,
|
|
22
|
+
) -> ClientResult[BatchConvertResult]:
|
|
23
|
+
"""BatchConvertClassicWikiPages operation.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
source_list_id (str): sourceListId parameter
|
|
27
|
+
source_item_ids (list[str]): sourceItemIds parameter
|
|
28
|
+
target_web_url (str): targetWebUrl parameter
|
|
29
|
+
target_list_id (str): targetListId parameter
|
|
30
|
+
use_fast_unordered_mode (bool): useFastUnorderedMode parameter
|
|
31
|
+
parent_unique_id (str): parentUniqueId parameter
|
|
32
|
+
strict_asset_copy (bool): strictAssetCopy parameter
|
|
33
|
+
"""
|
|
34
|
+
return_type = ClientResult(self.context, BatchConvertResult())
|
|
35
|
+
qry = ServiceOperationQuery(
|
|
36
|
+
self,
|
|
37
|
+
"BatchConvertClassicWikiPages",
|
|
38
|
+
None,
|
|
39
|
+
{
|
|
40
|
+
"sourceListId": source_list_id,
|
|
41
|
+
"sourceItemIds": StringCollection(source_item_ids),
|
|
42
|
+
"targetWebUrl": target_web_url,
|
|
43
|
+
"targetListId": target_list_id,
|
|
44
|
+
"useFastUnorderedMode": use_fast_unordered_mode,
|
|
45
|
+
"parentUniqueId": parent_unique_id,
|
|
46
|
+
"strictAssetCopy": strict_asset_copy,
|
|
47
|
+
},
|
|
48
|
+
None,
|
|
49
|
+
return_type,
|
|
50
|
+
)
|
|
51
|
+
self.context.add_query(qry)
|
|
52
|
+
return return_type
|
|
53
|
+
|
|
54
|
+
def ensure_smart_wiki_library_feature(self) -> Self:
|
|
55
|
+
"""EnsureSmartWikiLibraryFeature operation."""
|
|
56
|
+
qry = ServiceOperationQuery(self, "EnsureSmartWikiLibraryFeature", None, {}, None, None)
|
|
57
|
+
self.context.add_query(qry)
|
|
58
|
+
return self
|