msgraph-sdk 1.35.0__py3-none-any.whl → 1.37.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. msgraph/_version.py +1 -1
  2. msgraph/generated/applications/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  3. msgraph/generated/applications/item/add_key/add_key_request_builder.py +2 -2
  4. msgraph/generated/applications/item/restore/restore_request_builder.py +2 -2
  5. msgraph/generated/audit_logs/sign_ins/confirm_compromised/confirm_compromised_post_request_body.py +50 -0
  6. msgraph/generated/audit_logs/sign_ins/confirm_compromised/confirm_compromised_request_builder.py +87 -0
  7. msgraph/generated/audit_logs/sign_ins/confirm_safe/confirm_safe_post_request_body.py +50 -0
  8. msgraph/generated/audit_logs/sign_ins/confirm_safe/confirm_safe_request_builder.py +87 -0
  9. msgraph/generated/audit_logs/sign_ins/dismiss/dismiss_post_request_body.py +50 -0
  10. msgraph/generated/audit_logs/sign_ins/dismiss/dismiss_request_builder.py +87 -0
  11. msgraph/generated/audit_logs/sign_ins/sign_ins_request_builder.py +30 -0
  12. msgraph/generated/chats/item/messages/messages_request_builder.py +3 -3
  13. msgraph/generated/chats/item/send_activity_notification/send_activity_notification_post_request_body.py +4 -0
  14. msgraph/generated/communications/calls/item/participants/invite/invite_request_builder.py +3 -3
  15. msgraph/generated/contacts/contacts_request_builder.py +1 -52
  16. msgraph/generated/contacts/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  17. msgraph/generated/contacts/item/org_contact_item_request_builder.py +0 -81
  18. msgraph/generated/contacts/item/restore/restore_request_builder.py +2 -2
  19. msgraph/generated/contracts/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  20. msgraph/generated/contracts/item/restore/restore_request_builder.py +2 -2
  21. msgraph/generated/device_app_management/device_app_management_request_builder.py +2 -2
  22. msgraph/generated/device_app_management/managed_app_policies/item/managed_app_policy_item_request_builder.py +4 -4
  23. msgraph/generated/device_app_management/managed_app_policies/managed_app_policies_request_builder.py +4 -4
  24. msgraph/generated/device_app_management/managed_app_registrations/item/managed_app_registration_item_request_builder.py +4 -4
  25. msgraph/generated/device_app_management/managed_app_registrations/managed_app_registrations_request_builder.py +4 -4
  26. msgraph/generated/device_app_management/managed_app_statuses/item/managed_app_status_item_request_builder.py +4 -4
  27. msgraph/generated/device_app_management/managed_app_statuses/managed_app_statuses_request_builder.py +4 -4
  28. msgraph/generated/device_app_management/managed_e_books/item/assignments/assignments_request_builder.py +3 -3
  29. msgraph/generated/device_app_management/managed_e_books/item/assignments/item/managed_e_book_assignment_item_request_builder.py +4 -4
  30. msgraph/generated/device_app_management/managed_e_books/item/managed_e_book_item_request_builder.py +4 -4
  31. msgraph/generated/device_app_management/mobile_app_configurations/item/managed_device_mobile_app_configuration_item_request_builder.py +4 -4
  32. msgraph/generated/device_app_management/mobile_app_configurations/mobile_app_configurations_request_builder.py +4 -4
  33. msgraph/generated/device_app_management/mobile_apps/item/mobile_app_item_request_builder.py +10 -10
  34. msgraph/generated/device_app_management/mobile_apps/mobile_apps_request_builder.py +7 -7
  35. msgraph/generated/device_management/device_compliance_policies/device_compliance_policies_request_builder.py +3 -3
  36. msgraph/generated/device_management/device_compliance_policies/item/device_compliance_policy_item_request_builder.py +7 -7
  37. msgraph/generated/device_management/device_configurations/device_configurations_request_builder.py +7 -7
  38. msgraph/generated/device_management/device_configurations/item/device_configuration_item_request_builder.py +10 -10
  39. msgraph/generated/device_management/device_enrollment_configurations/device_enrollment_configurations_request_builder.py +7 -7
  40. msgraph/generated/device_management/device_enrollment_configurations/item/device_enrollment_configuration_item_request_builder.py +4 -4
  41. msgraph/generated/device_management/device_management_request_builder.py +2 -2
  42. msgraph/generated/device_management/role_definitions/item/role_definition_item_request_builder.py +3 -3
  43. msgraph/generated/devices/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  44. msgraph/generated/devices/item/restore/restore_request_builder.py +2 -2
  45. msgraph/generated/directory/administrative_units/item/administrative_unit_item_request_builder.py +3 -3
  46. msgraph/generated/directory/deleted_items/deleted_items_request_builder.py +3 -3
  47. msgraph/generated/directory/deleted_items/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  48. msgraph/generated/directory/deleted_items/graph_group/graph_group_request_builder.py +3 -3
  49. msgraph/generated/directory/deleted_items/item/directory_object_item_request_builder.py +5 -5
  50. msgraph/generated/directory/deleted_items/item/graph_group/graph_group_request_builder.py +3 -3
  51. msgraph/generated/directory/deleted_items/item/restore/restore_request_builder.py +2 -2
  52. msgraph/generated/directory/public_key_infrastructure/certificate_based_auth_configurations/certificate_based_auth_configurations_request_builder.py +7 -5
  53. msgraph/generated/directory/public_key_infrastructure/certificate_based_auth_configurations/item/certificate_authorities/certificate_authorities_request_builder.py +7 -5
  54. msgraph/generated/directory/public_key_infrastructure/certificate_based_auth_configurations/item/certificate_authorities/item/certificate_authority_detail_item_request_builder.py +9 -7
  55. msgraph/generated/directory/public_key_infrastructure/certificate_based_auth_configurations/item/certificate_based_auth_pki_item_request_builder.py +10 -7
  56. msgraph/generated/directory/public_key_infrastructure/certificate_based_auth_configurations/item/upload/upload_request_builder.py +3 -2
  57. msgraph/generated/directory/public_key_infrastructure/public_key_infrastructure_request_builder.py +3 -3
  58. msgraph/generated/directory_objects/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  59. msgraph/generated/directory_objects/item/restore/restore_request_builder.py +2 -2
  60. msgraph/generated/directory_role_templates/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  61. msgraph/generated/directory_role_templates/item/restore/restore_request_builder.py +2 -2
  62. msgraph/generated/directory_roles/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  63. msgraph/generated/directory_roles/item/restore/restore_request_builder.py +2 -2
  64. msgraph/generated/domains/item/verify/verify_request_builder.py +2 -2
  65. msgraph/generated/drives/item/items/item/create_link/create_link_request_builder.py +2 -2
  66. msgraph/generated/drives/item/items/item/restore/restore_request_builder.py +2 -2
  67. msgraph/generated/group_setting_templates/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  68. msgraph/generated/group_setting_templates/item/restore/restore_request_builder.py +2 -2
  69. msgraph/generated/group_settings/group_settings_request_builder.py +2 -2
  70. msgraph/generated/groups/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  71. msgraph/generated/groups/groups_request_builder.py +3 -3
  72. msgraph/generated/groups/item/conversations/item/threads/item/reply/reply_request_builder.py +3 -3
  73. msgraph/generated/groups/item/restore/restore_request_builder.py +2 -2
  74. msgraph/generated/groups/item/settings/settings_request_builder.py +2 -2
  75. msgraph/generated/groups/item/team/send_activity_notification/send_activity_notification_post_request_body.py +4 -0
  76. msgraph/generated/groups/item/threads/item/conversation_thread_item_request_builder.py +5 -5
  77. msgraph/generated/groups/item/threads/item/reply/reply_request_builder.py +3 -3
  78. msgraph/generated/identity/conditional_access/named_locations/item/named_location_item_request_builder.py +10 -10
  79. msgraph/generated/identity_governance/entitlement_management/catalogs/item/custom_workflow_extensions/item/custom_callout_extension_item_request_builder.py +7 -7
  80. msgraph/generated/identity_governance/terms_of_use/agreements/item/agreement_item_request_builder.py +4 -4
  81. msgraph/generated/kiota-dom-export.txt +1000 -10
  82. msgraph/generated/kiota-lock.json +1 -1
  83. msgraph/generated/models/activities_container.py +60 -0
  84. msgraph/generated/models/activity_metadata.py +61 -0
  85. msgraph/generated/models/administrative_unit.py +1 -1
  86. msgraph/generated/models/ai_interaction_plugin.py +62 -0
  87. msgraph/generated/models/binary_content.py +57 -0
  88. msgraph/generated/models/call_event.py +84 -0
  89. msgraph/generated/models/call_event_type.py +8 -0
  90. msgraph/generated/models/certificate_authority_detail.py +10 -10
  91. msgraph/generated/models/certificate_based_auth_pki.py +5 -5
  92. msgraph/generated/models/classifcation_error_base.py +92 -0
  93. msgraph/generated/models/classification_error.py +69 -0
  94. msgraph/generated/models/classification_inner_error.py +67 -0
  95. msgraph/generated/models/content_activity.py +68 -0
  96. msgraph/generated/models/content_activity_collection_response.py +58 -0
  97. msgraph/generated/models/content_base.py +73 -0
  98. msgraph/generated/models/content_processing_error_type.py +7 -0
  99. msgraph/generated/models/custom_metadata_dictionary.py +53 -0
  100. msgraph/generated/models/data_security_and_governance.py +72 -0
  101. msgraph/generated/models/device.py +1 -1
  102. msgraph/generated/models/device_metadata.py +69 -0
  103. msgraph/generated/models/dictionary.py +7 -0
  104. msgraph/generated/models/directory.py +1 -1
  105. msgraph/generated/models/dlp_action.py +16 -0
  106. msgraph/generated/models/dlp_action_info.py +80 -0
  107. msgraph/generated/models/emergency_call_event.py +68 -0
  108. msgraph/generated/models/emergency_caller_info.py +77 -0
  109. msgraph/generated/models/entity.py +84 -0
  110. msgraph/generated/models/execution_mode.py +7 -0
  111. msgraph/generated/models/group.py +1 -1
  112. msgraph/generated/models/group_scope.py +53 -0
  113. msgraph/generated/models/integrated_application_metadata.py +74 -0
  114. msgraph/generated/models/label_content_right.py +61 -0
  115. msgraph/generated/models/operating_system_specifications.py +58 -0
  116. msgraph/generated/models/partners/billing/billing_reconciliation.py +7 -0
  117. msgraph/generated/models/partners/billing/unbilled_reconciliation.py +53 -0
  118. msgraph/generated/models/policy_binding.py +65 -0
  119. msgraph/generated/models/policy_location.py +84 -0
  120. msgraph/generated/models/policy_location_application.py +53 -0
  121. msgraph/generated/models/policy_location_domain.py +53 -0
  122. msgraph/generated/models/policy_location_url.py +53 -0
  123. msgraph/generated/models/policy_pivot_property.py +8 -0
  124. msgraph/generated/models/policy_scope_base.py +101 -0
  125. msgraph/generated/models/policy_tenant_scope.py +60 -0
  126. msgraph/generated/models/policy_user_scope.py +53 -0
  127. msgraph/generated/models/process_content_batch_request.py +69 -0
  128. msgraph/generated/models/process_content_metadata_base.py +113 -0
  129. msgraph/generated/models/process_content_request.py +89 -0
  130. msgraph/generated/models/process_content_response.py +75 -0
  131. msgraph/generated/models/process_content_responses.py +65 -0
  132. msgraph/generated/models/process_conversation_metadata.py +68 -0
  133. msgraph/generated/models/process_file_metadata.py +64 -0
  134. msgraph/generated/models/processing_error.py +60 -0
  135. msgraph/generated/models/protected_application_metadata.py +60 -0
  136. msgraph/generated/models/protection_scope_state.py +7 -0
  137. msgraph/generated/models/public_key_infrastructure_root.py +1 -1
  138. msgraph/generated/models/restrict_access_action.py +53 -0
  139. msgraph/generated/models/restrict_access_action_base.py +72 -0
  140. msgraph/generated/models/restriction_action.py +7 -0
  141. msgraph/generated/models/scope_base.py +84 -0
  142. msgraph/generated/models/security/security.py +7 -0
  143. msgraph/generated/models/tenant_data_security_and_governance.py +60 -0
  144. msgraph/generated/models/tenant_protection_scope_container.py +53 -0
  145. msgraph/generated/models/tenant_scope.py +53 -0
  146. msgraph/generated/models/text_content.py +57 -0
  147. msgraph/generated/models/upload_session.py +1 -1
  148. msgraph/generated/models/usage_rights.py +25 -0
  149. msgraph/generated/models/usage_rights_included.py +68 -0
  150. msgraph/generated/models/user.py +8 -1
  151. msgraph/generated/models/user_activity_type.py +9 -0
  152. msgraph/generated/models/user_activity_types.py +10 -0
  153. msgraph/generated/models/user_data_security_and_governance.py +67 -0
  154. msgraph/generated/models/user_protection_scope_container.py +53 -0
  155. msgraph/generated/models/user_scope.py +53 -0
  156. msgraph/generated/organization/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  157. msgraph/generated/organization/item/branding/localizations/item/banner_logo/banner_logo_request_builder.py +3 -3
  158. msgraph/generated/organization/item/organization_item_request_builder.py +3 -3
  159. msgraph/generated/organization/item/restore/restore_request_builder.py +2 -2
  160. msgraph/generated/organization/organization_request_builder.py +4 -4
  161. msgraph/generated/permission_grants/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  162. msgraph/generated/permission_grants/item/restore/restore_request_builder.py +2 -2
  163. msgraph/generated/policies/cross_tenant_access_policy/partners/item/identity_synchronization/identity_synchronization_request_builder.py +3 -3
  164. msgraph/generated/reports/partners/billing/reconciliation/reconciliation_request_builder.py +10 -0
  165. msgraph/generated/reports/partners/billing/reconciliation/unbilled/microsoft_graph_partners_billing_export/export_post_request_body.py +68 -0
  166. msgraph/generated/reports/partners/billing/reconciliation/unbilled/microsoft_graph_partners_billing_export/microsoft_graph_partners_billing_export_request_builder.py +89 -0
  167. msgraph/generated/reports/partners/billing/reconciliation/unbilled/unbilled_request_builder.py +198 -0
  168. msgraph/generated/security/data_security_and_governance/data_security_and_governance_request_builder.py +208 -0
  169. msgraph/generated/security/data_security_and_governance/process_content_async/process_content_async_post_request_body.py +57 -0
  170. msgraph/generated/security/data_security_and_governance/process_content_async/process_content_async_post_response.py +58 -0
  171. msgraph/generated/security/data_security_and_governance/process_content_async/process_content_async_request_builder.py +89 -0
  172. msgraph/generated/security/data_security_and_governance/protection_scopes/compute/compute_post_request_body.py +85 -0
  173. msgraph/generated/security/data_security_and_governance/protection_scopes/compute/compute_post_response.py +58 -0
  174. msgraph/generated/security/data_security_and_governance/protection_scopes/compute/compute_request_builder.py +89 -0
  175. msgraph/generated/security/data_security_and_governance/protection_scopes/protection_scopes_request_builder.py +198 -0
  176. msgraph/generated/security/security_request_builder.py +10 -0
  177. msgraph/generated/service_principals/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  178. msgraph/generated/service_principals/item/add_key/add_key_request_builder.py +2 -2
  179. msgraph/generated/service_principals/item/restore/restore_request_builder.py +2 -2
  180. msgraph/generated/sites/item/lists/item/list_item_request_builder.py +4 -4
  181. msgraph/generated/sites/sites_request_builder.py +4 -4
  182. msgraph/generated/teams/item/channels/item/members/item/conversation_member_item_request_builder.py +3 -3
  183. msgraph/generated/teams/item/channels/item/messages/messages_request_builder.py +3 -3
  184. msgraph/generated/teams/item/schedule/shifts/item/shift_item_request_builder.py +2 -2
  185. msgraph/generated/teams/item/send_activity_notification/send_activity_notification_post_request_body.py +4 -0
  186. msgraph/generated/teamwork/send_activity_notification_to_recipients/send_activity_notification_to_recipients_post_request_body.py +4 -0
  187. msgraph/generated/tenant_relationships/multi_tenant_organization/multi_tenant_organization_request_builder.py +3 -3
  188. msgraph/generated/users/get_available_extension_properties/get_available_extension_properties_request_builder.py +2 -2
  189. msgraph/generated/users/item/chats/item/send_activity_notification/send_activity_notification_post_request_body.py +4 -0
  190. msgraph/generated/users/item/data_security_and_governance/activities/activities_request_builder.py +198 -0
  191. msgraph/generated/users/item/data_security_and_governance/activities/content_activities/content_activities_request_builder.py +208 -0
  192. msgraph/generated/users/item/data_security_and_governance/activities/content_activities/count/count_request_builder.py +104 -0
  193. msgraph/generated/users/item/data_security_and_governance/activities/content_activities/item/content_activity_item_request_builder.py +188 -0
  194. msgraph/generated/users/item/data_security_and_governance/data_security_and_governance_request_builder.py +218 -0
  195. msgraph/generated/users/item/data_security_and_governance/process_content/process_content_post_request_body.py +57 -0
  196. msgraph/generated/users/item/data_security_and_governance/process_content/process_content_request_builder.py +90 -0
  197. msgraph/generated/users/item/data_security_and_governance/protection_scopes/compute/compute_post_request_body.py +85 -0
  198. msgraph/generated/users/item/data_security_and_governance/protection_scopes/compute/compute_post_response.py +58 -0
  199. msgraph/generated/users/item/data_security_and_governance/protection_scopes/compute/compute_request_builder.py +89 -0
  200. msgraph/generated/users/item/data_security_and_governance/protection_scopes/protection_scopes_request_builder.py +198 -0
  201. msgraph/generated/users/item/joined_teams/item/send_activity_notification/send_activity_notification_post_request_body.py +4 -0
  202. msgraph/generated/users/item/restore/restore_request_builder.py +2 -2
  203. msgraph/generated/users/item/teamwork/send_activity_notification/send_activity_notification_post_request_body.py +4 -0
  204. msgraph/generated/users/item/user_item_request_builder.py +16 -6
  205. msgraph/generated/users/users_request_builder.py +5 -5
  206. msgraph/generated/users_with_user_principal_name/users_with_user_principal_name_request_builder.py +6 -6
  207. {msgraph_sdk-1.35.0.dist-info → msgraph_sdk-1.37.0.dist-info}/METADATA +1 -1
  208. {msgraph_sdk-1.35.0.dist-info → msgraph_sdk-1.37.0.dist-info}/RECORD +210 -122
  209. {msgraph_sdk-1.35.0.dist-info → msgraph_sdk-1.37.0.dist-info}/WHEEL +0 -0
  210. {msgraph_sdk-1.35.0.dist-info → msgraph_sdk-1.37.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,58 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
5
+ from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
6
+ from typing import Any, Optional, TYPE_CHECKING, Union
7
+
8
+ @dataclass
9
+ class OperatingSystemSpecifications(AdditionalDataHolder, BackedModel, Parsable):
10
+ # Stores model information.
11
+ backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)
12
+
13
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
14
+ additional_data: dict[str, Any] = field(default_factory=dict)
15
+ # The OdataType property
16
+ odata_type: Optional[str] = None
17
+ # The platform of the operating system (for example, 'Windows').
18
+ operating_system_platform: Optional[str] = None
19
+ # The version string of the operating system.
20
+ operating_system_version: Optional[str] = None
21
+
22
+ @staticmethod
23
+ def create_from_discriminator_value(parse_node: ParseNode) -> OperatingSystemSpecifications:
24
+ """
25
+ Creates a new instance of the appropriate class based on discriminator value
26
+ param parse_node: The parse node to use to read the discriminator value and create the object
27
+ Returns: OperatingSystemSpecifications
28
+ """
29
+ if parse_node is None:
30
+ raise TypeError("parse_node cannot be null.")
31
+ return OperatingSystemSpecifications()
32
+
33
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
34
+ """
35
+ The deserialization information for the current model
36
+ Returns: dict[str, Callable[[ParseNode], None]]
37
+ """
38
+ fields: dict[str, Callable[[Any], None]] = {
39
+ "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
40
+ "operatingSystemPlatform": lambda n : setattr(self, 'operating_system_platform', n.get_str_value()),
41
+ "operatingSystemVersion": lambda n : setattr(self, 'operating_system_version', n.get_str_value()),
42
+ }
43
+ return fields
44
+
45
+ def serialize(self,writer: SerializationWriter) -> None:
46
+ """
47
+ Serializes information the current object
48
+ param writer: Serialization writer to use to serialize this model
49
+ Returns: None
50
+ """
51
+ if writer is None:
52
+ raise TypeError("writer cannot be null.")
53
+ writer.write_str_value("@odata.type", self.odata_type)
54
+ writer.write_str_value("operatingSystemPlatform", self.operating_system_platform)
55
+ writer.write_str_value("operatingSystemVersion", self.operating_system_version)
56
+ writer.write_additional_data_value(self.additional_data)
57
+
58
+
@@ -7,6 +7,7 @@ from typing import Any, Optional, TYPE_CHECKING, Union
7
7
  if TYPE_CHECKING:
8
8
  from ...entity import Entity
9
9
  from .billed_reconciliation import BilledReconciliation
10
+ from .unbilled_reconciliation import UnbilledReconciliation
10
11
 
11
12
  from ...entity import Entity
12
13
 
@@ -16,6 +17,8 @@ class BillingReconciliation(Entity, Parsable):
16
17
  billed: Optional[BilledReconciliation] = None
17
18
  # The OdataType property
18
19
  odata_type: Optional[str] = None
20
+ # The unbilled property
21
+ unbilled: Optional[UnbilledReconciliation] = None
19
22
 
20
23
  @staticmethod
21
24
  def create_from_discriminator_value(parse_node: ParseNode) -> BillingReconciliation:
@@ -35,12 +38,15 @@ class BillingReconciliation(Entity, Parsable):
35
38
  """
36
39
  from ...entity import Entity
37
40
  from .billed_reconciliation import BilledReconciliation
41
+ from .unbilled_reconciliation import UnbilledReconciliation
38
42
 
39
43
  from ...entity import Entity
40
44
  from .billed_reconciliation import BilledReconciliation
45
+ from .unbilled_reconciliation import UnbilledReconciliation
41
46
 
42
47
  fields: dict[str, Callable[[Any], None]] = {
43
48
  "billed": lambda n : setattr(self, 'billed', n.get_object_value(BilledReconciliation)),
49
+ "unbilled": lambda n : setattr(self, 'unbilled', n.get_object_value(UnbilledReconciliation)),
44
50
  }
45
51
  super_fields = super().get_field_deserializers()
46
52
  fields.update(super_fields)
@@ -56,5 +62,6 @@ class BillingReconciliation(Entity, Parsable):
56
62
  raise TypeError("writer cannot be null.")
57
63
  super().serialize(writer)
58
64
  writer.write_object_value("billed", self.billed)
65
+ writer.write_object_value("unbilled", self.unbilled)
59
66
 
60
67
 
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
5
+ from typing import Any, Optional, TYPE_CHECKING, Union
6
+
7
+ if TYPE_CHECKING:
8
+ from ...entity import Entity
9
+
10
+ from ...entity import Entity
11
+
12
+ @dataclass
13
+ class UnbilledReconciliation(Entity, Parsable):
14
+ # The OdataType property
15
+ odata_type: Optional[str] = None
16
+
17
+ @staticmethod
18
+ def create_from_discriminator_value(parse_node: ParseNode) -> UnbilledReconciliation:
19
+ """
20
+ Creates a new instance of the appropriate class based on discriminator value
21
+ param parse_node: The parse node to use to read the discriminator value and create the object
22
+ Returns: UnbilledReconciliation
23
+ """
24
+ if parse_node is None:
25
+ raise TypeError("parse_node cannot be null.")
26
+ return UnbilledReconciliation()
27
+
28
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
29
+ """
30
+ The deserialization information for the current model
31
+ Returns: dict[str, Callable[[ParseNode], None]]
32
+ """
33
+ from ...entity import Entity
34
+
35
+ from ...entity import Entity
36
+
37
+ fields: dict[str, Callable[[Any], None]] = {
38
+ }
39
+ super_fields = super().get_field_deserializers()
40
+ fields.update(super_fields)
41
+ return fields
42
+
43
+ def serialize(self,writer: SerializationWriter) -> None:
44
+ """
45
+ Serializes information the current object
46
+ param writer: Serialization writer to use to serialize this model
47
+ Returns: None
48
+ """
49
+ if writer is None:
50
+ raise TypeError("writer cannot be null.")
51
+ super().serialize(writer)
52
+
53
+
@@ -0,0 +1,65 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
5
+ from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
6
+ from typing import Any, Optional, TYPE_CHECKING, Union
7
+
8
+ if TYPE_CHECKING:
9
+ from .scope_base import ScopeBase
10
+
11
+ @dataclass
12
+ class PolicyBinding(AdditionalDataHolder, BackedModel, Parsable):
13
+ # Stores model information.
14
+ backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)
15
+
16
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
17
+ additional_data: dict[str, Any] = field(default_factory=dict)
18
+ # Specifies the users or groups to be explicitly excluded from this policy scope. Can be null or empty.
19
+ exclusions: Optional[list[ScopeBase]] = None
20
+ # Specifies the users or groups to be included in this policy scope. Often set to tenantScope for 'All users'.
21
+ inclusions: Optional[list[ScopeBase]] = None
22
+ # The OdataType property
23
+ odata_type: Optional[str] = None
24
+
25
+ @staticmethod
26
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyBinding:
27
+ """
28
+ Creates a new instance of the appropriate class based on discriminator value
29
+ param parse_node: The parse node to use to read the discriminator value and create the object
30
+ Returns: PolicyBinding
31
+ """
32
+ if parse_node is None:
33
+ raise TypeError("parse_node cannot be null.")
34
+ return PolicyBinding()
35
+
36
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
37
+ """
38
+ The deserialization information for the current model
39
+ Returns: dict[str, Callable[[ParseNode], None]]
40
+ """
41
+ from .scope_base import ScopeBase
42
+
43
+ from .scope_base import ScopeBase
44
+
45
+ fields: dict[str, Callable[[Any], None]] = {
46
+ "exclusions": lambda n : setattr(self, 'exclusions', n.get_collection_of_object_values(ScopeBase)),
47
+ "inclusions": lambda n : setattr(self, 'inclusions', n.get_collection_of_object_values(ScopeBase)),
48
+ "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
49
+ }
50
+ return fields
51
+
52
+ def serialize(self,writer: SerializationWriter) -> None:
53
+ """
54
+ Serializes information the current object
55
+ param writer: Serialization writer to use to serialize this model
56
+ Returns: None
57
+ """
58
+ if writer is None:
59
+ raise TypeError("writer cannot be null.")
60
+ writer.write_collection_of_object_values("exclusions", self.exclusions)
61
+ writer.write_collection_of_object_values("inclusions", self.inclusions)
62
+ writer.write_str_value("@odata.type", self.odata_type)
63
+ writer.write_additional_data_value(self.additional_data)
64
+
65
+
@@ -0,0 +1,84 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
5
+ from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
6
+ from typing import Any, Optional, TYPE_CHECKING, Union
7
+
8
+ if TYPE_CHECKING:
9
+ from .policy_location_application import PolicyLocationApplication
10
+ from .policy_location_domain import PolicyLocationDomain
11
+ from .policy_location_url import PolicyLocationUrl
12
+
13
+ @dataclass
14
+ class PolicyLocation(AdditionalDataHolder, BackedModel, Parsable):
15
+ # Stores model information.
16
+ backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)
17
+
18
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
19
+ additional_data: dict[str, Any] = field(default_factory=dict)
20
+ # The OdataType property
21
+ odata_type: Optional[str] = None
22
+ # The actual value representing the location. Location value is specific for concretetype of the policyLocation - policyLocationDomain, policyLocationUrl, or policyLocationApplication (for example, 'contoso.com', 'https://partner.contoso.com/upload', '83ef198a-0396-4893-9d4f-d36efbffcaaa').
23
+ value: Optional[str] = None
24
+
25
+ @staticmethod
26
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyLocation:
27
+ """
28
+ Creates a new instance of the appropriate class based on discriminator value
29
+ param parse_node: The parse node to use to read the discriminator value and create the object
30
+ Returns: PolicyLocation
31
+ """
32
+ if parse_node is None:
33
+ raise TypeError("parse_node cannot be null.")
34
+ try:
35
+ child_node = parse_node.get_child_node("@odata.type")
36
+ mapping_value = child_node.get_str_value() if child_node else None
37
+ except AttributeError:
38
+ mapping_value = None
39
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.policyLocationApplication".casefold():
40
+ from .policy_location_application import PolicyLocationApplication
41
+
42
+ return PolicyLocationApplication()
43
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.policyLocationDomain".casefold():
44
+ from .policy_location_domain import PolicyLocationDomain
45
+
46
+ return PolicyLocationDomain()
47
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.policyLocationUrl".casefold():
48
+ from .policy_location_url import PolicyLocationUrl
49
+
50
+ return PolicyLocationUrl()
51
+ return PolicyLocation()
52
+
53
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
54
+ """
55
+ The deserialization information for the current model
56
+ Returns: dict[str, Callable[[ParseNode], None]]
57
+ """
58
+ from .policy_location_application import PolicyLocationApplication
59
+ from .policy_location_domain import PolicyLocationDomain
60
+ from .policy_location_url import PolicyLocationUrl
61
+
62
+ from .policy_location_application import PolicyLocationApplication
63
+ from .policy_location_domain import PolicyLocationDomain
64
+ from .policy_location_url import PolicyLocationUrl
65
+
66
+ fields: dict[str, Callable[[Any], None]] = {
67
+ "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
68
+ "value": lambda n : setattr(self, 'value', n.get_str_value()),
69
+ }
70
+ return fields
71
+
72
+ def serialize(self,writer: SerializationWriter) -> None:
73
+ """
74
+ Serializes information the current object
75
+ param writer: Serialization writer to use to serialize this model
76
+ Returns: None
77
+ """
78
+ if writer is None:
79
+ raise TypeError("writer cannot be null.")
80
+ writer.write_str_value("@odata.type", self.odata_type)
81
+ writer.write_str_value("value", self.value)
82
+ writer.write_additional_data_value(self.additional_data)
83
+
84
+
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
5
+ from typing import Any, Optional, TYPE_CHECKING, Union
6
+
7
+ if TYPE_CHECKING:
8
+ from .policy_location import PolicyLocation
9
+
10
+ from .policy_location import PolicyLocation
11
+
12
+ @dataclass
13
+ class PolicyLocationApplication(PolicyLocation, Parsable):
14
+ # The OdataType property
15
+ odata_type: Optional[str] = "#microsoft.graph.policyLocationApplication"
16
+
17
+ @staticmethod
18
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyLocationApplication:
19
+ """
20
+ Creates a new instance of the appropriate class based on discriminator value
21
+ param parse_node: The parse node to use to read the discriminator value and create the object
22
+ Returns: PolicyLocationApplication
23
+ """
24
+ if parse_node is None:
25
+ raise TypeError("parse_node cannot be null.")
26
+ return PolicyLocationApplication()
27
+
28
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
29
+ """
30
+ The deserialization information for the current model
31
+ Returns: dict[str, Callable[[ParseNode], None]]
32
+ """
33
+ from .policy_location import PolicyLocation
34
+
35
+ from .policy_location import PolicyLocation
36
+
37
+ fields: dict[str, Callable[[Any], None]] = {
38
+ }
39
+ super_fields = super().get_field_deserializers()
40
+ fields.update(super_fields)
41
+ return fields
42
+
43
+ def serialize(self,writer: SerializationWriter) -> None:
44
+ """
45
+ Serializes information the current object
46
+ param writer: Serialization writer to use to serialize this model
47
+ Returns: None
48
+ """
49
+ if writer is None:
50
+ raise TypeError("writer cannot be null.")
51
+ super().serialize(writer)
52
+
53
+
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
5
+ from typing import Any, Optional, TYPE_CHECKING, Union
6
+
7
+ if TYPE_CHECKING:
8
+ from .policy_location import PolicyLocation
9
+
10
+ from .policy_location import PolicyLocation
11
+
12
+ @dataclass
13
+ class PolicyLocationDomain(PolicyLocation, Parsable):
14
+ # The OdataType property
15
+ odata_type: Optional[str] = "#microsoft.graph.policyLocationDomain"
16
+
17
+ @staticmethod
18
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyLocationDomain:
19
+ """
20
+ Creates a new instance of the appropriate class based on discriminator value
21
+ param parse_node: The parse node to use to read the discriminator value and create the object
22
+ Returns: PolicyLocationDomain
23
+ """
24
+ if parse_node is None:
25
+ raise TypeError("parse_node cannot be null.")
26
+ return PolicyLocationDomain()
27
+
28
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
29
+ """
30
+ The deserialization information for the current model
31
+ Returns: dict[str, Callable[[ParseNode], None]]
32
+ """
33
+ from .policy_location import PolicyLocation
34
+
35
+ from .policy_location import PolicyLocation
36
+
37
+ fields: dict[str, Callable[[Any], None]] = {
38
+ }
39
+ super_fields = super().get_field_deserializers()
40
+ fields.update(super_fields)
41
+ return fields
42
+
43
+ def serialize(self,writer: SerializationWriter) -> None:
44
+ """
45
+ Serializes information the current object
46
+ param writer: Serialization writer to use to serialize this model
47
+ Returns: None
48
+ """
49
+ if writer is None:
50
+ raise TypeError("writer cannot be null.")
51
+ super().serialize(writer)
52
+
53
+
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
5
+ from typing import Any, Optional, TYPE_CHECKING, Union
6
+
7
+ if TYPE_CHECKING:
8
+ from .policy_location import PolicyLocation
9
+
10
+ from .policy_location import PolicyLocation
11
+
12
+ @dataclass
13
+ class PolicyLocationUrl(PolicyLocation, Parsable):
14
+ # The OdataType property
15
+ odata_type: Optional[str] = "#microsoft.graph.policyLocationUrl"
16
+
17
+ @staticmethod
18
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyLocationUrl:
19
+ """
20
+ Creates a new instance of the appropriate class based on discriminator value
21
+ param parse_node: The parse node to use to read the discriminator value and create the object
22
+ Returns: PolicyLocationUrl
23
+ """
24
+ if parse_node is None:
25
+ raise TypeError("parse_node cannot be null.")
26
+ return PolicyLocationUrl()
27
+
28
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
29
+ """
30
+ The deserialization information for the current model
31
+ Returns: dict[str, Callable[[ParseNode], None]]
32
+ """
33
+ from .policy_location import PolicyLocation
34
+
35
+ from .policy_location import PolicyLocation
36
+
37
+ fields: dict[str, Callable[[Any], None]] = {
38
+ }
39
+ super_fields = super().get_field_deserializers()
40
+ fields.update(super_fields)
41
+ return fields
42
+
43
+ def serialize(self,writer: SerializationWriter) -> None:
44
+ """
45
+ Serializes information the current object
46
+ param writer: Serialization writer to use to serialize this model
47
+ Returns: None
48
+ """
49
+ if writer is None:
50
+ raise TypeError("writer cannot be null.")
51
+ super().serialize(writer)
52
+
53
+
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class PolicyPivotProperty(str, Enum):
4
+ None_ = "none",
5
+ Activity = "activity",
6
+ Location = "location",
7
+ UnknownFutureValue = "unknownFutureValue",
8
+
@@ -0,0 +1,101 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
5
+ from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
6
+ from typing import Any, Optional, TYPE_CHECKING, Union
7
+
8
+ if TYPE_CHECKING:
9
+ from .dlp_action_info import DlpActionInfo
10
+ from .execution_mode import ExecutionMode
11
+ from .policy_location import PolicyLocation
12
+ from .policy_tenant_scope import PolicyTenantScope
13
+ from .policy_user_scope import PolicyUserScope
14
+ from .user_activity_types import UserActivityTypes
15
+
16
+ @dataclass
17
+ class PolicyScopeBase(AdditionalDataHolder, BackedModel, Parsable):
18
+ # Stores model information.
19
+ backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)
20
+
21
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
22
+ additional_data: dict[str, Any] = field(default_factory=dict)
23
+ # The activities property
24
+ activities: Optional[UserActivityTypes] = None
25
+ # The executionMode property
26
+ execution_mode: Optional[ExecutionMode] = None
27
+ # The locations (like domains or URLs) to be protected. Required.
28
+ locations: Optional[list[PolicyLocation]] = None
29
+ # The OdataType property
30
+ odata_type: Optional[str] = None
31
+ # The enforcement actions to take if the policy conditions are met within this scope. Required.
32
+ policy_actions: Optional[list[DlpActionInfo]] = None
33
+
34
+ @staticmethod
35
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyScopeBase:
36
+ """
37
+ Creates a new instance of the appropriate class based on discriminator value
38
+ param parse_node: The parse node to use to read the discriminator value and create the object
39
+ Returns: PolicyScopeBase
40
+ """
41
+ if parse_node is None:
42
+ raise TypeError("parse_node cannot be null.")
43
+ try:
44
+ child_node = parse_node.get_child_node("@odata.type")
45
+ mapping_value = child_node.get_str_value() if child_node else None
46
+ except AttributeError:
47
+ mapping_value = None
48
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.policyTenantScope".casefold():
49
+ from .policy_tenant_scope import PolicyTenantScope
50
+
51
+ return PolicyTenantScope()
52
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.policyUserScope".casefold():
53
+ from .policy_user_scope import PolicyUserScope
54
+
55
+ return PolicyUserScope()
56
+ return PolicyScopeBase()
57
+
58
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
59
+ """
60
+ The deserialization information for the current model
61
+ Returns: dict[str, Callable[[ParseNode], None]]
62
+ """
63
+ from .dlp_action_info import DlpActionInfo
64
+ from .execution_mode import ExecutionMode
65
+ from .policy_location import PolicyLocation
66
+ from .policy_tenant_scope import PolicyTenantScope
67
+ from .policy_user_scope import PolicyUserScope
68
+ from .user_activity_types import UserActivityTypes
69
+
70
+ from .dlp_action_info import DlpActionInfo
71
+ from .execution_mode import ExecutionMode
72
+ from .policy_location import PolicyLocation
73
+ from .policy_tenant_scope import PolicyTenantScope
74
+ from .policy_user_scope import PolicyUserScope
75
+ from .user_activity_types import UserActivityTypes
76
+
77
+ fields: dict[str, Callable[[Any], None]] = {
78
+ "activities": lambda n : setattr(self, 'activities', n.get_collection_of_enum_values(UserActivityTypes)),
79
+ "executionMode": lambda n : setattr(self, 'execution_mode', n.get_enum_value(ExecutionMode)),
80
+ "locations": lambda n : setattr(self, 'locations', n.get_collection_of_object_values(PolicyLocation)),
81
+ "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
82
+ "policyActions": lambda n : setattr(self, 'policy_actions', n.get_collection_of_object_values(DlpActionInfo)),
83
+ }
84
+ return fields
85
+
86
+ def serialize(self,writer: SerializationWriter) -> None:
87
+ """
88
+ Serializes information the current object
89
+ param writer: Serialization writer to use to serialize this model
90
+ Returns: None
91
+ """
92
+ if writer is None:
93
+ raise TypeError("writer cannot be null.")
94
+ writer.write_enum_value("activities", self.activities)
95
+ writer.write_enum_value("executionMode", self.execution_mode)
96
+ writer.write_collection_of_object_values("locations", self.locations)
97
+ writer.write_str_value("@odata.type", self.odata_type)
98
+ writer.write_collection_of_object_values("policyActions", self.policy_actions)
99
+ writer.write_additional_data_value(self.additional_data)
100
+
101
+
@@ -0,0 +1,60 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
5
+ from typing import Any, Optional, TYPE_CHECKING, Union
6
+
7
+ if TYPE_CHECKING:
8
+ from .policy_binding import PolicyBinding
9
+ from .policy_scope_base import PolicyScopeBase
10
+
11
+ from .policy_scope_base import PolicyScopeBase
12
+
13
+ @dataclass
14
+ class PolicyTenantScope(PolicyScopeBase, Parsable):
15
+ # The OdataType property
16
+ odata_type: Optional[str] = "#microsoft.graph.policyTenantScope"
17
+ # Specifies the users and groups included in or excluded from this tenant-level policy scope.
18
+ policy_scope: Optional[PolicyBinding] = None
19
+
20
+ @staticmethod
21
+ def create_from_discriminator_value(parse_node: ParseNode) -> PolicyTenantScope:
22
+ """
23
+ Creates a new instance of the appropriate class based on discriminator value
24
+ param parse_node: The parse node to use to read the discriminator value and create the object
25
+ Returns: PolicyTenantScope
26
+ """
27
+ if parse_node is None:
28
+ raise TypeError("parse_node cannot be null.")
29
+ return PolicyTenantScope()
30
+
31
+ def get_field_deserializers(self,) -> dict[str, Callable[[ParseNode], None]]:
32
+ """
33
+ The deserialization information for the current model
34
+ Returns: dict[str, Callable[[ParseNode], None]]
35
+ """
36
+ from .policy_binding import PolicyBinding
37
+ from .policy_scope_base import PolicyScopeBase
38
+
39
+ from .policy_binding import PolicyBinding
40
+ from .policy_scope_base import PolicyScopeBase
41
+
42
+ fields: dict[str, Callable[[Any], None]] = {
43
+ "policyScope": lambda n : setattr(self, 'policy_scope', n.get_object_value(PolicyBinding)),
44
+ }
45
+ super_fields = super().get_field_deserializers()
46
+ fields.update(super_fields)
47
+ return fields
48
+
49
+ def serialize(self,writer: SerializationWriter) -> None:
50
+ """
51
+ Serializes information the current object
52
+ param writer: Serialization writer to use to serialize this model
53
+ Returns: None
54
+ """
55
+ if writer is None:
56
+ raise TypeError("writer cannot be null.")
57
+ super().serialize(writer)
58
+ writer.write_object_value("policyScope", self.policy_scope)
59
+
60
+