Office365-REST-Python-Client 2.5.4__py3-none-any.whl → 2.5.6__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 (225) hide show
  1. {Office365_REST_Python_Client-2.5.4.dist-info → Office365_REST_Python_Client-2.5.6.dist-info}/METADATA +2 -2
  2. {Office365_REST_Python_Client-2.5.4.dist-info → Office365_REST_Python_Client-2.5.6.dist-info}/RECORD +224 -204
  3. office365/booking/business/business.py +5 -3
  4. office365/booking/virtualevents/__init__.py +0 -0
  5. office365/booking/virtualevents/root.py +5 -0
  6. office365/communications/calls/participant.py +4 -5
  7. office365/directory/applications/application.py +3 -3
  8. office365/directory/applications/roles/assignment_collection.py +1 -1
  9. office365/directory/applications/roles/collection.py +2 -2
  10. office365/directory/authentication/method_configuration.py +9 -0
  11. office365/directory/authentication/method_mode_detail.py +8 -0
  12. office365/directory/authentication/method_target.py +5 -0
  13. office365/directory/authentication/strength_root.py +5 -0
  14. office365/directory/certificates/auth_configuration.py +1 -3
  15. office365/directory/extensions/extended_property.py +4 -4
  16. office365/directory/extensions/open_type.py +4 -4
  17. office365/directory/groups/group.py +2 -6
  18. office365/directory/identities/conditional_access_root.py +10 -1
  19. office365/directory/identities/container.py +3 -9
  20. office365/directory/identities/providers/base.py +7 -5
  21. office365/directory/identities/providers/builtin_identity.py +3 -2
  22. office365/directory/identities/providers/saml_or_wsfed.py +4 -5
  23. office365/directory/identities/providers/social_identity.py +5 -3
  24. office365/directory/identities/userflows/b2x/user_flow.py +6 -5
  25. office365/directory/identities/userflows/language_configuration.py +10 -7
  26. office365/directory/identitygovernance/governance.py +14 -3
  27. office365/directory/identitygovernance/privilegedaccess/__init__.py +0 -0
  28. office365/directory/identitygovernance/privilegedaccess/root.py +5 -0
  29. office365/directory/key_credential.py +3 -0
  30. office365/directory/licenses/assignment_state.py +26 -2
  31. office365/directory/licenses/details.py +8 -6
  32. office365/directory/licenses/subscribed_sku.py +8 -10
  33. office365/directory/object_collection.py +40 -25
  34. office365/directory/password_credential.py +3 -0
  35. office365/directory/permissions/default_user_role.py +5 -0
  36. office365/directory/permissions/grants/condition_set.py +4 -2
  37. office365/directory/permissions/grants/oauth2.py +7 -10
  38. office365/directory/policies/authorization.py +50 -3
  39. office365/directory/policies/permission_grant.py +2 -0
  40. office365/directory/profile_photo.py +6 -6
  41. office365/directory/protection/riskyusers/risky_user.py +4 -4
  42. office365/directory/rolemanagement/resource_action.py +10 -0
  43. office365/directory/rolemanagement/role_permission.py +10 -0
  44. office365/directory/security/alerts/alert.py +5 -7
  45. office365/directory/security/attacksimulations/landing_page.py +5 -0
  46. office365/directory/security/attacksimulations/operation.py +5 -0
  47. office365/directory/security/attacksimulations/report.py +8 -1
  48. office365/directory/security/attacksimulations/root.py +33 -0
  49. office365/directory/security/attacksimulations/users/__init__.py +0 -0
  50. office365/directory/security/attacksimulations/users/details.py +5 -0
  51. office365/directory/security/hunting_query_results.py +5 -0
  52. office365/directory/security/incidents/incident.py +8 -13
  53. office365/directory/security/security.py +20 -3
  54. office365/directory/serviceprincipals/service_principal.py +3 -4
  55. office365/directory/synchronization/synchronization.py +2 -0
  56. office365/directory/users/activities/history_item.py +3 -2
  57. office365/directory/users/user.py +37 -10
  58. office365/entity_collection.py +3 -2
  59. office365/graph_client.py +58 -30
  60. office365/intune/audit/event.py +1 -3
  61. office365/intune/audit/event_collection.py +1 -1
  62. office365/intune/devices/alternative_security_id.py +4 -0
  63. office365/intune/devices/collection.py +57 -0
  64. office365/intune/devices/device.py +38 -10
  65. office365/intune/devices/management/management.py +12 -0
  66. office365/intune/organizations/organization.py +1 -0
  67. office365/onedrive/analytics/item_activity_stat.py +9 -0
  68. office365/onedrive/analytics/item_analytics.py +1 -0
  69. office365/onedrive/contenttypes/content_type.py +4 -12
  70. office365/onedrive/driveitems/driveItem.py +9 -10
  71. office365/onedrive/files/hashes.py +5 -0
  72. office365/onedrive/lists/collection.py +2 -2
  73. office365/onedrive/operations/long_running.py +6 -6
  74. office365/onedrive/operations/rich_long_running.py +4 -3
  75. office365/onedrive/permissions/collection.py +1 -14
  76. office365/onedrive/sharepoint_settings.py +6 -6
  77. office365/onedrive/sites/sites_with_root.py +1 -3
  78. office365/onedrive/termstore/store.py +2 -4
  79. office365/onedrive/termstore/terms/collection.py +1 -2
  80. office365/onedrive/workbooks/comments/comment.py +7 -6
  81. office365/onedrive/workbooks/filter.py +9 -0
  82. office365/onedrive/workbooks/filter_criteria.py +5 -0
  83. office365/onedrive/workbooks/functions/functions.py +6 -3
  84. office365/onedrive/workbooks/functions/result.py +2 -0
  85. office365/onedrive/workbooks/operations/workbook.py +7 -10
  86. office365/onedrive/workbooks/tables/pivot_table.py +9 -9
  87. office365/onedrive/workbooks/worksheets/collection.py +0 -6
  88. office365/onedrive/workbooks/worksheets/protection.py +2 -0
  89. office365/onedrive/workbooks/worksheets/worksheet.py +30 -2
  90. office365/onenote/notebooks/collection.py +0 -1
  91. office365/outlook/calendar/events/event.py +24 -46
  92. office365/outlook/calendar/permissions/permission.py +7 -7
  93. office365/outlook/calendar/place.py +5 -3
  94. office365/outlook/mail/attachments/collection.py +6 -1
  95. office365/outlook/mail/attachments/file.py +9 -16
  96. office365/outlook/mail/messages/message.py +1 -1
  97. office365/planner/user.py +3 -7
  98. office365/reports/root.py +50 -4
  99. office365/runtime/auth/providers/acs_token_provider.py +10 -7
  100. office365/runtime/auth/sts_profile.py +0 -1
  101. office365/runtime/client_object.py +21 -17
  102. office365/runtime/client_object_collection.py +9 -24
  103. office365/runtime/client_request_exception.py +1 -3
  104. office365/runtime/client_result.py +11 -14
  105. office365/runtime/client_runtime_context.py +20 -32
  106. office365/runtime/odata/json_format.py +4 -7
  107. office365/runtime/odata/request.py +3 -3
  108. office365/runtime/odata/v3/batch_request.py +17 -31
  109. office365/runtime/odata/v4/batch_request.py +13 -21
  110. office365/runtime/queries/batch.py +5 -11
  111. office365/runtime/queries/function.py +5 -6
  112. office365/runtime/types/event_handler.py +1 -1
  113. office365/search/entity.py +3 -2
  114. office365/sharepoint/activities/facets/delete.py +1 -1
  115. office365/sharepoint/activities/tracked_item_service.py +2 -3
  116. office365/sharepoint/administration/web_application.py +8 -7
  117. office365/sharepoint/alerts/alert.py +8 -12
  118. office365/sharepoint/audit/audit.py +3 -2
  119. office365/sharepoint/changes/alert.py +4 -3
  120. office365/sharepoint/changes/collection.py +7 -10
  121. office365/sharepoint/changes/content_type.py +4 -4
  122. office365/sharepoint/changes/field.py +4 -5
  123. office365/sharepoint/changes/item.py +34 -7
  124. office365/sharepoint/changes/list.py +4 -4
  125. office365/sharepoint/changes/user.py +5 -6
  126. office365/sharepoint/client_context.py +20 -20
  127. office365/sharepoint/clientsidecomponent/component_context_info.py +4 -3
  128. office365/sharepoint/contentcenter/machinelearning/enabled.py +4 -3
  129. office365/sharepoint/contentcenter/machinelearning/hub.py +6 -6
  130. office365/sharepoint/contentcenter/machinelearning/models/collection.py +1 -1
  131. office365/sharepoint/contenttypes/fieldlinks/collection.py +4 -6
  132. office365/sharepoint/contenttypes/fieldlinks/field_link.py +14 -22
  133. office365/sharepoint/entity.py +12 -5
  134. office365/sharepoint/entity_collection.py +1 -3
  135. office365/sharepoint/eventreceivers/definition.py +8 -12
  136. office365/sharepoint/features/collection.py +3 -6
  137. office365/sharepoint/features/definitions/definition.py +6 -3
  138. office365/sharepoint/fields/calculated.py +8 -14
  139. office365/sharepoint/fields/collection.py +42 -10
  140. office365/sharepoint/fields/computed.py +4 -5
  141. office365/sharepoint/fields/currency.py +7 -11
  142. office365/sharepoint/fields/date_time.py +4 -8
  143. office365/sharepoint/fields/field.py +6 -16
  144. office365/sharepoint/fields/lookup.py +11 -9
  145. office365/sharepoint/fields/multi_choice.py +8 -12
  146. office365/sharepoint/fields/multi_line_text.py +10 -14
  147. office365/sharepoint/fields/number.py +13 -26
  148. office365/sharepoint/fields/rating_scale.py +6 -10
  149. office365/sharepoint/fields/related_field.py +10 -17
  150. office365/sharepoint/fields/url.py +4 -5
  151. office365/sharepoint/fields/user.py +10 -9
  152. office365/sharepoint/files/checked_out_file.py +4 -3
  153. office365/sharepoint/files/collection.py +17 -15
  154. office365/sharepoint/files/file.py +33 -27
  155. office365/sharepoint/folders/collection.py +22 -5
  156. office365/sharepoint/folders/coloring.py +11 -9
  157. office365/sharepoint/folders/coloring_information.py +38 -0
  158. office365/sharepoint/folders/folder.py +26 -30
  159. office365/sharepoint/likes/liked_by_information.py +7 -10
  160. office365/sharepoint/likes/user_entity.py +6 -8
  161. office365/sharepoint/listitems/form_update_value.py +17 -1
  162. office365/sharepoint/listitems/listitem.py +9 -11
  163. office365/sharepoint/lists/bloom_filter.py +5 -7
  164. office365/sharepoint/lists/creatables_info.py +5 -6
  165. office365/sharepoint/lists/list.py +25 -10
  166. office365/sharepoint/lists/template.py +7 -4
  167. office365/sharepoint/lists/template_collection.py +2 -4
  168. office365/sharepoint/marketplace/app_metadata.py +14 -23
  169. office365/sharepoint/marketplace/sitecollection/appcatalog/allowed_item.py +6 -8
  170. office365/sharepoint/navigation/node.py +5 -8
  171. office365/sharepoint/permissions/irm/effective_settings.py +6 -8
  172. office365/sharepoint/permissions/irm/file_settings.py +8 -6
  173. office365/sharepoint/permissions/irm/settings.py +25 -43
  174. office365/sharepoint/portal/groups/site_manager.py +6 -7
  175. office365/sharepoint/portal/sites/manager.py +4 -3
  176. office365/sharepoint/publishing/embed_data_v1.py +8 -15
  177. office365/sharepoint/publishing/pages/campaign_publication.py +4 -3
  178. office365/sharepoint/publishing/primary_city_time.py +8 -9
  179. office365/sharepoint/publishing/video/service_discoverer.py +4 -3
  180. office365/sharepoint/pushnotifications/subscriber.py +11 -15
  181. office365/sharepoint/sharing/object_sharing_settings.py +24 -46
  182. office365/sharepoint/sharing/permission_information.py +5 -5
  183. office365/sharepoint/sharing/result.py +1 -0
  184. office365/sharepoint/sitedesigns/run.py +4 -3
  185. office365/sharepoint/sites/site.py +7 -16
  186. office365/sharepoint/taxonomy/field.py +32 -21
  187. office365/sharepoint/taxonomy/groups/group.py +12 -1
  188. office365/sharepoint/taxonomy/sets/set.py +6 -0
  189. office365/sharepoint/taxonomy/stores/store.py +4 -2
  190. office365/sharepoint/teams/channel.py +6 -6
  191. office365/sharepoint/tenant/administration/endpoints.py +4 -3
  192. office365/sharepoint/tenant/administration/hubsites/properties.py +4 -5
  193. office365/sharepoint/tenant/administration/sites/properties.py +0 -1
  194. office365/sharepoint/tenant/administration/spo_operation.py +4 -4
  195. office365/sharepoint/tenant/administration/tenant.py +1 -0
  196. office365/sharepoint/tenant/insights/report.py +11 -0
  197. office365/sharepoint/tenant/insights/report_manager.py +5 -0
  198. office365/sharepoint/tenant/insights/report_metadata.py +5 -0
  199. office365/sharepoint/tenant/settings.py +4 -3
  200. office365/sharepoint/translation/sync_translator.py +3 -2
  201. office365/sharepoint/ui/applicationpages/peoplepicker/entity_information.py +4 -4
  202. office365/sharepoint/usercustomactions/action.py +12 -20
  203. office365/sharepoint/userprofiles/followed_content.py +6 -10
  204. office365/sharepoint/userprofiles/people_manager.py +0 -1
  205. office365/sharepoint/userprofiles/person_properties.py +14 -30
  206. office365/sharepoint/userprofiles/personal_cache.py +4 -3
  207. office365/sharepoint/userprofiles/properties_for_user.py +4 -5
  208. office365/sharepoint/userprofiles/sharedwithme/document.py +12 -21
  209. office365/sharepoint/utilities/move_copy_util.py +19 -19
  210. office365/sharepoint/utilities/upload_status.py +7 -10
  211. office365/sharepoint/views/field_collection.py +9 -14
  212. office365/sharepoint/views/view.py +43 -64
  213. office365/sharepoint/webhooks/subscription.py +11 -19
  214. office365/sharepoint/webparts/webpart.py +3 -1
  215. office365/sharepoint/webs/modernize_homepage_result.py +4 -3
  216. office365/sharepoint/webs/regional_settings.py +9 -17
  217. office365/sharepoint/webs/template.py +18 -18
  218. office365/sharepoint/webs/theme_info.py +6 -6
  219. office365/sharepoint/webs/web.py +16 -23
  220. office365/teams/members/aad_user_conversation.py +4 -4
  221. office365/teams/operations/async_operation.py +5 -7
  222. office365/runtime/paths/item.py +0 -8
  223. {Office365_REST_Python_Client-2.5.4.dist-info → Office365_REST_Python_Client-2.5.6.dist-info}/LICENSE +0 -0
  224. {Office365_REST_Python_Client-2.5.4.dist-info → Office365_REST_Python_Client-2.5.6.dist-info}/WHEEL +0 -0
  225. {Office365_REST_Python_Client-2.5.4.dist-info → Office365_REST_Python_Client-2.5.6.dist-info}/top_level.txt +0 -0
@@ -57,9 +57,8 @@ class BookingBusiness(Entity):
57
57
 
58
58
  @property
59
59
  def business_hours(self):
60
- """
61
- The hours of operation for the business.
62
- """
60
+ # type: () -> ClientValueCollection[BookingWorkHours]
61
+ """The hours of operation for the business."""
63
62
  return self.properties.get(
64
63
  "businessHours", ClientValueCollection(BookingWorkHours)
65
64
  )
@@ -74,6 +73,7 @@ class BookingBusiness(Entity):
74
73
 
75
74
  @property
76
75
  def appointments(self):
76
+ # type: () -> EntityCollection[BookingAppointment]
77
77
  """All the appointments of this business. Read-only. Nullable."""
78
78
  return self.properties.get(
79
79
  "appointments",
@@ -86,6 +86,7 @@ class BookingBusiness(Entity):
86
86
 
87
87
  @property
88
88
  def calendar_view(self):
89
+ # type: () -> EntityCollection[BookingAppointment]
89
90
  """The set of appointments of this business in a specified date range. Read-only. Nullable."""
90
91
  return self.properties.get(
91
92
  "calendarView",
@@ -98,6 +99,7 @@ class BookingBusiness(Entity):
98
99
 
99
100
  @property
100
101
  def customers(self):
102
+ # type: () -> EntityCollection[BookingCustomerBase]
101
103
  """All the customers of this business. Read-only. Nullable."""
102
104
  return self.properties.get(
103
105
  "customers",
File without changes
@@ -0,0 +1,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class VirtualEventsRoot(Entity):
5
+ """ """
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.communications.calls.invitation_participant_info import (
2
4
  InvitationParticipantInfo,
3
5
  )
@@ -68,9 +70,6 @@ class Participant(Entity):
68
70
 
69
71
  @property
70
72
  def metadata(self):
71
- """
72
- A blob of data provided by the participant in the roster.
73
-
74
- :rtype: str
75
- """
73
+ # type: () -> Optional[str]
74
+ """A blob of data provided by the participant in the roster."""
76
75
  return self.properties.get("metadata", None)
@@ -252,9 +252,7 @@ class Application(DirectoryObject):
252
252
 
253
253
  @property
254
254
  def public_client(self):
255
- """
256
- Specifies settings for installed clients such as desktop or mobile devices.
257
- """
255
+ """Specifies settings for installed clients such as desktop or mobile devices."""
258
256
  return self.properties.get("publicClient", PublicClientApplication())
259
257
 
260
258
  @property
@@ -269,6 +267,7 @@ class Application(DirectoryObject):
269
267
 
270
268
  @property
271
269
  def created_on_behalf_of(self):
270
+ # type: () -> DirectoryObject
272
271
  """"""
273
272
  return self.properties.get(
274
273
  "createdOnBehalfOf",
@@ -279,6 +278,7 @@ class Application(DirectoryObject):
279
278
 
280
279
  @property
281
280
  def owners(self):
281
+ # type: () -> DirectoryObjectCollection
282
282
  """Directory objects that are owners of the application."""
283
283
  return self.properties.get(
284
284
  "owners",
@@ -2,7 +2,7 @@ from office365.directory.applications.roles.assignment import AppRoleAssignment
2
2
  from office365.entity_collection import EntityCollection
3
3
 
4
4
 
5
- class AppRoleAssignmentCollection(EntityCollection):
5
+ class AppRoleAssignmentCollection(EntityCollection[AppRoleAssignment]):
6
6
  def __init__(self, context, resource_path=None):
7
7
  super(AppRoleAssignmentCollection, self).__init__(
8
8
  context, AppRoleAssignment, resource_path
@@ -8,6 +8,6 @@ class AppRoleCollection(ClientValueCollection[AppRole]):
8
8
  def __init__(self, initial_values=None):
9
9
  super(AppRoleCollection, self).__init__(AppRole, initial_values)
10
10
 
11
- def __getitem__(self, name):
11
+ def __getitem__(self, key):
12
12
  # type: (str) -> AppRole
13
- return next(iter([item for item in self._data if item.value == name]), None)
13
+ return next(iter([item for item in self._data if item.value == key]), None)
@@ -0,0 +1,9 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class AuthenticationMethodConfiguration(Entity):
5
+ """
6
+ This is an abstract type that represents the settings for each authentication method. It has the configuration
7
+ of whether a specific authentication method is enabled or disabled for the tenant and which users and groups
8
+ can register and use that method.
9
+ """
@@ -0,0 +1,8 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class AuthenticationMethodModeDetail(Entity):
5
+ """
6
+ The details of the authenticationMethodModes objects that can be defined for the allowedCombinations property
7
+ of the authenticationstrengthpolicy.
8
+ """
@@ -0,0 +1,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class AuthenticationMethodTarget(Entity):
5
+ """"""
@@ -0,0 +1,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class AuthenticationStrengthRoot(Entity):
5
+ """The authenticationStrengthRoot resource is the entry point for the authentication strengths object model."""
@@ -20,9 +20,7 @@ class CertificateBasedAuthConfiguration(Entity):
20
20
 
21
21
  @property
22
22
  def certificate_authorities(self):
23
- """
24
- Collection of certificate authorities which creates a trusted certificate chain.
25
- """
23
+ """Collection of certificate authorities which creates a trusted certificate chain."""
26
24
  return self.properties.get(
27
25
  "certificateAuthorities", ClientValueCollection(CertificateAuthority)
28
26
  )
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.entity import Entity
2
4
  from office365.runtime.types.collections import StringCollection
3
5
 
@@ -7,10 +9,8 @@ class SingleValueLegacyExtendedProperty(Entity):
7
9
 
8
10
  @property
9
11
  def value(self):
10
- """
11
- A property value.
12
- :rtype: str
13
- """
12
+ # type: () -> Optional[str]
13
+ """A property value."""
14
14
  return self.properties.get("value", None)
15
15
 
16
16
 
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.extensions.extension import Extension
2
4
 
3
5
 
@@ -10,8 +12,6 @@ class OpenTypeExtension(Extension):
10
12
 
11
13
  @property
12
14
  def extension_name(self):
13
- """
14
- A unique text identifier for an open type data extension. Optional.
15
- :rtype: str
16
- """
15
+ # type: () -> Optional[str]
16
+ """A unique text identifier for an open type data extension."""
17
17
  return self.properties.get("extensionName", None)
@@ -380,9 +380,7 @@ class Group(DirectoryObject):
380
380
  @property
381
381
  def permission_grants(self):
382
382
  # type: () -> EntityCollection[ResourceSpecificPermissionGrant]
383
- """
384
- List permissions that have been granted to apps to access the group.
385
- """
383
+ """List permissions that have been granted to apps to access the group."""
386
384
  return self.properties.setdefault(
387
385
  "permissionGrants",
388
386
  EntityCollection(
@@ -394,9 +392,7 @@ class Group(DirectoryObject):
394
392
 
395
393
  @property
396
394
  def photo(self):
397
- """
398
- The group's profile photo
399
- """
395
+ """The group's profile photo"""
400
396
  return self.properties.get(
401
397
  "photo",
402
398
  ProfilePhoto(self.context, ResourcePath("photo", self.resource_path)),
@@ -1,8 +1,17 @@
1
1
  from office365.entity import Entity
2
+ from office365.runtime.paths.resource_path import ResourcePath
2
3
 
3
4
 
4
5
  class ConditionalAccessRoot(Entity):
5
6
  """The conditionalAccessRoot resource is the entry point for the Conditional Access (CA) object model.
6
7
  It doesn't contain any usable properties."""
7
8
 
8
- pass
9
+ @property
10
+ def authentication_strength(self):
11
+ """The entry point for the Conditional Access (CA) object model."""
12
+ return self.properties.get(
13
+ "authenticationStrength",
14
+ ConditionalAccessRoot(
15
+ self.context, ResourcePath("authenticationStrength", self.resource_path)
16
+ ),
17
+ )
@@ -18,9 +18,7 @@ class IdentityContainer(Entity):
18
18
 
19
19
  @property
20
20
  def api_connectors(self):
21
- """
22
- Represents entry point for API connectors.
23
- """
21
+ """Represents entry point for API connectors."""
24
22
  return self.properties.get(
25
23
  "apiConnectors",
26
24
  EntityCollection(
@@ -52,9 +50,7 @@ class IdentityContainer(Entity):
52
50
 
53
51
  @property
54
52
  def b2x_user_flows(self):
55
- """
56
- Represents entry point for B2X/self-service sign-up identity userflows.
57
- """
53
+ """Represents entry point for B2X/self-service sign-up identity userflows."""
58
54
  return self.properties.get(
59
55
  "b2xUserFlows",
60
56
  EntityCollection(
@@ -66,9 +62,7 @@ class IdentityContainer(Entity):
66
62
 
67
63
  @property
68
64
  def user_flow_attributes(self):
69
- """
70
- Represents entry point for identity userflow attributes.
71
- """
65
+ """Represents entry point for identity userflow attributes."""
72
66
  return self.properties.get(
73
67
  "userFlowAttributes",
74
68
  EntityCollection(
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.entity import Entity
2
4
 
3
5
 
@@ -7,11 +9,11 @@ class IdentityProviderBase(Entity):
7
9
  an Azure AD B2C tenant.
8
10
  """
9
11
 
12
+ def __str__(self):
13
+ return self.display_name or self.entity_type_name
14
+
10
15
  @property
11
16
  def display_name(self):
12
- """
13
- The display name for the identity provider.
14
-
15
- :rtype: str or None
16
- """
17
+ # type: () -> Optional[str]
18
+ """The display name for the identity provider."""
17
19
  return self.properties.get("displayName", None)
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.identities.providers.base import IdentityProviderBase
2
4
 
3
5
 
@@ -8,9 +10,8 @@ class BuiltInIdentityProvider(IdentityProviderBase):
8
10
 
9
11
  @property
10
12
  def identity_provider_type(self):
13
+ # type: () -> Optional[str]
11
14
  """
12
15
  The identity provider type. For a B2B scenario, possible values: AADSignup, MicrosoftAccount, EmailOTP.
13
-
14
- :rtype: str
15
16
  """
16
17
  return self.properties.get("identityProviderType", None)
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.identities.providers.base import IdentityProviderBase
2
4
 
3
5
 
@@ -7,9 +9,6 @@ class SamlOrWsFedProvider(IdentityProviderBase):
7
9
 
8
10
  @property
9
11
  def issuer_uri(self):
10
- """
11
- Issuer URI of the federation server.
12
-
13
- :rtype: str
14
- """
12
+ # type: () -> Optional[str]
13
+ """Issuer URI of the federation server."""
15
14
  return self.properties.get("issuerUri", None)
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.identities.providers.base import IdentityProviderBase
2
4
 
3
5
 
@@ -9,27 +11,27 @@ class SocialIdentityProvider(IdentityProviderBase):
9
11
 
10
12
  @property
11
13
  def client_id(self):
14
+ # type: () -> Optional[str]
12
15
  """
13
16
  The client identifier for the application obtained when registering the application with the identity provider.
14
- :rtype: str or None
15
17
  """
16
18
  return self.properties.get("clientId", None)
17
19
 
18
20
  @property
19
21
  def client_secret(self):
22
+ # type: () -> Optional[str]
20
23
  """
21
24
  The client secret for the application that is obtained when the application is registered
22
25
  with the identity provider. This is write-only. A read operation returns ****.
23
- :rtype: str or None
24
26
  """
25
27
  return self.properties.get("clientSecret", None)
26
28
 
27
29
  @property
28
30
  def identity_provider_type(self):
31
+ # type: () -> Optional[str]
29
32
  """
30
33
  For a B2B scenario, possible values: Google, Facebook.
31
34
  For a B2C scenario, possible values: Microsoft, Google, Amazon, LinkedIn, Facebook, GitHub, Twitter, Weibo,
32
35
  QQ, WeChat.
33
- :rtype: str or None
34
36
  """
35
37
  return self.properties.get("identityProviderType", None)
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.identities.userflows.language_configuration import (
2
4
  UserFlowLanguageConfiguration,
3
5
  )
@@ -20,6 +22,7 @@ class B2XIdentityUserFlow(IdentityUserFlow):
20
22
 
21
23
  @property
22
24
  def languages(self):
25
+ # type: () -> EntityCollection[UserFlowLanguageConfiguration]
23
26
  """The languages supported for customization within the user flow. Language customization is enabled by default
24
27
  in self-service sign-up user flow. You cannot create custom languages in self-service sign-up user flows.
25
28
  """
@@ -34,9 +37,8 @@ class B2XIdentityUserFlow(IdentityUserFlow):
34
37
 
35
38
  @property
36
39
  def user_attribute_assignments(self):
37
- """
38
- The user attribute assignments included in the user flow.
39
- """
40
+ # type: () -> IdentityUserFlowAttributeAssignmentCollection
41
+ """The user attribute assignments included in the user flow."""
40
42
  return self.properties.get(
41
43
  "userAttributeAssignments",
42
44
  IdentityUserFlowAttributeAssignmentCollection(
@@ -47,11 +49,10 @@ class B2XIdentityUserFlow(IdentityUserFlow):
47
49
 
48
50
  @property
49
51
  def user_flow_type(self):
52
+ # type: () -> Optional[str]
50
53
  """
51
54
  The type of user flow. For self-service sign-up user flows,
52
55
  the value can only be signUpOrSignIn and cannot be modified after creation.
53
-
54
- :rtype: str or None
55
56
  """
56
57
  return self.properties.get("userFlowType", None)
57
58
 
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.identities.userflows.language_page import UserFlowLanguagePage
2
4
  from office365.entity import Entity
3
5
  from office365.entity_collection import EntityCollection
@@ -11,19 +13,19 @@ class UserFlowLanguageConfiguration(Entity):
11
13
  User flows for Azure Active Directory support defining the language and strings shown to users
12
14
  as they go through the journeys you configure with your user flows."""
13
15
 
16
+ def __str__(self):
17
+ return self.display_name or self.entity_type_name
18
+
14
19
  @property
15
20
  def display_name(self):
16
- """
17
- The language name to display.
18
- :rtype: str or None
19
- """
21
+ # type: () -> Optional[str]
22
+ """The language name to display."""
20
23
  return self.properties.get("displayName", None)
21
24
 
22
25
  @property
23
26
  def default_pages(self):
24
- """
25
- Collection of pages with the default content to display in a user flow for a specified language.
26
- """
27
+ # type: () -> EntityCollection[UserFlowLanguagePage]
28
+ """Collection of pages with the default content to display in a user flow for a specified language."""
27
29
  return self.properties.get(
28
30
  "defaultPages",
29
31
  EntityCollection(
@@ -35,6 +37,7 @@ class UserFlowLanguageConfiguration(Entity):
35
37
 
36
38
  @property
37
39
  def overrides_pages(self):
40
+ # type: () -> EntityCollection[UserFlowLanguagePage]
38
41
  """Collection of pages with the default content to display in a user flow for a specified language."""
39
42
  return self.properties.get(
40
43
  "overridesPages",
@@ -2,6 +2,9 @@ from office365.directory.identitygovernance.accessreview.set import AccessReview
2
2
  from office365.directory.identitygovernance.appconsent.approval_route import (
3
3
  AppConsentApprovalRoute,
4
4
  )
5
+ from office365.directory.identitygovernance.privilegedaccess.root import (
6
+ PrivilegedAccessRoot,
7
+ )
5
8
  from office365.directory.identitygovernance.termsofuse.container import (
6
9
  TermsOfUseContainer,
7
10
  )
@@ -35,9 +38,7 @@ class IdentityGovernance(Entity):
35
38
 
36
39
  @property
37
40
  def access_reviews(self):
38
- """
39
- Container for the base resources that expose the access reviews API and features.
40
- """
41
+ """Container for the base resources that expose the access reviews API and features."""
41
42
  return self.properties.get(
42
43
  "accessReviews",
43
44
  AccessReviewSet(
@@ -45,6 +46,16 @@ class IdentityGovernance(Entity):
45
46
  ),
46
47
  )
47
48
 
49
+ @property
50
+ def privileged_access(self):
51
+ """Container for the base resources that expose the access reviews API and features."""
52
+ return self.properties.get(
53
+ "privilegedAccess",
54
+ PrivilegedAccessRoot(
55
+ self.context, ResourcePath("privilegedAccess", self.resource_path)
56
+ ),
57
+ )
58
+
48
59
  @property
49
60
  def terms_of_use(self):
50
61
  """
@@ -0,0 +1,5 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class PrivilegedAccessRoot(Entity):
5
+ """Represents the entry point for resources related to Privileged Identity Management (PIM)."""
@@ -44,3 +44,6 @@ class KeyCredential(ClientValue):
44
44
  self.startDateTime = start_datetime
45
45
  self.type = key_type
46
46
  self.usage = usage
47
+
48
+ def __str__(self):
49
+ return self.displayName or self.entity_type_name
@@ -1,4 +1,5 @@
1
1
  from office365.runtime.client_value import ClientValue
2
+ from office365.runtime.types.collections import StringCollection
2
3
 
3
4
 
4
5
  class LicenseAssignmentState(ClientValue):
@@ -12,8 +13,31 @@ class LicenseAssignmentState(ClientValue):
12
13
  - Error details if the assignment state is Error
13
14
  """
14
15
 
15
- def __init__(self, assigned_by_group=None):
16
+ def __init__(
17
+ self,
18
+ assigned_by_group=None,
19
+ disabled_plans=None,
20
+ error=None,
21
+ lastUpdatedDateTime=None,
22
+ skuId=None,
23
+ state=None,
24
+ ):
16
25
  """
17
- :param str assigned_by_group:
26
+ :param str assigned_by_group: ndicates whether the license is directly assigned or inherited from a group.
27
+ If directly assigned, this field is null; if inherited through a group membership, this field contains
28
+ the ID of the group.
29
+ :param list[str] disabled_plans: The service plans that are disabled in this assignment
30
+ :param str error: License assignment failure error. If the license is assigned successfully, this field is Null.
31
+ The possible values are CountViolation, MutuallyExclusiveViolation, DependencyViolation,
32
+ ProhibitedInUsageLocationViolation, UniquenessViolation, and Other.
33
+ For more information on how to identify and resolve license assignment errors, see here.
34
+ :param str skuId: The unique identifier for the SKU. Read-Only.
35
+ :param str state: Indicate the current state of this assignment. Read-Only.
36
+ The possible values are Active, ActiveWithError, Disabled, and Error.
18
37
  """
19
38
  self.assignedByGroup = assigned_by_group
39
+ self.disabledPlans = StringCollection(disabled_plans)
40
+ self.error = error
41
+ self.lastUpdatedDateTime = lastUpdatedDateTime
42
+ self.skuId = skuId
43
+ self.state = state
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.licenses.service_plan_info import ServicePlanInfo
2
4
  from office365.entity import Entity
3
5
  from office365.runtime.client_value_collection import ClientValueCollection
@@ -6,29 +8,29 @@ from office365.runtime.client_value_collection import ClientValueCollection
6
8
  class LicenseDetails(Entity):
7
9
  """Contains information about a license assigned to a user."""
8
10
 
11
+ def __repr__(self):
12
+ return self.sku_part_number or self.entity_type_name
13
+
9
14
  @property
10
15
  def service_plans(self):
11
- """
12
- Information about the service plans assigned with the license. Read-only, Not nullable
13
- """
16
+ """Information about the service plans assigned with the license. Read-only, Not nullable"""
14
17
  return self.properties.get(
15
18
  "servicePlans", ClientValueCollection(ServicePlanInfo)
16
19
  )
17
20
 
18
21
  @property
19
22
  def sku_id(self):
23
+ # type: () -> Optional[str]
20
24
  """
21
25
  Unique identifier (GUID) for the service SKU. Equal to the skuId property on the related SubscribedSku object.
22
- Read-only
23
- :rtype: str or None
24
26
  """
25
27
  return self.properties.get("skuId", None)
26
28
 
27
29
  @property
28
30
  def sku_part_number(self):
31
+ # type: () -> Optional[str]
29
32
  """
30
33
  Unique SKU display name. Equal to the skuPartNumber on the related SubscribedSku object;
31
34
  for example: "AAD_Premium". Read-only
32
- :rtype: str or None
33
35
  """
34
36
  return self.properties.get("skuPartNumber", None)
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.licenses.service_plan_info import ServicePlanInfo
2
4
  from office365.directory.licenses.units_detail import LicenseUnitsDetail
3
5
  from office365.entity import Entity
@@ -9,35 +11,31 @@ class SubscribedSku(Entity):
9
11
 
10
12
  @property
11
13
  def account_id(self):
12
- """
13
- The unique ID of the account this SKU belongs to.
14
- :rtype: str
15
- """
14
+ # type: () -> Optional[str]
15
+ """The unique ID of the account this SKU belongs to."""
16
16
  return self.properties.get("accountId", None)
17
17
 
18
18
  @property
19
19
  def applies_to(self):
20
+ # type: () -> Optional[str]
20
21
  """
21
22
  The target class for this SKU. Only SKUs with target class User are assignable.
22
23
  Possible values are: "User", "Company".
23
- :rtype: str
24
24
  """
25
25
  return self.properties.get("appliesTo", None)
26
26
 
27
27
  @property
28
28
  def sku_id(self):
29
- """
30
- The unique identifier (GUID) for the service SKU.
31
- :rtype: str
32
- """
29
+ # type: () -> Optional[str]
30
+ """The unique identifier (GUID) for the service SKU."""
33
31
  return self.properties.get("skuId", None)
34
32
 
35
33
  @property
36
34
  def sku_part_number(self):
35
+ # type: () -> Optional[str]
37
36
  """
38
37
  The SKU part number; for example: "AAD_PREMIUM" or "RMSBASIC".
39
38
  To get a list of commercial subscriptions that an organization has acquired, see List subscribedSkus.
40
- :rtype: str
41
39
  """
42
40
  return self.properties.get("skuPartNumber", None)
43
41