msgraph-sdk 1.13.0__py3-none-any.whl → 1.14.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 (91) hide show
  1. msgraph/_version.py +1 -1
  2. msgraph/generated/chats/item/members/item/conversation_member_item_request_builder.py +4 -4
  3. msgraph/generated/chats/item/messages/messages_request_builder.py +3 -3
  4. msgraph/generated/communications/calls/item/participants/invite/invite_request_builder.py +3 -3
  5. msgraph/generated/device_app_management/device_app_management_request_builder.py +1 -1
  6. msgraph/generated/device_app_management/managed_app_policies/item/target_apps/target_apps_request_builder.py +1 -1
  7. msgraph/generated/device_app_management/managed_app_policies/managed_app_policies_request_builder.py +4 -4
  8. msgraph/generated/device_app_management/managed_app_registrations/item/applied_policies/item/target_apps/target_apps_request_builder.py +1 -1
  9. msgraph/generated/device_app_management/managed_app_registrations/item/intended_policies/item/target_apps/target_apps_request_builder.py +1 -1
  10. msgraph/generated/device_app_management/managed_app_registrations/item/managed_app_registration_item_request_builder.py +4 -4
  11. msgraph/generated/device_app_management/managed_app_registrations/managed_app_registrations_request_builder.py +4 -4
  12. msgraph/generated/device_app_management/managed_app_statuses/managed_app_statuses_request_builder.py +4 -4
  13. msgraph/generated/device_app_management/managed_e_books/item/assignments/assignments_request_builder.py +3 -3
  14. msgraph/generated/device_app_management/managed_e_books/item/assignments/item/managed_e_book_assignment_item_request_builder.py +3 -3
  15. msgraph/generated/device_app_management/managed_e_books/item/managed_e_book_item_request_builder.py +4 -4
  16. msgraph/generated/device_app_management/managed_e_books/managed_e_books_request_builder.py +4 -4
  17. msgraph/generated/device_app_management/mobile_app_configurations/item/managed_device_mobile_app_configuration_item_request_builder.py +4 -4
  18. msgraph/generated/device_app_management/mobile_app_configurations/mobile_app_configurations_request_builder.py +4 -4
  19. msgraph/generated/device_app_management/mobile_apps/item/mobile_app_item_request_builder.py +10 -10
  20. msgraph/generated/device_app_management/mobile_apps/mobile_apps_request_builder.py +7 -7
  21. msgraph/generated/device_management/device_compliance_policies/device_compliance_policies_request_builder.py +7 -7
  22. msgraph/generated/device_management/device_compliance_policies/item/device_compliance_policy_item_request_builder.py +10 -10
  23. msgraph/generated/device_management/device_configurations/device_configurations_request_builder.py +7 -7
  24. msgraph/generated/device_management/device_configurations/item/device_configuration_item_request_builder.py +10 -10
  25. msgraph/generated/device_management/device_enrollment_configurations/device_enrollment_configurations_request_builder.py +7 -7
  26. msgraph/generated/device_management/device_enrollment_configurations/item/device_enrollment_configuration_item_request_builder.py +6 -6
  27. msgraph/generated/device_management/device_management_request_builder.py +2 -2
  28. msgraph/generated/device_management/role_definitions/item/role_definition_item_request_builder.py +7 -7
  29. msgraph/generated/device_management/role_definitions/role_definitions_request_builder.py +7 -7
  30. msgraph/generated/drives/item/items/item/workbook/tables/add/add_request_builder.py +3 -3
  31. msgraph/generated/drives/item/items/item/workbook/worksheets/item/tables/add/add_request_builder.py +3 -3
  32. msgraph/generated/groups/groups_request_builder.py +3 -3
  33. msgraph/generated/groups/item/conversations/conversations_request_builder.py +3 -3
  34. msgraph/generated/groups/item/conversations/item/conversation_item_request_builder.py +5 -5
  35. msgraph/generated/groups/item/threads/item/conversation_thread_item_request_builder.py +1 -1
  36. msgraph/generated/groups/item/threads/item/posts/posts_request_builder.py +4 -4
  37. msgraph/generated/identity/conditional_access/named_locations/item/named_location_item_request_builder.py +6 -6
  38. msgraph/generated/identity_governance/entitlement_management/access_packages/item/access_package_item_request_builder.py +4 -4
  39. msgraph/generated/identity_governance/terms_of_use/agreements/item/agreement_item_request_builder.py +4 -4
  40. msgraph/generated/kiota-dom-export.txt +270 -0
  41. msgraph/generated/kiota-lock.json +1 -1
  42. msgraph/generated/models/app_management_restriction_state.py +7 -0
  43. msgraph/generated/models/conditional_access_authentication_flows.py +62 -0
  44. msgraph/generated/models/conditional_access_condition_set.py +8 -0
  45. msgraph/generated/models/conditional_access_transfer_methods.py +8 -0
  46. msgraph/generated/models/entity.py +16 -0
  47. msgraph/generated/models/key_credential_configuration.py +8 -0
  48. msgraph/generated/models/password_credential_configuration.py +8 -0
  49. msgraph/generated/models/security/deployment_access_key_type.py +53 -0
  50. msgraph/generated/models/security/deployment_status.py +14 -0
  51. msgraph/generated/models/security/evidence_remediation_status.py +6 -0
  52. msgraph/generated/models/security/identity_container.py +8 -0
  53. msgraph/generated/models/security/network_adapter.py +62 -0
  54. msgraph/generated/models/security/sensor.py +115 -0
  55. msgraph/generated/models/security/sensor_collection_response.py +60 -0
  56. msgraph/generated/models/security/sensor_deployment_package.py +57 -0
  57. msgraph/generated/models/security/sensor_health_status.py +9 -0
  58. msgraph/generated/models/security/sensor_settings.py +74 -0
  59. msgraph/generated/models/security/sensor_type.py +10 -0
  60. msgraph/generated/organization/item/organization_item_request_builder.py +4 -4
  61. msgraph/generated/organization/organization_request_builder.py +4 -4
  62. msgraph/generated/policies/cross_tenant_access_policy/partners/item/identity_synchronization/identity_synchronization_request_builder.py +3 -3
  63. msgraph/generated/security/cases/ediscovery_cases/item/custodians/item/microsoft_graph_security_apply_hold/microsoft_graph_security_apply_hold_request_builder.py +2 -2
  64. msgraph/generated/security/identities/identities_request_builder.py +10 -0
  65. msgraph/generated/security/identities/sensors/count/count_request_builder.py +103 -0
  66. msgraph/generated/security/identities/sensors/item/health_issues/count/count_request_builder.py +103 -0
  67. msgraph/generated/security/identities/sensors/item/health_issues/health_issues_request_builder.py +161 -0
  68. msgraph/generated/security/identities/sensors/item/health_issues/item/health_issue_item_request_builder.py +106 -0
  69. msgraph/generated/security/identities/sensors/item/sensor_item_request_builder.py +200 -0
  70. msgraph/generated/security/identities/sensors/microsoft_graph_security_get_deployment_access_key/microsoft_graph_security_get_deployment_access_key_request_builder.py +80 -0
  71. msgraph/generated/security/identities/sensors/microsoft_graph_security_get_deployment_package_uri/microsoft_graph_security_get_deployment_package_uri_request_builder.py +80 -0
  72. msgraph/generated/security/identities/sensors/microsoft_graph_security_regenerate_deployment_access_key/microsoft_graph_security_regenerate_deployment_access_key_request_builder.py +80 -0
  73. msgraph/generated/security/identities/sensors/sensors_request_builder.py +238 -0
  74. msgraph/generated/solutions/virtual_events/townhalls/item/virtual_event_townhall_item_request_builder.py +5 -5
  75. msgraph/generated/solutions/virtual_events/townhalls/townhalls_request_builder.py +3 -3
  76. msgraph/generated/solutions/virtual_events/webinars/item/virtual_event_webinar_item_request_builder.py +5 -5
  77. msgraph/generated/teams/item/channels/item/members/members_request_builder.py +3 -3
  78. msgraph/generated/teams/item/channels/item/messages/item/replies/replies_request_builder.py +3 -3
  79. msgraph/generated/teams/item/channels/item/messages/messages_request_builder.py +3 -3
  80. msgraph/generated/users/item/authentication/email_methods/email_methods_request_builder.py +2 -2
  81. msgraph/generated/users/item/authentication/email_methods/item/email_authentication_method_item_request_builder.py +2 -2
  82. msgraph/generated/users/item/authentication/microsoft_authenticator_methods/item/microsoft_authenticator_authentication_method_item_request_builder.py +2 -2
  83. msgraph/generated/users/item/authentication/phone_methods/item/phone_authentication_method_item_request_builder.py +2 -2
  84. msgraph/generated/users/item/presence/presence_request_builder.py +4 -4
  85. msgraph/generated/users/item/user_item_request_builder.py +8 -8
  86. msgraph/generated/users/users_request_builder.py +5 -5
  87. msgraph/generated/users_with_user_principal_name/users_with_user_principal_name_request_builder.py +8 -8
  88. {msgraph_sdk-1.13.0.dist-info → msgraph_sdk-1.14.0.dist-info}/METADATA +1 -1
  89. {msgraph_sdk-1.13.0.dist-info → msgraph_sdk-1.14.0.dist-info}/RECORD +91 -70
  90. {msgraph_sdk-1.13.0.dist-info → msgraph_sdk-1.14.0.dist-info}/LICENSE +0 -0
  91. {msgraph_sdk-1.13.0.dist-info → msgraph_sdk-1.14.0.dist-info}/WHEEL +0 -0
@@ -6,6 +6,7 @@ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
6
6
 
7
7
  if TYPE_CHECKING:
8
8
  from .conditional_access_applications import ConditionalAccessApplications
9
+ from .conditional_access_authentication_flows import ConditionalAccessAuthenticationFlows
9
10
  from .conditional_access_client_app import ConditionalAccessClientApp
10
11
  from .conditional_access_client_applications import ConditionalAccessClientApplications
11
12
  from .conditional_access_devices import ConditionalAccessDevices
@@ -24,6 +25,8 @@ class ConditionalAccessConditionSet(AdditionalDataHolder, BackedModel, Parsable)
24
25
  additional_data: Dict[str, Any] = field(default_factory=dict)
25
26
  # Applications and user actions included in and excluded from the policy. Required.
26
27
  applications: Optional[ConditionalAccessApplications] = None
28
+ # The authenticationFlows property
29
+ authentication_flows: Optional[ConditionalAccessAuthenticationFlows] = None
27
30
  # Client application types included in the policy. Possible values are: all, browser, mobileAppsAndDesktopClients, exchangeActiveSync, easSupported, other. Required. The easUnsupported enumeration member will be deprecated in favor of exchangeActiveSync which includes EAS supported and unsupported platforms.
28
31
  client_app_types: Optional[List[ConditionalAccessClientApp]] = None
29
32
  # Client applications (service principals and workload identities) included in and excluded from the policy. Either users or clientApplications is required.
@@ -64,6 +67,7 @@ class ConditionalAccessConditionSet(AdditionalDataHolder, BackedModel, Parsable)
64
67
  Returns: Dict[str, Callable[[ParseNode], None]]
65
68
  """
66
69
  from .conditional_access_applications import ConditionalAccessApplications
70
+ from .conditional_access_authentication_flows import ConditionalAccessAuthenticationFlows
67
71
  from .conditional_access_client_app import ConditionalAccessClientApp
68
72
  from .conditional_access_client_applications import ConditionalAccessClientApplications
69
73
  from .conditional_access_devices import ConditionalAccessDevices
@@ -74,6 +78,7 @@ class ConditionalAccessConditionSet(AdditionalDataHolder, BackedModel, Parsable)
74
78
  from .risk_level import RiskLevel
75
79
 
76
80
  from .conditional_access_applications import ConditionalAccessApplications
81
+ from .conditional_access_authentication_flows import ConditionalAccessAuthenticationFlows
77
82
  from .conditional_access_client_app import ConditionalAccessClientApp
78
83
  from .conditional_access_client_applications import ConditionalAccessClientApplications
79
84
  from .conditional_access_devices import ConditionalAccessDevices
@@ -85,6 +90,7 @@ class ConditionalAccessConditionSet(AdditionalDataHolder, BackedModel, Parsable)
85
90
 
86
91
  fields: Dict[str, Callable[[Any], None]] = {
87
92
  "applications": lambda n : setattr(self, 'applications', n.get_object_value(ConditionalAccessApplications)),
93
+ "authenticationFlows": lambda n : setattr(self, 'authentication_flows', n.get_object_value(ConditionalAccessAuthenticationFlows)),
88
94
  "clientAppTypes": lambda n : setattr(self, 'client_app_types', n.get_collection_of_enum_values(ConditionalAccessClientApp)),
89
95
  "clientApplications": lambda n : setattr(self, 'client_applications', n.get_object_value(ConditionalAccessClientApplications)),
90
96
  "devices": lambda n : setattr(self, 'devices', n.get_object_value(ConditionalAccessDevices)),
@@ -108,6 +114,7 @@ class ConditionalAccessConditionSet(AdditionalDataHolder, BackedModel, Parsable)
108
114
  if writer is None:
109
115
  raise TypeError("writer cannot be null.")
110
116
  from .conditional_access_applications import ConditionalAccessApplications
117
+ from .conditional_access_authentication_flows import ConditionalAccessAuthenticationFlows
111
118
  from .conditional_access_client_app import ConditionalAccessClientApp
112
119
  from .conditional_access_client_applications import ConditionalAccessClientApplications
113
120
  from .conditional_access_devices import ConditionalAccessDevices
@@ -118,6 +125,7 @@ class ConditionalAccessConditionSet(AdditionalDataHolder, BackedModel, Parsable)
118
125
  from .risk_level import RiskLevel
119
126
 
120
127
  writer.write_object_value("applications", self.applications)
128
+ writer.write_object_value("authenticationFlows", self.authentication_flows)
121
129
  writer.write_collection_of_enum_values("clientAppTypes", self.client_app_types)
122
130
  writer.write_object_value("clientApplications", self.client_applications)
123
131
  writer.write_object_value("devices", self.devices)
@@ -0,0 +1,8 @@
1
+ from enum import Enum
2
+
3
+ class ConditionalAccessTransferMethods(str, Enum):
4
+ None_ = "none",
5
+ DeviceCodeFlow = "deviceCodeFlow",
6
+ AuthenticationTransfer = "authenticationTransfer",
7
+ UnknownFutureValue = "unknownFutureValue",
8
+
@@ -670,12 +670,14 @@ if TYPE_CHECKING:
670
670
  from .security.intelligence_profile_indicator import IntelligenceProfileIndicator
671
671
  from .security.ip_address import IpAddress
672
672
  from .security.labels_root import LabelsRoot
673
+ from .security.network_adapter import NetworkAdapter
673
674
  from .security.passive_dns_record import PassiveDnsRecord
674
675
  from .security.retention_event import RetentionEvent
675
676
  from .security.retention_event_type import RetentionEventType
676
677
  from .security.retention_label import RetentionLabel
677
678
  from .security.search import Search
678
679
  from .security.security import Security
680
+ from .security.sensor import Sensor
679
681
  from .security.site_source import SiteSource
680
682
  from .security.ssl_certificate import SslCertificate
681
683
  from .security.subcategory_template import SubcategoryTemplate
@@ -3663,6 +3665,10 @@ class Entity(AdditionalDataHolder, BackedModel, Parsable):
3663
3665
  from .security.labels_root import LabelsRoot
3664
3666
 
3665
3667
  return LabelsRoot()
3668
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.security.networkAdapter".casefold():
3669
+ from .security.network_adapter import NetworkAdapter
3670
+
3671
+ return NetworkAdapter()
3666
3672
  if mapping_value and mapping_value.casefold() == "#microsoft.graph.security.passiveDnsRecord".casefold():
3667
3673
  from .security.passive_dns_record import PassiveDnsRecord
3668
3674
 
@@ -3683,6 +3689,10 @@ class Entity(AdditionalDataHolder, BackedModel, Parsable):
3683
3689
  from .security.search import Search
3684
3690
 
3685
3691
  return Search()
3692
+ if mapping_value and mapping_value.casefold() == "#microsoft.graph.security.sensor".casefold():
3693
+ from .security.sensor import Sensor
3694
+
3695
+ return Sensor()
3686
3696
  if mapping_value and mapping_value.casefold() == "#microsoft.graph.security.siteSource".casefold():
3687
3697
  from .security.site_source import SiteSource
3688
3698
 
@@ -5504,12 +5514,14 @@ class Entity(AdditionalDataHolder, BackedModel, Parsable):
5504
5514
  from .security.intelligence_profile_indicator import IntelligenceProfileIndicator
5505
5515
  from .security.ip_address import IpAddress
5506
5516
  from .security.labels_root import LabelsRoot
5517
+ from .security.network_adapter import NetworkAdapter
5507
5518
  from .security.passive_dns_record import PassiveDnsRecord
5508
5519
  from .security.retention_event import RetentionEvent
5509
5520
  from .security.retention_event_type import RetentionEventType
5510
5521
  from .security.retention_label import RetentionLabel
5511
5522
  from .security.search import Search
5512
5523
  from .security.security import Security
5524
+ from .security.sensor import Sensor
5513
5525
  from .security.site_source import SiteSource
5514
5526
  from .security.ssl_certificate import SslCertificate
5515
5527
  from .security.subcategory_template import SubcategoryTemplate
@@ -6463,12 +6475,14 @@ class Entity(AdditionalDataHolder, BackedModel, Parsable):
6463
6475
  from .security.intelligence_profile_indicator import IntelligenceProfileIndicator
6464
6476
  from .security.ip_address import IpAddress
6465
6477
  from .security.labels_root import LabelsRoot
6478
+ from .security.network_adapter import NetworkAdapter
6466
6479
  from .security.passive_dns_record import PassiveDnsRecord
6467
6480
  from .security.retention_event import RetentionEvent
6468
6481
  from .security.retention_event_type import RetentionEventType
6469
6482
  from .security.retention_label import RetentionLabel
6470
6483
  from .security.search import Search
6471
6484
  from .security.security import Security
6485
+ from .security.sensor import Sensor
6472
6486
  from .security.site_source import SiteSource
6473
6487
  from .security.ssl_certificate import SslCertificate
6474
6488
  from .security.subcategory_template import SubcategoryTemplate
@@ -7436,12 +7450,14 @@ class Entity(AdditionalDataHolder, BackedModel, Parsable):
7436
7450
  from .security.intelligence_profile_indicator import IntelligenceProfileIndicator
7437
7451
  from .security.ip_address import IpAddress
7438
7452
  from .security.labels_root import LabelsRoot
7453
+ from .security.network_adapter import NetworkAdapter
7439
7454
  from .security.passive_dns_record import PassiveDnsRecord
7440
7455
  from .security.retention_event import RetentionEvent
7441
7456
  from .security.retention_event_type import RetentionEventType
7442
7457
  from .security.retention_label import RetentionLabel
7443
7458
  from .security.search import Search
7444
7459
  from .security.security import Security
7460
+ from .security.sensor import Sensor
7445
7461
  from .security.site_source import SiteSource
7446
7462
  from .security.ssl_certificate import SslCertificate
7447
7463
  from .security.subcategory_template import SubcategoryTemplate
@@ -7,6 +7,7 @@ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from .app_key_credential_restriction_type import AppKeyCredentialRestrictionType
10
+ from .app_management_restriction_state import AppManagementRestrictionState
10
11
 
11
12
  @dataclass
12
13
  class KeyCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsable):
@@ -23,6 +24,8 @@ class KeyCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsable):
23
24
  restrict_for_apps_created_after_date_time: Optional[datetime.datetime] = None
24
25
  # The type of restriction being applied. Possible values are asymmetricKeyLifetime, and unknownFutureValue. Each value of restrictionType can be used only once per policy.
25
26
  restriction_type: Optional[AppKeyCredentialRestrictionType] = None
27
+ # The state property
28
+ state: Optional[AppManagementRestrictionState] = None
26
29
 
27
30
  @staticmethod
28
31
  def create_from_discriminator_value(parse_node: ParseNode) -> KeyCredentialConfiguration:
@@ -41,14 +44,17 @@ class KeyCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsable):
41
44
  Returns: Dict[str, Callable[[ParseNode], None]]
42
45
  """
43
46
  from .app_key_credential_restriction_type import AppKeyCredentialRestrictionType
47
+ from .app_management_restriction_state import AppManagementRestrictionState
44
48
 
45
49
  from .app_key_credential_restriction_type import AppKeyCredentialRestrictionType
50
+ from .app_management_restriction_state import AppManagementRestrictionState
46
51
 
47
52
  fields: Dict[str, Callable[[Any], None]] = {
48
53
  "maxLifetime": lambda n : setattr(self, 'max_lifetime', n.get_timedelta_value()),
49
54
  "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
50
55
  "restrictForAppsCreatedAfterDateTime": lambda n : setattr(self, 'restrict_for_apps_created_after_date_time', n.get_datetime_value()),
51
56
  "restrictionType": lambda n : setattr(self, 'restriction_type', n.get_enum_value(AppKeyCredentialRestrictionType)),
57
+ "state": lambda n : setattr(self, 'state', n.get_enum_value(AppManagementRestrictionState)),
52
58
  }
53
59
  return fields
54
60
 
@@ -61,11 +67,13 @@ class KeyCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsable):
61
67
  if writer is None:
62
68
  raise TypeError("writer cannot be null.")
63
69
  from .app_key_credential_restriction_type import AppKeyCredentialRestrictionType
70
+ from .app_management_restriction_state import AppManagementRestrictionState
64
71
 
65
72
  writer.write_timedelta_value("maxLifetime", self.max_lifetime)
66
73
  writer.write_str_value("@odata.type", self.odata_type)
67
74
  writer.write_datetime_value("restrictForAppsCreatedAfterDateTime", self.restrict_for_apps_created_after_date_time)
68
75
  writer.write_enum_value("restrictionType", self.restriction_type)
76
+ writer.write_enum_value("state", self.state)
69
77
  writer.write_additional_data_value(self.additional_data)
70
78
 
71
79
 
@@ -7,6 +7,7 @@ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from .app_credential_restriction_type import AppCredentialRestrictionType
10
+ from .app_management_restriction_state import AppManagementRestrictionState
10
11
 
11
12
  @dataclass
12
13
  class PasswordCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsable):
@@ -23,6 +24,8 @@ class PasswordCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsabl
23
24
  restrict_for_apps_created_after_date_time: Optional[datetime.datetime] = None
24
25
  # The type of restriction being applied. The possible values are: passwordAddition, passwordLifetime, symmetricKeyAddition, symmetricKeyLifetime, customPasswordAddition, and unknownFutureValue. Each value of restrictionType can be used only once per policy.
25
26
  restriction_type: Optional[AppCredentialRestrictionType] = None
27
+ # The state property
28
+ state: Optional[AppManagementRestrictionState] = None
26
29
 
27
30
  @staticmethod
28
31
  def create_from_discriminator_value(parse_node: ParseNode) -> PasswordCredentialConfiguration:
@@ -41,14 +44,17 @@ class PasswordCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsabl
41
44
  Returns: Dict[str, Callable[[ParseNode], None]]
42
45
  """
43
46
  from .app_credential_restriction_type import AppCredentialRestrictionType
47
+ from .app_management_restriction_state import AppManagementRestrictionState
44
48
 
45
49
  from .app_credential_restriction_type import AppCredentialRestrictionType
50
+ from .app_management_restriction_state import AppManagementRestrictionState
46
51
 
47
52
  fields: Dict[str, Callable[[Any], None]] = {
48
53
  "maxLifetime": lambda n : setattr(self, 'max_lifetime', n.get_timedelta_value()),
49
54
  "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
50
55
  "restrictForAppsCreatedAfterDateTime": lambda n : setattr(self, 'restrict_for_apps_created_after_date_time', n.get_datetime_value()),
51
56
  "restrictionType": lambda n : setattr(self, 'restriction_type', n.get_enum_value(AppCredentialRestrictionType)),
57
+ "state": lambda n : setattr(self, 'state', n.get_enum_value(AppManagementRestrictionState)),
52
58
  }
53
59
  return fields
54
60
 
@@ -61,11 +67,13 @@ class PasswordCredentialConfiguration(AdditionalDataHolder, BackedModel, Parsabl
61
67
  if writer is None:
62
68
  raise TypeError("writer cannot be null.")
63
69
  from .app_credential_restriction_type import AppCredentialRestrictionType
70
+ from .app_management_restriction_state import AppManagementRestrictionState
64
71
 
65
72
  writer.write_timedelta_value("maxLifetime", self.max_lifetime)
66
73
  writer.write_str_value("@odata.type", self.odata_type)
67
74
  writer.write_datetime_value("restrictForAppsCreatedAfterDateTime", self.restrict_for_apps_created_after_date_time)
68
75
  writer.write_enum_value("restrictionType", self.restriction_type)
76
+ writer.write_enum_value("state", self.state)
69
77
  writer.write_additional_data_value(self.additional_data)
70
78
 
71
79
 
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass, field
3
+ from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
4
+ from kiota_abstractions.store import BackedModel, BackingStore, BackingStoreFactorySingleton
5
+ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
6
+
7
+ @dataclass
8
+ class DeploymentAccessKeyType(AdditionalDataHolder, BackedModel, Parsable):
9
+ # Stores model information.
10
+ backing_store: BackingStore = field(default_factory=BackingStoreFactorySingleton(backing_store_factory=None).backing_store_factory.create_backing_store, repr=False)
11
+
12
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
13
+ additional_data: Dict[str, Any] = field(default_factory=dict)
14
+ # The deployment access key.
15
+ deployment_access_key: Optional[str] = None
16
+ # The OdataType property
17
+ odata_type: Optional[str] = None
18
+
19
+ @staticmethod
20
+ def create_from_discriminator_value(parse_node: ParseNode) -> DeploymentAccessKeyType:
21
+ """
22
+ Creates a new instance of the appropriate class based on discriminator value
23
+ param parse_node: The parse node to use to read the discriminator value and create the object
24
+ Returns: DeploymentAccessKeyType
25
+ """
26
+ if parse_node is None:
27
+ raise TypeError("parse_node cannot be null.")
28
+ return DeploymentAccessKeyType()
29
+
30
+ def get_field_deserializers(self,) -> Dict[str, Callable[[ParseNode], None]]:
31
+ """
32
+ The deserialization information for the current model
33
+ Returns: Dict[str, Callable[[ParseNode], None]]
34
+ """
35
+ fields: Dict[str, Callable[[Any], None]] = {
36
+ "deploymentAccessKey": lambda n : setattr(self, 'deployment_access_key', n.get_str_value()),
37
+ "@odata.type": lambda n : setattr(self, 'odata_type', n.get_str_value()),
38
+ }
39
+ return fields
40
+
41
+ def serialize(self,writer: SerializationWriter) -> None:
42
+ """
43
+ Serializes information the current object
44
+ param writer: Serialization writer to use to serialize this model
45
+ Returns: None
46
+ """
47
+ if writer is None:
48
+ raise TypeError("writer cannot be null.")
49
+ writer.write_str_value("deploymentAccessKey", self.deployment_access_key)
50
+ writer.write_str_value("@odata.type", self.odata_type)
51
+ writer.write_additional_data_value(self.additional_data)
52
+
53
+
@@ -0,0 +1,14 @@
1
+ from enum import Enum
2
+
3
+ class DeploymentStatus(str, Enum):
4
+ UpToDate = "upToDate",
5
+ Outdated = "outdated",
6
+ Updating = "updating",
7
+ UpdateFailed = "updateFailed",
8
+ NotConfigured = "notConfigured",
9
+ Unreachable = "unreachable",
10
+ Disconnected = "disconnected",
11
+ StartFailure = "startFailure",
12
+ Syncing = "syncing",
13
+ UnknownFutureValue = "unknownFutureValue",
14
+
@@ -7,4 +7,10 @@ class EvidenceRemediationStatus(str, Enum):
7
7
  Blocked = "blocked",
8
8
  NotFound = "notFound",
9
9
  UnknownFutureValue = "unknownFutureValue",
10
+ Active = "active",
11
+ PendingApproval = "pendingApproval",
12
+ Declined = "declined",
13
+ Unremediated = "unremediated",
14
+ Running = "running",
15
+ PartiallyRemediated = "partiallyRemediated",
10
16
 
@@ -6,6 +6,7 @@ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
6
6
  if TYPE_CHECKING:
7
7
  from ..entity import Entity
8
8
  from .health_issue import HealthIssue
9
+ from .sensor import Sensor
9
10
 
10
11
  from ..entity import Entity
11
12
 
@@ -15,6 +16,8 @@ class IdentityContainer(Entity, Parsable):
15
16
  health_issues: Optional[List[HealthIssue]] = None
16
17
  # The OdataType property
17
18
  odata_type: Optional[str] = None
19
+ # Represents a customer's Microsoft Defender for Identity sensors.
20
+ sensors: Optional[List[Sensor]] = None
18
21
 
19
22
  @staticmethod
20
23
  def create_from_discriminator_value(parse_node: ParseNode) -> IdentityContainer:
@@ -34,12 +37,15 @@ class IdentityContainer(Entity, Parsable):
34
37
  """
35
38
  from ..entity import Entity
36
39
  from .health_issue import HealthIssue
40
+ from .sensor import Sensor
37
41
 
38
42
  from ..entity import Entity
39
43
  from .health_issue import HealthIssue
44
+ from .sensor import Sensor
40
45
 
41
46
  fields: Dict[str, Callable[[Any], None]] = {
42
47
  "healthIssues": lambda n : setattr(self, 'health_issues', n.get_collection_of_object_values(HealthIssue)),
48
+ "sensors": lambda n : setattr(self, 'sensors', n.get_collection_of_object_values(Sensor)),
43
49
  }
44
50
  super_fields = super().get_field_deserializers()
45
51
  fields.update(super_fields)
@@ -56,7 +62,9 @@ class IdentityContainer(Entity, Parsable):
56
62
  super().serialize(writer)
57
63
  from ..entity import Entity
58
64
  from .health_issue import HealthIssue
65
+ from .sensor import Sensor
59
66
 
60
67
  writer.write_collection_of_object_values("healthIssues", self.health_issues)
68
+ writer.write_collection_of_object_values("sensors", self.sensors)
61
69
 
62
70
 
@@ -0,0 +1,62 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass, field
3
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
4
+ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
5
+
6
+ if TYPE_CHECKING:
7
+ from ..entity import Entity
8
+
9
+ from ..entity import Entity
10
+
11
+ @dataclass
12
+ class NetworkAdapter(Entity, Parsable):
13
+ # Indicates whether the network adapter is selected for capturing and analyzing network traffic.
14
+ is_enabled: Optional[bool] = None
15
+ # The name of the network adapter.
16
+ name: Optional[str] = None
17
+ # The OdataType property
18
+ odata_type: Optional[str] = None
19
+
20
+ @staticmethod
21
+ def create_from_discriminator_value(parse_node: ParseNode) -> NetworkAdapter:
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: NetworkAdapter
26
+ """
27
+ if parse_node is None:
28
+ raise TypeError("parse_node cannot be null.")
29
+ return NetworkAdapter()
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 ..entity import Entity
37
+
38
+ from ..entity import Entity
39
+
40
+ fields: Dict[str, Callable[[Any], None]] = {
41
+ "isEnabled": lambda n : setattr(self, 'is_enabled', n.get_bool_value()),
42
+ "name": lambda n : setattr(self, 'name', n.get_str_value()),
43
+ }
44
+ super_fields = super().get_field_deserializers()
45
+ fields.update(super_fields)
46
+ return fields
47
+
48
+ def serialize(self,writer: SerializationWriter) -> None:
49
+ """
50
+ Serializes information the current object
51
+ param writer: Serialization writer to use to serialize this model
52
+ Returns: None
53
+ """
54
+ if writer is None:
55
+ raise TypeError("writer cannot be null.")
56
+ super().serialize(writer)
57
+ from ..entity import Entity
58
+
59
+ writer.write_bool_value("isEnabled", self.is_enabled)
60
+ writer.write_str_value("name", self.name)
61
+
62
+
@@ -0,0 +1,115 @@
1
+ from __future__ import annotations
2
+ import datetime
3
+ from dataclasses import dataclass, field
4
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
5
+ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
6
+
7
+ if TYPE_CHECKING:
8
+ from ..entity import Entity
9
+ from .deployment_status import DeploymentStatus
10
+ from .health_issue import HealthIssue
11
+ from .sensor_health_status import SensorHealthStatus
12
+ from .sensor_settings import SensorSettings
13
+ from .sensor_type import SensorType
14
+
15
+ from ..entity import Entity
16
+
17
+ @dataclass
18
+ class Sensor(Entity, Parsable):
19
+ # The date and time when the sensor was generated. The Timestamp represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
20
+ created_date_time: Optional[datetime.datetime] = None
21
+ # The deploymentStatus property
22
+ deployment_status: Optional[DeploymentStatus] = None
23
+ # The display name of the sensor.
24
+ display_name: Optional[str] = None
25
+ # The fully qualified domain name of the sensor.
26
+ domain_name: Optional[str] = None
27
+ # Represents potential issues within a customer's Microsoft Defender for Identity configuration that Microsoft Defender for Identity identified related to the sensor.
28
+ health_issues: Optional[List[HealthIssue]] = None
29
+ # The healthStatus property
30
+ health_status: Optional[SensorHealthStatus] = None
31
+ # The OdataType property
32
+ odata_type: Optional[str] = None
33
+ # This field displays the count of health issues related to this sensor.
34
+ open_health_issues_count: Optional[int] = None
35
+ # The sensorType property
36
+ sensor_type: Optional[SensorType] = None
37
+ # The settings property
38
+ settings: Optional[SensorSettings] = None
39
+ # The version of the sensor.
40
+ version: Optional[str] = None
41
+
42
+ @staticmethod
43
+ def create_from_discriminator_value(parse_node: ParseNode) -> Sensor:
44
+ """
45
+ Creates a new instance of the appropriate class based on discriminator value
46
+ param parse_node: The parse node to use to read the discriminator value and create the object
47
+ Returns: Sensor
48
+ """
49
+ if parse_node is None:
50
+ raise TypeError("parse_node cannot be null.")
51
+ return Sensor()
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 ..entity import Entity
59
+ from .deployment_status import DeploymentStatus
60
+ from .health_issue import HealthIssue
61
+ from .sensor_health_status import SensorHealthStatus
62
+ from .sensor_settings import SensorSettings
63
+ from .sensor_type import SensorType
64
+
65
+ from ..entity import Entity
66
+ from .deployment_status import DeploymentStatus
67
+ from .health_issue import HealthIssue
68
+ from .sensor_health_status import SensorHealthStatus
69
+ from .sensor_settings import SensorSettings
70
+ from .sensor_type import SensorType
71
+
72
+ fields: Dict[str, Callable[[Any], None]] = {
73
+ "createdDateTime": lambda n : setattr(self, 'created_date_time', n.get_datetime_value()),
74
+ "deploymentStatus": lambda n : setattr(self, 'deployment_status', n.get_enum_value(DeploymentStatus)),
75
+ "displayName": lambda n : setattr(self, 'display_name', n.get_str_value()),
76
+ "domainName": lambda n : setattr(self, 'domain_name', n.get_str_value()),
77
+ "healthIssues": lambda n : setattr(self, 'health_issues', n.get_collection_of_object_values(HealthIssue)),
78
+ "healthStatus": lambda n : setattr(self, 'health_status', n.get_enum_value(SensorHealthStatus)),
79
+ "openHealthIssuesCount": lambda n : setattr(self, 'open_health_issues_count', n.get_int_value()),
80
+ "sensorType": lambda n : setattr(self, 'sensor_type', n.get_enum_value(SensorType)),
81
+ "settings": lambda n : setattr(self, 'settings', n.get_object_value(SensorSettings)),
82
+ "version": lambda n : setattr(self, 'version', n.get_str_value()),
83
+ }
84
+ super_fields = super().get_field_deserializers()
85
+ fields.update(super_fields)
86
+ return fields
87
+
88
+ def serialize(self,writer: SerializationWriter) -> None:
89
+ """
90
+ Serializes information the current object
91
+ param writer: Serialization writer to use to serialize this model
92
+ Returns: None
93
+ """
94
+ if writer is None:
95
+ raise TypeError("writer cannot be null.")
96
+ super().serialize(writer)
97
+ from ..entity import Entity
98
+ from .deployment_status import DeploymentStatus
99
+ from .health_issue import HealthIssue
100
+ from .sensor_health_status import SensorHealthStatus
101
+ from .sensor_settings import SensorSettings
102
+ from .sensor_type import SensorType
103
+
104
+ writer.write_datetime_value("createdDateTime", self.created_date_time)
105
+ writer.write_enum_value("deploymentStatus", self.deployment_status)
106
+ writer.write_str_value("displayName", self.display_name)
107
+ writer.write_str_value("domainName", self.domain_name)
108
+ writer.write_collection_of_object_values("healthIssues", self.health_issues)
109
+ writer.write_enum_value("healthStatus", self.health_status)
110
+ writer.write_int_value("openHealthIssuesCount", self.open_health_issues_count)
111
+ writer.write_enum_value("sensorType", self.sensor_type)
112
+ writer.write_object_value("settings", self.settings)
113
+ writer.write_str_value("version", self.version)
114
+
115
+
@@ -0,0 +1,60 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass, field
3
+ from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
4
+ from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
5
+
6
+ if TYPE_CHECKING:
7
+ from ..base_collection_pagination_count_response import BaseCollectionPaginationCountResponse
8
+ from .sensor import Sensor
9
+
10
+ from ..base_collection_pagination_count_response import BaseCollectionPaginationCountResponse
11
+
12
+ @dataclass
13
+ class SensorCollectionResponse(BaseCollectionPaginationCountResponse, Parsable):
14
+ # The value property
15
+ value: Optional[List[Sensor]] = None
16
+
17
+ @staticmethod
18
+ def create_from_discriminator_value(parse_node: ParseNode) -> SensorCollectionResponse:
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: SensorCollectionResponse
23
+ """
24
+ if parse_node is None:
25
+ raise TypeError("parse_node cannot be null.")
26
+ return SensorCollectionResponse()
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 ..base_collection_pagination_count_response import BaseCollectionPaginationCountResponse
34
+ from .sensor import Sensor
35
+
36
+ from ..base_collection_pagination_count_response import BaseCollectionPaginationCountResponse
37
+ from .sensor import Sensor
38
+
39
+ fields: Dict[str, Callable[[Any], None]] = {
40
+ "value": lambda n : setattr(self, 'value', n.get_collection_of_object_values(Sensor)),
41
+ }
42
+ super_fields = super().get_field_deserializers()
43
+ fields.update(super_fields)
44
+ return fields
45
+
46
+ def serialize(self,writer: SerializationWriter) -> None:
47
+ """
48
+ Serializes information the current object
49
+ param writer: Serialization writer to use to serialize this model
50
+ Returns: None
51
+ """
52
+ if writer is None:
53
+ raise TypeError("writer cannot be null.")
54
+ super().serialize(writer)
55
+ from ..base_collection_pagination_count_response import BaseCollectionPaginationCountResponse
56
+ from .sensor import Sensor
57
+
58
+ writer.write_collection_of_object_values("value", self.value)
59
+
60
+